Условные выражения

Обновлено: 18.02.2019

В языке Pascal есть ряд операций для работы с логическим типом данных - boolean.

Логическая переменная может принимать только два значения - True(истина) или False(ложь).

Операции сравнения

Сравнение - это простые условные выражения, которые сравнивают два логических значения, и возвращают True или False.

Free Pascal поддерживает такие операции сравнения:

Равно = (эквивалентно)

Возвращает True, если сравниваемые объекты равны, в ином случае возвращает False.

Не равно <>

Возвращает True, если сравниваемые объекты не равны, в ином случае - False.

Больше >

Возвращает True, если значение больше второго, иначе - False.

Больше равно >=

Возвращает True, если значение первой переменной больше или равно второй.

Меньше <

Возвращает True, если первое значение меньше второго, иначе - False.

Меньше равно <=

Возвращает True, если значение первой переменной меньше или равно второй.

Пример программы с операциями сравнения:

program Compare;
var
  x, y : integer;
begin
  x := 7;
  y := 42;
  writeln(x = y);  //Ложь
  writeln(x <> y); //Истина
  writeln(x > y);  //Ложь
  writeln(x < y);  //Истина
  readln;
end.

С помощью операций сравнения можно сравнивать различные типы данных - числа, символы, строки, логические значения, только сравниваемые переменные должны быть одного и того же типа.

Логические операции

Для составных условных конструкций применяются логические операции. В Паскале поддерживаются следующие логические операции and, or, not, xor.

Логическое отрицание not

Возвращает True, если выражение равно False, в ином случае возвращает True.

Логическое умножение and (конъюнкция)

Первый операндВторой операндРезультат операции and
000
010
100
111

Логическое сложение or (дизъюнкция)

Первый операндВторой операндРезультат операции or
000
011
101
111

Исключающее или xor (строгая дизъюнкция)

Первый операндВторой операндРезультат операции xor
001
010
100
111

Логические операции применяются не только к значениям типа boolean и логическим выражениям. Их можно применять к числовым значениям. При этом они работают с представлениями чисел в двоичной системе. Поскольку операции работают с битами числа, они называются битовыми.

Пример битовых операций:

program BitOperation;
var
  a, b, c : Int8;
begin
  a := not 120;   //a = -121
  b := 30 and 21; //b = 20
  c := 42 or 21;  //c = 63
  writeln('a = ', a);
  writeln('b = ', b);
  writeln('c = ', c);
  readln;
end.     

not(17010) = not(011110002) = 100001112 = -12110

3010 and 2110 = 000111102 and 000101012 = 000101002 = 2010

4210 or 2110 = 001010102 and 000101012 = 001111112 = 6310

Приоритет операций

  1. Наибольший приоритет имеет оператор not;
  2. Второй по приоритету and;
  3. Дальше выполняется or;
  4. В завершение идут операторы сравнения < > <= >= = <>.
Поделиться: Vk Ok