Приоритеты операций сравнения и булевих операций

Простые логические выражения, из которых составляются сложные, всегда берутся в скобки.

ЛОГИЧЕСКИЙ ТИП. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

 

Для хранения результатов логических выражений существует тип данных 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.

Группа булевих операций имеет приоритет более высокий чем группа сравнения.

Изменить порядок вычисления можно с помощью круглых скобок.