Над данными типа Real, Integer, Char определены следующие операции отношения (сравнения):
§ = - равно;
§ <> - не равно;
§ < - меньше;
§ > - больше;
§ <= - меньше или равно;
§ >= - больше или равно.
В операциях сравнения должны участвовать однотипные операнды, за исключением типов Real и Integer, которые могут сравниваться друг с другом. Результат применения операции отношения к любым операндам имеет тип Boolean.
В языке Паскаль определены следующие логические операции:
§ not – логическое НЕ;
§ or – логическое ИЛИ;
§ and – логическое И;
§ xor – исключающее ИЛИ
Логические операции применимы к операндам целого и логического типов. Если операнды – целые числа, то результат логической операции есть тоже целое число. Логические операции над логическими данными дают результат логического типа.
Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора. Структура условного оператора имеет следующий вид:
if <условие> then <оператор1> else <оператор2>;
где <условие> - произвольное выражение логического типа; <оператор1>, <оператор2> - любые операторы языка Паскаль.
Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть False (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>.
Кроме того, возможно использование неполной формы условного оператора:
if <условие> then <оператор>;
Каждая ветвь условного оператора содержит только по одному оператору. Поэтому, если необходимо выполнять более чем одно действие, следует пользоваться составным оператором.
Составной оператор предусматривает выполнение входящих в него операторов-компонент в порядке их написания. Служебные слова begin и end выступают в качестве операторных скобок. Язык Паскаль не накладывает никаких ограничений на характер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы – допускается произвольная глубина их вложенности. Раздел операторов программы есть один составной оператор.
Поскольку зарезервированное слово end является закрывающей операторной скобкой, оно одновременно указывает и конец предыдущего оператора, поэтому ставить перед ним символ «;» не обязательно. Наличие точки с запятой перед end означает, что между последним оператором и операторной скобкой end располагается пустой оператор. Пустой оператор не содержит никаких действий.
Примечание При хорошем стиле написания программ рекомендуется выделять отступами тела составных и условных операторов. Благодаря ступенчатой записи, легко прослеживается структура алгоритма в программе. Не рекомендуется размещать более одного оператора на каждой строке.