7.1.4 Булева алгебра
Логические операторы основаны на принципах булевой алгебры (логики высказываний), краткий обзор которых приводится в данном разделе.
Оператор И (конъюнкция)
Выражение 1 |
Выражение 2 |
Результат |
и |
и |
и |
и |
л |
л |
л |
и |
л |
л |
л |
л |
Легенда: и = истина (true); л = ложь (false)
При конъюнкции все участвующие выражения (отношения) должны быть истинными, чтобы общий результат также являлся истинным. Примеры:
Выражение |
Истинность |
(3<7) AND (8>5) |
и |
(12=8) AND (4=4) |
л |
(3<=5) AND (4>=1) |
и |
(8=4) AND (7=3) |
л |
Оператор ИЛИ (дизъюнкция)
Выражение 1 |
Выражение 2 |
Результат |
и |
и |
и |
и |
л |
и |
л |
и |
и |
л |
л |
л |
При дизъюнкции хотя бы одно из участвующих отношений должно быть истинным, чтобы общий результат также был истинным. Примеры:
Выражение |
Истинность |
(3<5) OR (47+1 0<10) |
и |
(3=8) OR (7>5) |
и |
(4:7=2) OR (8*4=21) |
л |
(42=16) OR (23=3) |
и |
Логическое НЕ (отрицание)
Выражение |
Результат |
и |
л |
л |
и |
Отрицание меняет истинность выражения на противоположную. Примеры:
Выражение |
Истинность |
NOT [(3<5) AND (4>5)] |
и |
NOT [(4<5) AND (8<12)] |
л |
При отрицании следует учитывать эквивалентность операторов:
отрицаемый оператор |
эквивалентный оператор |
< |
>- |
> |
< = |
<= |
> |
> = |
< |
В заключение приведем пример более сложного логического выражения: [(NOT A) AND (NOT В)] OR С
Согласно правилам приоритета скобки здесь не нужны. Мы поместили их только для повышения наглядности. Истинность выражения можно определить при помощи следующей таблицы:
А |
И |
С |
NOT A |
NОТ В |
(NОT A) AND (NОT В) |
OR С |
и |
и |
и |
л |
л |
л |
и |
и |
и |
л |
л |
л |
л |
л |
и |
л |
и |
л |
и |
л |
и |
и |
л |
л |
л |
л |
л |
л |
л |
и |
и |
и |
л |
л |
и |
л |
и |
л |
и |
л |
л |
л |
л |
л |
и |
и |
и |
и |
и |
л |
л |
л |
и |
и |
и |
и |
Для более сложных выражений также следует составлять подобные таблицы.
Если все эти элементы логики высказываний кажутся вам слишком математизированными или абстрактными, вполне можно ориентироваться по разговорному употреблению союза "и". Высказывание: "Я был в кино и видел интересный фильм", истинно тогда и только тогда, когда истинны обе его части. Если, несмотря на то, что вы ходили в кино, но на сеансе заснули от скуки, это выражение не будет истинным. Также оно не будет истинным, если вы смотрели интересный фильм по телевизору. И, конечно же, оно будет совершенно ложным (хотя здесь нас не интересует степень ложности), если вы и не были в кино, и не смотрели там интересный фильм.
Иначе обстоит дело при разговорном применении союза "или", которое в основном означает исключающее "или", когда, например, дети хотят получить на Рождество или компьютер, или велосипед.