Приоритеты операций сравнения и булевих операций
Простые логические выражения, из которых составляются сложные, всегда берутся в скобки.
ЛОГИЧЕСКИЙ ТИП. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
Для хранения результатов логических выражений существует тип данных Boolean (булев).
Логический тип (boolean) имеет лишь два значения: true (1 – истинно) и false (0 – ложно).
Слова false и true – это логические константы языка.
В программах возможно вводить константы и переменные этого типа. Например:
const b = true;
var c : boolean;
Логическое выражение – это способ записи на языке программирования условий для поиска необходимых данных.
Простое логическое выражение –это два операнда, которые объединены операцией сравнения (операцией отношения).
Операции сравнения:
> (больше), < (меньше), = (равно), <> (не равно),
>= (больше или равно или не меньше ), <= (меньше или равно или не больше).
Например:
Пусть х = 3, y = –9.
Простые логические выражения:
х = 3 ® true (истинно); х < y®?;
х+1<y ® false (ложно[В1] ).
Сложное логическое выражение – это логическое выражение, которое записано с помощью булевих операций.
Булевы операции:
not – логическое отрицание («логическое НЕ»),
and – логическое умножение («логическое И»),
or – логическое сложение («логическое ИЛИ»),
xor – сложение по модулю 2 («исключающее ИЛИ»).
Слова not, and, or и xor, что обозначают булевы операции, являются зарезервированными словами.
Таблица истинности
A | B | not A | A and В | A or B | A xor B | ||||||
НЕ | И | * | ИЛИ | + | исключаю щее ИЛИ | ||||||
true | true | false | true | true | false | ||||||
true | false | false | false | true | true | ||||||
false | true | true | false | true | true | ||||||
false | false | true | false | false | false |
Операция отрицания всегда дает противоположное исходному значению.
Операция И дает в результате истинное значение только в том случае, когда оба связанные ею операнда истинны.
Операция ИЛИ дает в результате истинное значение, если хотя бы один из операндов есть истинным.
Исключающее ИЛИ дает в результате истинное значение, если только один из операндов является истинным.
Например:
Пусть х = 3, у = –9. Сложные логические выражения:
not (y<= –50) ® not false ® true
Двойное неравенство 1<х<5 записывают как сложное логическое выражение:
(1 < x) and (x <5), если x=3, то (1 < x) = true, (x <5)= true, true and true = true
Пусть есть сложное логическое выражение:
(x > 4) or (y >-15), если x=3, y= -9, то (x > 4) = false,
(y >-15)= true,
false or true = true
Все операции сравнения имеют равный приоритет и выполняются слева направо.
У булевых операций высочайший приоритет имеет not, за ним идет and, потом or и xor.
Группа булевих операций имеет приоритет более высокий чем группа сравнения.
Изменить порядок вычисления можно с помощью круглых скобок.