Операции сравнения
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Ещё один из самых распространённых типов операций - это операции сравнения. Эти операции постоянно используются в программах, потому что программы не только выполняют какие-то вычисления, но и проделывают массу других штучек. В частности, выполняют операции сравнения, то есть сравнивают что-то с чем-то.
Давайте вспомним пример программы из предыдущего урока. там мы создали простой калькулятор, который выполнял три действия над двумя числами: сложение, вычитание и умножение.
Однако я намеренно не включил сюда операцию деления. Как вы думаете, почему? Кто-то, быть может, решит, что причиной является использование целых чисел. Ведь в Паскале они не делятся обычным способом. Но на самом деле причина не в этом.
Я не стал использовать операцию деления, потому что пользователь в качестве делителя может ввести число 0. А на ноль, как известно, делить нельзя. Поэтому программа завершится с ошибкой, и пользователь будет очень недоволен.
Как быть? Напрашивается простое решение - проверить значение второго числа, которое вводит пользователь. И если это число равно нулю, то не выполнять операцию деления.
Как сделать такую проверку программно? Да очень просто - выполнить операцию сравнения. То есть сравнить число с нулём.
В таблице 15.3 приведены операции сравнения, которые допускается использовать в языке Free Pascal.
Оператор | Операция |
= | Равно |
<> | Не равно |
< | Меньше чем |
> | Больше чем |
<= | Меньше или равно |
>= | Больше или равно |
in | Входит в |
Все эти операции сравнения известны вам из школьного курса математики. Только некоторые операторы в Паскале обозначаются немного иначе. Единственный непонятный для вас оператор - это оператор in. Но о нём мы пока забудем. И вспомним, когда будем изучать сложные типы данных.
Остался вопрос
как в программе использовать операторы сравнения?
Более подробно мы будем изучать это в следующих уроках. А сегодня я расскажу вам только об одной языковой конструкции Паскаля
if … then … else
Если вы знаете английский язык, то вы уже должны догадаться, что сие значит. Ну а если нет, то я поясню по-русски. Итак, эта конструкция работает так:
if (если) выполняется условие then (то) выполняем этот код else (иначе) если условие не выполняется выполняем этот код
А теперь попробуем доработать программу из предыдущего урока и добавить в неё операцию целого деления. Добавленный код будет выглядеть так:
if y = 0 then WriteLn('Error: Division by ZERO!!!') else WriteLn('x div y = ', x div y);
Здесь мы сначала проверяем значение переменной у. Если это значение равно нулю, то мы выводим сообщение об ошибке. Иначе, то есть если переменная у имеет любое другое значение (не ноль), мы выполняем операцию целого деления и выводим результат.
Доработайте программу из предыдущего урока. Добавьте в неё операцию целого деления. проверьте работоспособность программы.
В выражении
у = 0
замените оператор = на оператор <>. Посмотрите, что получится, если ввести в качестве второго числа 0. Доработайте программу таким образом, чтобы она правильно работала с выражением
y <> 0
Поэкспериментируйте с другими операторами сравнения.