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