Умовні вирази в Паскаль

В мові Pascal присутній ряд операцій для роботи з логічним типом даних – boolean.

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

Операції порівняння

Порівняння – це прості умовні вирази, які порівнюють два значення та повертають True або False.

Free Pascal підтримує такі операції порівняння:

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

Повертає True, якщо порівнювані об’єкти рівні, в іншому випадку повертає False.

Не рівно <>

Повертає True, якщо порівнювані об’єкти не рівні, в іншому випадку повертає False.

Більше >

Повертає True, якщо перше значення більше за друге, інакше – False.

Більше рівне >=

Повертає True, якщо перше значення більше рівне другому, інакше – False.

Менше <

Повертає True, якщо перше значення менше за друге, інакше – False.

Менше рівно <=

Повертає True, якщо перше значення менше чи рівне другому, інакше – False.

Приклад програми з операціями порівняння:

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
0 0 0
0 1 0
1 0 0
1 1 1

Де 0 – False, 1 – True

Логічне додавання or (дизюнкція)

Перший операнд Другий операнд Результат операції or
0 0 0
0 1 1
1 0 1
1 1 1

Виключне або xor (строга дизюнкція)

Перший операнд Другий операнд Результат операції xor
0 0 1
0 1 0
1 0 0
1 1 1

Логічні операції застосовуються не тільки до значень типу 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. В кінці виконуються оператори поріняння: <, >, <=, >=, =, <>.

Дивіться також: