Логические величины

В языке определен логический тип boolean, который содержит только два значения: истина (TRUE) и ложь(FALSE). Эти константы определены таким образом, что false < true, поскольку false = 0, true = 1.

 

При решении задач очень часто возникает необходимость составлять логические выражения, результатом которых являются значения типа boolean. Например, при сравнении числовых (символьных, строковых, логических) переменных получается логический результат TRUE или FALSE.
При выводе на экран переменной логического типа будет напечатано TRUE или FALSE.

 

При построении логических выражений используются:
  • операции отношения: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), = (равно), <> (не равно),
  • логические операции: AND (логическое умножение), OR (логическое сложение), XOR (исключающее ИЛИ, другое название – сложение по модулю 2), NOT (отрицание).
Отметим, что операция NOT применяется к одному операнду (унарная операция), все остальные логические операции применяются к двум операндам (бинарные операции).

 

Приведем таблицы истинности для этих операций.

 

  X

   Y

        X AND Y         X OR Y          X XOR Y
false

false

   false

   false

false

false

true

   false

   true

true

true

false

   false

   true

true

true

true

   true

   true

false

 

 

   X

NOT X 

false

true

true

false

 

Операция AND дает логический результат истина (true), когда оба операнда истины.
Операция OR дает логический результат истина, когда хотя бы один из операндов есть истина.
Операция XOR дает логический результат истина, когда операнды различны.

 

Логический результат дает стандартная функция ODD(x), которая применяется к целочисленному аргументу x:
odd(x) = true, если х нечетное число
odd(x) = false, если x четное число.

 

В логических выражениях могут встречаться как арифметические операции, так и логические.

Например

a + b > 100 (сумма чисел a и b больше 100)

a mod 2 = 0 (число a четное)


Порядок выполнения операций определяется их приоритетом.
1. not
2. *, /, div, mod, and
3. +, -, or, xor
4. >, <, >=, <=, =, <>

Как видно из таблицы приоритетов, самый высокий приоритет у операции not, а самый низкий - у операций отношения. Операции с одинаковым приоритетом выполняются по порядку слева направо. Для изменения порядка выполнения операции используют круглые скобки.

 

Приведем примеры построения логических выражений, соответствующих приведенным ниже высказываниям.
1. x ∈ [a,b]

(x >= a) and (x <= b) 

2. x ∉ [a,b]

(x < a) or (x > b) или not((x >= a) and (x <= b))

3. числа а и b положительны

(a > 0) and (b > 0)

4. числа a и b имеют разные знаки

(a * b  < 0)

5. квадратное уравнение, заданное коэффициентами a, b, c, 
    не имеет вещественных корней

(b * b – 4 * a * c < 0)

6. запись x ∈ [a, b] без использования логических операций 

((b - x) * (a - x) < 0)

 


 

Адрес: 614039, г. Пермь, ул. Комсомольский проспект, 45
Телефон: +7 (342) 212-80-71
E-Mail: school9-perm@ya.ru
Вопрос администратору сайта