Логический тип данных часто называют булевским по имени английского математика Д. Буля, создателя особой области математики — математической логики.
В языке ПАСКАЛЬ имеются две логические константы:
TRUE (истина) и FALSE (ложь). Логическая переменная принимает одно из этих значений и имеет тип BOOLEAN.
Логические данные широко используются при проверке правильности некоторых условий и при сравнении величин. Результат может оказаться «истинным» или «ложным».
Для сравнения данных предусмотрены следующие операции отношений: < (меньше); <= (меньше или равно); = (равно); <> (не равно); >= (больше или равно); > (больше).
Если операцию отношения приложить к арифметическим данным, то получим логическое значение: отношение истинно или ложно. Например, отношение 5> 3 (читается «пять больше трех?») дает истинный результат (TRUE); отношение 5=3 (читается «пять равно трем?») ложный результат (FALSE).
Над логическими данными допускаются следующие операции: OR—логическое сложение (ИЛИ); AND— логическое умножение (И); NOT—логическое отрицание (НЕ). Логические операции OR и AND выполняются над двумя величинами, а операция NOT—над одной.
Логическое сложение дает истинный результат, если хотя бы одна из логических величин (А или В) имеет истинное значение. Если обе величины (А и В) имеют ложное значение, то и результат операции будет ложным.
Логическое умножение дает истинный результат только в том случае, если обе величины истинны. Если хотя бы одна величина ложна, то результат также будет ложным.
Логическое отрицание дает ложный результат, если величина имеет истинное значение, и наоборот.
Логический тип определяется таким образом, что FALSE < TRUE.
Результаты операций над логическими данными сведены в табл. 2.1.
Таблица 2.1
А | В | NOT A | A OR В | A AND B |
TRUE | TRUE | FALSE | TRUE | TRUE |
TRUE | FALSE | FALSE | TRUE | FALSE |
FALSE | TRUE | TRUE | TRUE | FALSE |
FALSE | FALSE | TRUE | FALSE | FALSE |
Например, результат операции (с > 10) or (d < 3) будет истинным:
а) при С=12 и D=2;
б) при С=12 и D=5;
в) при 0=8 и D=2;
будет ложным при 0=8 и D=5.
Результат операции
(С > 10) and (D < 3)
будет истинным при 0=12 и D=2; будет ложным:
а) при 0=12 и D=5;
б) при 0=8 и D=5;
в) при 0=8 и D=2.
Логические данные и операции над ними имеют важное значение в информатике, так как позволяют внести в расчеты элементы человеческой логики. При этом в теоретических расчетах в отличие от языка ПАСКАЛЬ часто вводят следующие обозначения логических констант:
1 - истина, 0 - ложь.