Задание 3 ОГЭ: как проверить истинность логического выражения по таблице?
Третье задание ОГЭ — про логику. Дают таблицу значений и логическое выражение, надо понять, для каких строк оно истинно. Как проверять истинность логического выражения с И, ИЛИ, НЕ? Постоянно путаюсь в приоритете операций.
2 ответа
В задании 3 нужно для каждой строки таблицы подставить значения переменных и вычислить выражение.
Приоритет операций (от высокого к низкому):
- НЕ (отрицание, ¬)
- И (конъюнкция, ∧, «and»)
- ИЛИ (дизъюнкция, ∨, «or»)
Запоминается как «НЕ → И → ИЛИ». Скобки, конечно, выше всего.
Таблицы истинности:
- НЕ: НЕ 0 = 1, НЕ 1 = 0
- И: истинно только когда оба операнда 1
- ИЛИ: ложно только когда оба 0
Пример. Выражение НЕ A И (B ИЛИ C). Проверим строку A=1, B=0, C=1:
- НЕ A = НЕ 1 = 0
- (B ИЛИ C) = (0 ИЛИ 1) = 1
- 0 И 1 = 0 → строка ложна.
Часто в ОГЭ спрашивают: «для какой строки таблицы выражение НЕ выполняется (ложно)?» — тогда ищете строку с результатом 0.
Частая ошибка: считают И и ИЛИ равноправными. Нет — И всегда выполняется раньше ИЛИ, как умножение раньше сложения.
Удобно проверять выражение прямо в Python — в практической части ОГЭ это разрешено как черновик в среде:
A, B, C = 1, 0, 1
print((not A) and (B or C)) # False
В Python and — это И, or — ИЛИ, not — НЕ, и приоритеты те же. Если результат True — выражение истинно для этой строки, False — ложно.