Паскаль: лексика, вирази, семантика, Детальна інформація
Паскаль: лексика, вирази, семантика
A B A and B A or B not A
false false false false true
false true false true true
true false false true false
true true true true false
Сталі 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 замінити знаком \xF0C5 , то
0 \xF0C5 0 = 1 \xF0C5 1 = 0, 0 \xF0C5 1 = 1 \xF0C5 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.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.
Таким чином, на питання про те, що таке "2*2=5", математик відповів би, що це неправильна рівність, а програміст – що це позначення обчислень.
Результати операцій у процесі обчислення виразу запам'ятовуються для застосування до них подальших операцій. Останнє з обчислених значень також запам'ятовується для використання в програмі. Проміжні значення запам'ятовуються, як правило, в регістрах процесора, оскільки робота з ними відбувається набагато швидше, ніж робота з оперативною пам'яттю.
Як використовуються вирази? Їх значення можна іменувати, присвоювати змінним, виводити "у зовнішній світ" або використовувати для прийняття рішень про те, що робити далі при виконанні програми. Всі ці незрозумілі слова ми почнемо пояснювати, починаючи з пункту 2.2.5.
false false false false true
false true false true true
true false false true false
true true true true false
Сталі 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 замінити знаком \xF0C5 , то
0 \xF0C5 0 = 1 \xF0C5 1 = 0, 0 \xF0C5 1 = 1 \xF0C5 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.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.
Таким чином, на питання про те, що таке "2*2=5", математик відповів би, що це неправильна рівність, а програміст – що це позначення обчислень.
Результати операцій у процесі обчислення виразу запам'ятовуються для застосування до них подальших операцій. Останнє з обчислених значень також запам'ятовується для використання в програмі. Проміжні значення запам'ятовуються, як правило, в регістрах процесора, оскільки робота з ними відбувається набагато швидше, ніж робота з оперативною пам'яттю.
Як використовуються вирази? Їх значення можна іменувати, присвоювати змінним, виводити "у зовнішній світ" або використовувати для прийняття рішень про те, що робити далі при виконанні програми. Всі ці незрозумілі слова ми почнемо пояснювати, починаючи з пункту 2.2.5.
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021