Лексика мови Паскаль та загальний вигляд програми
true truetruetruefalse
Сталі false і true позначають бульові значення "хибність" і "істина". До них застосовні операції "та", "або", "не", що називаються відповідно бульовим множенням (кон'юнкцією), бульовим додаванням (диз'юнкцією) і запереченням. В мові Паскаль вони позначаються знаками and, or і not. Результати застосування цих операцій до бульових значень подано в табл.2.1.
Крім бульових операцій, означено операцію "порядковий номер" ord: ord(false)=0, ord(true)=1. Порядковим номерам бульових значень відповідає результат їх порівняння: false < true. Очевидним чином означено й інші операції порівняння: =, <>, >, <=, >=.
У діалекті Турбо Паскаль додатково означено корисну операцію "виключне або", знак якої xor:
false xor false = true xor true = false,
false xor true = true xor false = true.
Її ще називають "додавання за модулем 2" – якщо подати false і true числовими значеннями 0 і 1 відповідно, а знак xor замінити знаком , то0 0 = 1 1 = 0, 0 1 = 1 0 = 1.
Отже, ми означили тип, що називається бульовим і позначається ім'ям Boolean на честь видатного англійського математика й логіка Джорджа Буля, засновника математичної логіки.
Задачі
2.2.* Виразити операцію xor через інші бульові операції.
2.3.* Указати значення, що утворюються в результаті застосування операцій:
а) (2*2=4) and true; б) (2*2=4) or false;
в) (not true) or false; г) (ord(true)=1) xor (ord(false)=0).
2.2.4. Вирази: процес обчислення та значення
Ціла або бульова стала є виразом. Складніший вираз утворюється з простішого або простіших як
1.вираз у дужках;
2.два вирази й знак бінарної операції між ними;
3.вираз із знаком унарної операції перед ним;
4.виклик функції з виразом у дужках.
Ось приклади виразів: ((1)), true and false, 1-(2+3), (1-2)+3, (1+2)<>3, -(5+3), odd(2), ord(odd(15)).
Те значення, до якого застосовується операція, називається її операндом. Операнди позначаються виразами. Найпростішими з них є сталі. Вираз задає застосування операцій до операндів – значень простіших виразів. Послідовність виконання цих операцій утворює процес обчислення значення виразу.
Як бачимо, вираз має подвійний зміст, або семантику: З одного боку, він задає процес обчислення, а з іншого – він має значення. Наприклад, вираз 2*2=4 задає процес, у якому обчислюється добуток 2*2 і порівнюються два цілі значення 4 і 4, в результаті чого одержується значення true.