В языке Паскаль имеются две логические константы: 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.