Переменные булева типа (Boolean) принимают значение true (ИСТИНА) или false (Ложь). Эти величины упорядочены таким образом, что false < true.
Описываются они в разделе описания переменных.
var
flag : boolean;
Логическим (булевым) выражением называется выражение, имеющее значение типа Boolean
Операции логического выражение связаны между собой знаками логических операций или операциями отношения.
Операции отношения:
- < - меньше
- <= - меньше или равно
- = - равно
- > - больше
- >= - больше или равно
- <> - не равно
Логические операции:
- and - логическое умножение (И)
- or - логическое сложение (ИЛИ)
- not - логическое отрицание (НЕ)
- xor - исключающее или
Примеры
- 5 > 2 - true
- 7 <= 0 - false
- (5 > 2) and (7 <= 0) - false
- (5 > 2) or (7 <=0 ) - true
Операции отношения применимы к операндам любого простого типа.
Логические операции допустимы только по отношению к операндам (константам, переменным, функциям) логического типа. Их действие иллюстрируется следующей таблицей
x | y | not x | x and y | x or y | x xor y |
false | false | true | false | false | false | false | true | true | false | true | true |
true | false | false | false | true | true |
true | true | false | true | true | false |
Операция not (НЕ) имеет один операнд и образует его логическое отрицание. Результат операции not есть False, если операнд истинен, и True, если операнд имеет значение ложь.
Результат операции and (И) есть истина, только если оба ее операнда истинны, и ложь во всех других случаях.
Результат операции or (ИЛИ) есть истина, если какой-либо из ее операндов истинен, и ложен только тогда, когда оба операнда ложны.
Если логические операции и отношения встречаются в одном логическом выражении, то отношения имеют меньший приоритет, поэтому их необходимо заключать в скобки, например условие x∈[a,b], x∈[c,d] можно представить как
(x >= a) and (x <= b) or (x >= c) and (x <=d)
Приоритет операций при вычислении значения логического выражения следующий:
- выражения в скобках
- логическое отрицание not
- логическое умножение and
- логическое сложение or, исключающее или xor
- операции отношения
Пример
(-3 >= 5) or not (7 < 9) and (0 <= 3)
Порядок в этом примере следующий:
- (-3 >= 5)
- (7 < 9)
- (0 <= 3)
- not (7 < 9)
- not (7 < 9) and (0 <= 3)
- (-3>=5) or not (7<9) and (0<=3)
Пример программы
Даны три числа a, b и c. Вычислить и вывести на экран дисплея значение z, равное квадрату большего из них.
Проектирование схемы алгоритма и построение решения задачи по технолигии структурного программирования показано на рисунке.
Программа реализации алгоритма
program square_maximal;
var
a, b, c, s: real;
Function max (a,b,c: real): real;
var
z:real;
begin
if a > b then
z := b
else
z := b;
if c > z then
z := c;
max:=z
end;
begin
read(a, b, c);
s := max(a, b, c) * max(a, b, c);
write(s:5:1);
end.
В этом примере использовалась подпрограмма. Подпрограммы мы рассмотрим в следующих статьях.