В каком порядке выполняются логические операции — что считать первым?
Дали выражение ¬A ∨ B ∧ C и я завис: что тут считать раньше? Как в математике есть «сначала умножение», так и тут какой-то порядок? Боюсь, что из-за неправильного порядка получу не тот ответ на контрольной.
2 ответа
Да, у логических операций строгий приоритет, как у арифметики. Порядок такой (от сильного к слабому):
- НЕ (¬, отрицание) — выполняется первым
- И (∧, конъюнкция)
- ИЛИ (∨, дизъюнкция)
- Импликация (→)
- Эквивалентность (≡)
И конечно, скобки бьют всё — что в скобках, считается в первую очередь.
Разберём твоё ¬A ∨ B ∧ C при A=1, B=1, C=0:
- Сначала ¬A = ¬1 = 0.
- Потом B ∧ C = 1 ∧ 0 = 0 (И раньше ИЛИ!).
- Теперь ИЛИ: 0 ∨ 0 = 0.
То есть выражение читается как (¬A) ∨ (B ∧ C). Главная ошибка новичков — считать ИЛИ раньше И. Запомни мнемонику: «НЕ, И, ИЛИ» — по убыванию силы, прямо в этом порядке.
Совет: если сомневаешься в порядке — расставь скобки сам по приоритету ещё до вычислений. Превратил ¬A ∨ B ∧ C в (¬A) ∨ (B ∧ C) — и дальше уже невозможно перепутать. Лишние скобки на результат не влияют, а ошибок убирают кучу.