Задание 2 ЕГЭ по информатике: таблицы истинности без путаницы
Таблица истинности показывает значение выражения при разных наборах переменных. Начнём с двух переменных, разберём ловушку с импликацией и перейдём к восстановлению названий столбцов.
Сразу к самопроверкеЧетыре операции, которые нужно различать
- НЕ x (¬x) меняет 0 на 1, а 1 на 0.
- x И y (x ∧ y) равно 1 только тогда, когда оба значения равны 1.
- x ИЛИ y (x ∨ y) равно 1, если хотя бы одно значение равно 1.
- x → y равно 0 только при x = 1 и y = 0. Во всех остальных случаях оно равно 1.
Для импликации можно использовать замену: x → y = ¬x ∨ y. Эквивалентность x ≡ y равна 1 при одинаковых значениях x и y.
Импликация: найдите единственный ноль
Выберите набор x и y. Разложим F = (x → y) ∧ x на две понятные операции.
Импликация истинна, но x = 0: операция И даёт 0.
F = (not x or y) and x — та же проверка в Python. Преобразование int() здесь не нужно.
Строим таблицу по шагам
Пусть F = (x → y) ∧ x. Сначала вычислим импликацию, затем результат И с x. Для двух переменных есть 2² = 4 набора.
| x | y | x → y | F |
|---|---|---|---|
| 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Например, при x = 0 и y = 0 импликация истинна, но F = 1 ∧ 0 = 0. Выражение F равно 1 только в последней строке.
Полезный приём: чтобы И было истинно, обе его части должны быть истинны. Здесь сразу получаем x = 1, а затем из истинной импликации — y = 1.
Как восстановить порядок столбцов
В упрощённом примере F = x → y. Названия двух столбцов неизвестны. В единственной строке с F = 0 записано: первый столбец — 0, второй — 1.
- Импликация ложна только при x = 1, y = 0.
- Единица стоит во втором столбце, значит второй столбец — x.
- Ноль стоит в первом, значит первый столбец — y. Порядок слева направо: yx.
В экзаменационных задачах переменных обычно больше и часть клеток может быть пустой. Проверьте найденную перестановку по всем строкам. Пустая клетка означает неизвестное значение, а не ноль.
Как не потерять правильный ответ
Промежуточные столбцы помогают не держать всё выражение в голове. Сначала скобки, затем отрицание, И, ИЛИ, импликация, эквивалентность, если в условии не оговорён другой порядок.
В Python записывайте логические части в скобках: например, (not x or y) and x. Импликации отдельным оператором в Python нет. При переборе учитывайте различие строк и все ограничения условия.
Записывайте буквы в порядке столбцов исходной таблицы, без пробелов и разделителей, если этого требует задание. Совпадение одной строки ещё не доказывает правильность перестановки.
Перебор Python: проверяем таблицу для трёх переменных
Разберём F = (x → y) ∧ (y → z). Обе импликации должны быть истинны. Переберём все 2³ = 8 наборов, выводя только подходящие.
from itertools import product
for x, y, z in product([0, 1], repeat=3):
F = (not x or y) and (not y or z)
if F:
print(x, y, z)Вывод: 000, 001, 011, 111 (в каждой строке три числа через пробел). Всего четыре набора. Например, 010 не подходит: y = 1, z = 0 делают вторую импликацию ложной.
Скобки разделяют две импликации; → нельзя просто скопировать в программу как оператор. Для независимой проверки вычислите каждую импликацию вручную на одном подходящем и одном неподходящем наборе.
Пустые клетки: проверяем все возможные значения
Для того же выражения дана строка x = 1, y неизвестно, z = 1 и F = 1. Если y = 0, первая импликация ложна. Если y = 1, обе истинны. Значит, здесь неизвестная клетка равна 1.
Но для строки x = 0, z = 1 и F = 1 подходят оба значения y. По одной такой строке нельзя однозначно восстановить неизвестное.
- Отделите неизвестные клетки от известных нулей.
- Проверьте допустимые заполнения для выбранной перестановки столбцов.
- Убедитесь, что выполняются все строки и требование различия строк, если оно есть в условии.
- Только после этого запишите порядок букв слева направо.
Проверьте себя
Сначала решите самостоятельно. Затем проверьте ответ или откройте объяснение.
Ответ и объяснение
1. Импликация ложна только для пары 1, 0. Пара 0, 1 даёт 1.
Ответ и объяснение
1. Только для x = 1, y = 1 — последняя строка таблицы.
Ответ и объяснение
8. У каждой переменной два значения: 2 × 2 × 2 = 8.
Ответ и объяснение
4. Подходят 000, 001, 011, 111. В каждом наборе истинны обе импликации.
Ответ и объяснение
0. При y = 0 ложна первая импликация, при y = 1 — вторая. Ни один вариант не подходит.