Приоритет логических операций
Приоритет логических операций — это установленный порядок их выполнения в выражении. Обычно сначала выполняют НЕ, затем И, затем ИЛИ; скобки могут изменить этот порядок.
Порядок выполнения
- Сначала вычисляют выражения в скобках. Подробно о них — на странице скобки в логических выражениях.
- Затем выполняют НЕ — отрицание одного значения.
- После этого выполняют И — результат истинен, только если истинны оба операнда.
- Затем выполняют ИЛИ — результат истинен, если истинно хотя бы одно из выражений.
- Другие связки, например импликация, эквивалентность и исключающее ИЛИ, нужно вычислять по правилам, принятым в конкретной записи или языке; при сомнении ставят скобки.
Здесь НЕ имеет наивысший приоритет, И выполняется раньше ИЛИ. Поэтому выражение читается не как \(\neg(A\land(B\lor C))\), а как \(((\neg A)\land B)\lor C\). Названия операций и их смысл рассматриваются на странице логическая связка.
Вычислим \(\neg A\lor B\land C\) при \(A=1\), \(B=1\), \(C=0\). Сначала \(\neg A=0\), затем \(B\land C=1\land0=0\), наконец \(0\lor0=0\). Значение всего выражения равно 0.
Нельзя выполнять операции строго слева направо, игнорируя приоритет. В выражении \(0\lor1\land0\) сначала вычисляют \(1\land0\), поэтому результат равен 0, а не 1. Если порядок должен быть другим, используйте скобки.
Каково значение выражения \(\neg0\land1\lor0\)?
Главное
- Сначала выполняют скобки и НЕ, затем И, затем ИЛИ.
- Приоритет определяет порядок вычислений, но скобки могут его изменить.
- Чтобы избежать неоднозначности, сложные выражения лучше записывать со скобками.