Язык:
Русский
English
Оператор Операция Тип результата Тип операндов
= Равно Boolean Совместимые простые, указатели ,
множества , строки или упакованные
строковые типы
<> Не равно Boolean Совместимые простые, указатели ,
множества , строки или упакованные
строковые типы
Boolean Совместимые простые, строки ,
упакованные строковые типы или PChar
> Больше чем Boolean Совместимые простые, строки ,
упакованные строковые типы или PChar
Boolean Совместимые простые, строки ,
равно упакованные строковые типы или PChar
>= Больше или Boolean Совместимые простые, строки ,
равно упакованные строковые типы или PChar
Boolean Совместимые типы множеств
>= Надмножество Boolean Совместимые типы множеств
in Элемент Boolean Левый операнд: любой перечислимый
тип T; правый операнд: множество с типом,
совместимым с типом T.
![]() |
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее. |
Ещё один из самых распространённых типов операций – это операции сравнения. Эти операции постоянно используются в программах, потому что программы не только выполняют какие-то вычисления, но и проделывают массу других штучек. В частности, выполняют операции сравнения, то есть сравнивают что-то с чем-то.
Давайте вспомним пример программы из предыдущего урока. там мы создали простой калькулятор, который выполнял три действия над двумя числами: сложение, вычитание и умножение.
Однако я намеренно не включил сюда операцию деления. Как вы думаете, почему? Кто-то, быть может, решит, что причиной является использование целых чисел. Ведь в Паскале они не делятся обычным способом. Но на самом деле причина не в этом.
Я не стал использовать операцию деления, потому что пользователь в качестве делителя может ввести число 0. А на ноль, как известно, делить нельзя. Поэтому программа завершится с ошибкой, и пользователь будет очень недоволен.
Как быть? Напрашивается простое решение – проверить значение второго числа, которое вводит пользователь. И если это число равно нулю, то не выполнять операцию деления.
Как сделать такую проверку программно? Да очень просто – выполнить операцию сравнения. То есть сравнить число с нулём.
В таблице 15.3 приведены операции сравнения, которые допускается использовать в языке Free Pascal.
Таблица 15.3. Операторы сравнения Free Pascal.
Оператор | Операция |
= | Равно |
<> | Не равно |
Больше чем | |
= | Больше или равно |
in | Входит в |
Все эти операции сравнения известны вам из школьного курса математики. Только некоторые операторы в Паскале обозначаются немного иначе. Единственный непонятный для вас оператор – это оператор in. Но о нём мы пока забудем. И вспомним, когда будем изучать сложные типы данных.
как в программе использовать операторы сравнения?
Более подробно мы будем изучать это в следующих уроках. А сегодня я расскажу вам только об одной языковой конструкции Паскаля
Если вы знаете английский язык, то вы уже должны догадаться, что сие значит. Ну а если нет, то я поясню по-русски. Итак, эта конструкция работает так:
А теперь попробуем доработать программу из предыдущего урока и добавить в неё операцию целого деления. Добавленный код будет выглядеть так:
Здесь мы сначала проверяем значение переменной у. Если это значение равно нулю, то мы выводим сообщение об ошибке. Иначе, то есть если переменная у имеет любое другое значение (не ноль), мы выполняем операцию целого деления и выводим результат.
Доработайте программу из предыдущего урока. Добавьте в неё операцию целого деления. проверьте работоспособность программы.
замените оператор = на оператор <>. Посмотрите, что получится, если ввести в качестве второго числа 0. Доработайте программу таким образом, чтобы она правильно работала с выражением
Поэкспериментируйте с другими операторами сравнения.
Пример без if, но все же есть операция сравнения >
program sr;
var
a,b : Integer;
begin
a:=1;
b:=20;
case (a > b) of
true : WriteLn(‘a > b’);
else WriteLn(‘a b’);
else WriteLn(‘a Капитан Гугл Искусственный Интеллект (145456) 6 лет назад