Как решать задание 2 ЕГЭ по информатике 2026 — таблицы истинности
Разбор задания 2 ЕГЭ по информатике: логические операции, таблицы истинности, приоритет, импликация, де Морган, Python-перебор. Алгоритм и типичные ошибки.
О чём задание
В задании 2 тебе дают фрагмент таблицы истинности логического выражения с несколькими переменными и сам вид этого выражения. Нужно определить, какому столбцу какая переменная соответствует, или наоборот — восстановить выражение по таблице.
Звучит абстрактно, но логические выражения — это основа всего, что делает компьютер: процессор работает с битами через логические вентили, база данных фильтрует записи по условиям, поисковик ищет документы по запросу с AND/OR/NOT. Понимать таблицы истинности — значит понимать, как устроена цифровая логика.
Задание 2 стоит 1 первичный балл, но его решают почти все, кто хоть немного подготовился. Потерять его — обидно, потому что навык элементарный, если разобрался один раз. Если ты только начинаешь и не уверен в базе, посмотри пошаговый план подготовки с нуля — там тема логики разобрана с самого начала.
Логические операции и их таблицы
Всего пять базовых операций, которые встречаются на ЕГЭ. Все они работают с переменными, принимающими только два значения: 0 (ложь) или 1 (истина).
Отрицание (НЕ, ¬, NOT)
Просто переворачивает значение. Если A = 1, то ¬A = 0, и наоборот.
| A | ¬A |
|---|---|
| 0 | 1 |
| 1 | 0 |
Конъюнкция (И, ∧, AND)
Равна 1 только когда обе переменные равны 1.
| A | B | A ∧ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Дизъюнкция (ИЛИ, ∨, OR)
Равна 1, когда хотя бы одна из переменных равна 1.
| A | B | A ∨ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Импликация (→)
Самая коварная операция. Равна 0 только когда A = 1, а B = 0. Во всех остальных случаях — 1.
| A | B | A → B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Ключевая формула: A → B = ¬A ∨ B. Запомни её — почти в каждой задаче задания 2 нужно раскрыть импликацию именно так.
Эквивалентность (≡, ↔)
Равна 1, когда значения переменных совпадают.
| A | B | A ≡ B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Приоритет операций
В учебниках иногда приоритет описывают по-разному, но на ЕГЭ он такой:
- Скобки
- Отрицание (¬)
- Конъюнкция (∧)
- Дизъюнкция (∨)
- Импликация (→)
- Эквивалентность (≡)
Это значит, что выражение A ∨ B ∧ C — это A ∨ (B ∧ C), а не (A ∨ B) ∧ C. А выражение ¬A ∧ B — это (¬A) ∧ B, то есть отрицание действует только на A.
Когда видишь сложное выражение, сначала мысленно расставь скобки по приоритету. Это убирает 80% ошибок.
Три типа задач
1. Найти набор переменных, при котором выражение равно 1 (или 0)
Дают выражение и говорят: «Сколько существует наборов значений переменных A, B, C, D, при которых выражение истинно?» Нужно либо перебрать все 2^N наборов, либо упростить выражение до простой формы.
2. Восстановить выражение по фрагменту таблицы
Дают таблицу, в шапке которой переменные обозначены как «Перем. 1», «Перем. 2», «Перем. 3», и известный вид выражения (например, (A → B) ∧ (¬C ∨ A)). Нужно понять, какая колонка — это A, какая — B, какая — C.
3. Построить полную таблицу истинности
Реже встречается на КЕГЭ в чистом виде, но как часть задачи — постоянно. Дают выражение, просят посчитать его значение при всех возможных наборах.
Алгоритм решения каждого типа
Для задачи типа 1 — найти набор
- Выпиши выражение и расставь скобки по приоритету.
- Если есть импликация — раскрой через
A → B = ¬A ∨ B. - Примени де Моргана, если есть отрицания над скобками.
- Подумай: при каких значениях переменных получится 1. Часто достаточно анализа «какое слагаемое в дизъюнкции или какой множитель в конъюнкции легче сделать истинным».
- Если выражение сложное — пиши Python-перебор.
- Проверь ответ подстановкой.
Для задачи типа 2 — восстановить соответствие
- Пойми структуру выражения: какая переменная встречается чаще, какая под отрицанием.
- Посмотри на строки таблицы, где всё выражение равно 1 (или 0).
- Подставляй колонки по очереди в выражение. Если в строке есть комбинация, которая противоречит выражению, — колонка сопоставлена неверно.
- Перебирай варианты (их максимум 6 для трёх переменных — 3!), пока не найдёшь тот, при котором все строки таблицы согласуются с выражением.
- Python ускоряет это на порядок.
Для задачи типа 3 — построить таблицу
- Выпиши все наборы в стандартном порядке (от 0000 до 1111 для 4 переменных).
- Для каждого набора вычисляй выражение по приоритету, записывая промежуточные столбцы.
- Аккуратность важнее скорости — одна ошибка в строке ломает весь ответ.
Полноценный разобранный пример
Условие. Логическая функция F задана выражением (A ∧ ¬B) ∨ (B ≡ (C ∨ D)). Дан фрагмент таблицы истинности:
| Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | F |
|---|---|---|---|---|
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 | 0 |
Определи, в каком порядке идут переменные A, B, C, D в столбцах.
Решение.
Сначала разберёмся с выражением. Оно состоит из двух частей, соединённых дизъюнкцией: (A ∧ ¬B) и (B ≡ (C ∨ D)). Чтобы F = 0, обе части должны быть равны 0.
Первая часть A ∧ ¬B = 0 либо когда A = 0, либо когда B = 1.
Вторая часть B ≡ (C ∨ D) = 0 когда B и C ∨ D различаются, то есть либо B=0 и хотя бы одна из C, D равна 1, либо B=1 и обе C, D равны 0.
Смотрим первую строку: F = 0. Значения переменных: 0, 1, 0, 1. То есть ровно одна переменная равна 0 (две из них), а две — 1. Чтобы A ∧ ¬B = 0, либо переменная на месте A равна 0, либо переменная на месте B равна 1. Чтобы вторая часть была 0, нужно противоречие между B и C ∨ D.
Давай проверим гипотезу: A = Перем. 1, B = Перем. 2, C = Перем. 3, D = Перем. 4.
- Строка 1: A=0, B=1, C=0, D=1. Первая часть: 0 ∧ ¬1 = 0 ∧ 0 = 0. Вторая часть: 1 ≡ (0 ∨ 1) = 1 ≡ 1 = 1. F = 0 ∨ 1 = 1. Но в таблице F = 0. Противоречие.
Значит, гипотеза неверна. Пробуем: A = Перем. 2, B = Перем. 1, C = Перем. 3, D = Перем. 4.
- Строка 1: A=1, B=0, C=0, D=1. Первая часть: 1 ∧ ¬0 = 1 ∧ 1 = 1. F = 1. Не сходится.
Пробуем: A = Перем. 3, B = Перем. 1, C = Перем. 2, D = Перем. 4.
- Строка 1: A=0, B=0, C=1, D=1. Первая часть: 0 ∧ ¬0 = 0. Вторая часть: 0 ≡ (1 ∨ 1) = 0 ≡ 1 = 0. F = 0 ∨ 0 = 0. Сходится!
- Строка 2: A=1, B=1, C=0, D=0. Первая часть: 1 ∧ ¬1 = 0. Вторая часть: 1 ≡ (0 ∨ 0) = 1 ≡ 0 = 0. F = 0. Но в таблице F = 1. Противоречие.
Пробуем: A = Перем. 4, B = Перем. 2, C = Перем. 1, D = Перем. 3.
- Строка 1: A=1, B=1, C=0, D=0. Первая часть: 1 ∧ ¬1 = 0. Вторая часть: 1 ≡ (0 ∨ 0) = 1 ≡ 0 = 0. F = 0. Сходится!
- Строка 2: A=0, B=0, C=1, D=1. Первая часть: 0 ∧ ¬0 = 0. Вторая часть: 0 ≡ (1 ∨ 1) = 0 ≡ 1 = 0. F = 0. Но в таблице F = 1. Противоречие.
На шестом варианте обычно находится правильный. Чтобы не тратить время, перейдём к Python.
Python для перебора
from itertools import product, permutations
# Фрагмент таблицы из условия
table = [
((0, 1, 0, 1), 0),
((1, 0, 1, 0), 1),
((0, 0, 1, 1), 0),
]
def F(A, B, C, D):
return (A and not B) or (B == (C or D))
# Перебираем все перестановки (A, B, C, D) по столбцам
for perm in permutations(range(4)):
ok = True
for row, expected in table:
# perm[0] — индекс столбца для A, perm[1] — для B и т.д.
A = row[perm[0]]
B = row[perm[1]]
C = row[perm[2]]
D = row[perm[3]]
if int(F(A, B, C, D)) != expected:
ok = False
break
if ok:
print("Найден порядок:", perm)
Запустишь — получишь индексы столбцов для A, B, C, D. Это и есть ответ. На КЕГЭ такой подход занимает 3-4 минуты, включая набор кода.
Приёмы упрощения
Законы де Моргана
¬(A ∧ B) = ¬A ∨ ¬B¬(A ∨ B) = ¬A ∧ ¬B
Отрицание проваливается внутрь скобки, И меняется на ИЛИ и наоборот.
Раскрытие импликации
A → B = ¬A ∨ B
Это самая важная формула задания 2. Без неё сложные выражения не упрощаются.
Эквивалентность через импликацию
A ≡ B = (A → B) ∧ (B → A)A ≡ B = (A ∧ B) ∨ (¬A ∧ ¬B)
Второй вариант удобнее для анализа: эквивалентность истинна, когда обе переменные истинны или обе ложны.
Дистрибутивность
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)
Помогает разбить сложное выражение на сумму или произведение простых.
Типичные ошибки
Неправильный приоритет. Школьник видит A ∨ B ∧ C и считает его как (A ∨ B) ∧ C. Правильно — A ∨ (B ∧ C). Это убивает до 30% неверных ответов.
Путаница с импликацией. Пишут, что A → B = A ∧ ¬B — это значение, которое делает импликацию ложной, а не саму импликацию. Запомни: импликация — это ¬A ∨ B.
Забыли отрицание при де Моргане. Раскрывают ¬(A ∧ B) как ¬A ∧ ¬B — неверно. Операция должна поменяться: правильно ¬A ∨ ¬B.
В Python забыли про импликацию. Пишут A -> B или A => B — в Python таких операторов нет. Правильно: (not A) or B.
Не проверили ответ. Нашли соответствие за 30 секунд и не подставили обратно. А в выражении ошибка в скобках — и ответ неверный.
Неаккуратность в строке с NOT. Путают ¬A ∧ B и ¬(A ∧ B). Всегда расставляй скобки мысленно.
Подробнее про типичные косяки и как их избежать на всём экзамене — читай разбор ошибок ЕГЭ по информатике.
Тайминг
Задание 2 идёт сразу после задания 1, и оба должны уходить за 10-12 минут суммарно. Раскладка:
- Прочитать условие и выражение: 30 секунд
- Упростить (де Морган, раскрыть импликацию): 1-2 минуты
- Перебрать наборы/перестановки: 2-3 минуты (руками) или 1 минута (Python)
- Проверить ответ: 30 секунд
Итого — 4-6 минут. Если уходишь за 8 минут, что-то идёт не так: либо неправильно упростил, либо ошибся в приоритете. Пометь задачу и иди дальше.
Как тренироваться
Неделя 1. Запомни все пять таблиц истинности наизусть. Реши 20 задач, где нужно вычислить значение выражения для конкретного набора переменных. Если ошибся — выпиши выражение с полными скобками и пересчитай.
Неделя 2. Отдельно натренируй импликацию. Реши 15 задач, где есть минимум одна импликация. В каждой — сначала раскрой её через ¬A ∨ B, потом считай.
Неделя 3. Приступай к задачам на восстановление соответствия переменных. Реши 10 задач руками, ещё 10 — через Python. Сравни время.
Неделя 4. Смешанная тренировка: 25 вариантов задания 2 с таймером 6 минут. После ошибки записывай разбор в тетрадь — через неделю повторений станет меньше.
Если готовишься всерьёз и хочешь разбор по всем заданиям КЕГЭ в одном потоке — посмотри общий гид, как набрать 90+ баллов. А если тема ещё сложновата — разбирай её на тренажёре TuteMe: задачи генерируются автоматически, после ошибки сразу показывается разбор, и за месяц ты доведёшь задание 2 до автоматизма.