При создании программ не обойтись без логических выражений. Они отличаются тем, что результат их вычислений может принимать только одно из двух допустимых значений — 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 |