Pascal. Логический тип (BOOLEAN)

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