Логические выражения

При создании программ не обойтись без логических выражений. Они отличаются тем, что результат их вычислений может принимать только одно из двух допустимых значений — true (истина, да, включено) и false (ложь, нет, выключено). Чаще всего значение false ассоциируется с нулем, а значение true — с числом 1 или просто ненулевым значением.

При записи логических выражений используются операции сравнения и логические операции. Операции сравнения сличают значения правого и левого операндов. Результатом сравнения является true, если оно удачно, и false в противном случае.

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

Операция Варианты написания
Бейсик, Паскаль Си++
Равно = ==
Не равно <> !=
Меньше < <
Меньше или равно <= <=
Больше > >
Больше или равно >= >=

Pi == 3.14

х > 0 al <> b1

В одном выражении может потребоваться проверка нескольких подобных условий. Например, надо определить, больше ли значение переменной X чем 0 и меньше ли чем 10. Условия могут быть связаны с помощью логических операций, наиболее активно используемые из которых — это И и ИЛИ. В компьютерной графике также часто применяется так называемое исключающее ИЛИ и операция отрицания НЕ. Для нее требуется только один операнд, указывающийся справа от знака операции. Эта операция просто меняет значение своего операнда на противоположное.

1 операнд 2 операнд И ИЛИ исключающее ИЛИ HE (только первый операнд)
true true true true false false
true false false true true false
false true false true true true
false false false false false true

В следующей таблице приведен синтаксис записи логических операций.

Логическая операция Бейсик Паскаль Си++
И AND and &&
ИЛИ OR or II
НЕ NOT not !

Приоритеты всех логических операций ниже, чем приоритеты операций сравнения, поэтому сравнения всегда выполняются первыми. А логические операции вычисляются в следующем порядке: сначала НЕ, потом И, потом ИЛИ. При необходимости этот порядок может быть изменен с помощью скобок.

Примеры логических выражений:

x1 >= 1 && x1 <= 10

(R > 3.14) and (R < 3.149)

(Value < Oldvalue) OR (Value <> 0)

Логический тип

Бейсик Паскаль Си++
Базового типа нет. Используется числовой тип INTEGER boolean bool

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: