В языке Паскаль имеются две логические константы: TRUE(истина) и FALSE(ложь). Логическая переменная может принять любое из этих значений и имеет тип boolean. Логические данные широко используются при проверке правильности некоторых условий и при сравнении величин. Результат может оказаться “истинным” или “ложным”. Над логическими данными допускаются следующие операции:
Булевские операции:
Оператор |
Операция |
Тип операндов |
Тип результата |
not |
отрицание |
Boolean |
Boolean |
and |
логическое И |
Boolean |
Boolean |
or |
логическое ИЛИ |
Boolean |
Boolean |
xor |
логическое исключающее ИЛИ |
Boolean |
Boolean |
Результаты операций над логическими данными сведены в таблицу:
A |
B |
NOT (A) |
(A) OR (B) |
(A) AND (B) |
T |
T |
F |
T |
T |
T |
F |
F |
T |
F |
F |
T |
T |
T |
F |
F |
F |
T |
F |
F |
Из данных булевского типа, операций сравнения и булевских операций строятся логические выражения, имеющие значения типа boolean. Например: (c>10) or (d<3) имеет истинный результат при c=12 и d=2, а ложный при c=8 и d=5.
При вычислении значений булевских выражений необходимо учитывать порядок выполнения булевских операций. Наивысший приоритет имеет операция NOT, затем операция AND и затем операция OR. Операции сравнения имеют самый низкий приоритет.
Переменные булевского типа описываются в разделе описания перемененных с помощью стандартного идентификатора BOOLEAN.
Пример: a, l1, f: boolean;.
В языке Паскаль существуют функции, которые принимают тип boolean:
1. ODD(A) - значение истинно, когда А - не четное число.
2. EOLN - значение истинно, если конец строки текстового файла.
3. EOF - значение истинно, если конец текстового файла.
Пример программы:
program primer; var a,b,c:integer; s:boolean; begin writeln(‘введите три целых числа’); readln(a,b,c); s:=(a>b) and (c<43); write(s); end.
В результате выполнения программы переменной s присвоится значение TRUE или FALSE, в зависимости от того было ли логическое выражение ложным или истинным, и значение переменной s выведется на экран, т.е. на экране появится TRUE или FALSE.