Как решать задание 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.
Когда видишь сложное выражение, сначала мысленно расставь скобки по приоритету. Это избавляет от большей части ошибок в задании.
Три типа задач
На самом экзамене формулировка задания 2 одна — восстановить соответствие переменных и столбцов таблицы. Но чтобы решать её уверенно, нужны ещё два навыка, которые в сборниках отрабатывают отдельными упражнениями. Разберём все три.
1. Восстановить соответствие переменных и столбцов — экзаменационный тип
Дают таблицу, в шапке которой переменные обозначены как «Перем. 1», «Перем. 2», «Перем. 3», и известный вид выражения (например, (A → B) ∧ (¬C ∨ A)). Нужно понять, какая колонка — это A, какая — B, какая — C. Именно в таком виде задание 2 приходит на КЕГЭ.
2. Найти наборы, при которых выражение равно 1 (или 0) — тренировочный
Дают выражение и спрашивают, сколько существует наборов значений переменных, при которых оно истинно. В самом задании 2 такого вопроса нет, но упражнение учит анализировать выражение: либо перебрать все 2^N наборов, либо упростить его до простой формы. Без этого навыка не решить и экзаменационный тип.
3. Построить полную таблицу истинности — тренировочный
Как отдельная задача на экзамене не встречается, но как часть решения — постоянно. Дают выражение, просят посчитать его значение при всех возможных наборах.
Алгоритм решения каждого типа
Для задачи типа 1 — восстановить соответствие
- Пойми структуру выражения: какая переменная встречается чаще, какая под отрицанием.
- Посмотри на строки таблицы, где всё выражение равно 1 (или 0).
- Подставляй колонки по очереди в выражение. Если в строке есть комбинация, которая противоречит выражению, — колонка сопоставлена неверно.
- Перебирай варианты, пока не найдёшь тот, при котором все строки таблицы согласуются с выражением. Для трёх переменных перестановок 3! = 6, для четырёх — уже 24, поэтому начинай со строк, дающих самые жёсткие ограничения.
- Python ускоряет это на порядок.
Для задачи типа 2 — найти набор
- Выпиши выражение и расставь скобки по приоритету.
- Если есть импликация — раскрой через
A → B = ¬A ∨ B. - Примени де Моргана, если есть отрицания над скобками.
- Подумай: при каких значениях переменных получится 1. Часто достаточно анализа «какое слагаемое в дизъюнкции или какой множитель в конъюнкции легче сделать истинным».
- Если выражение сложное — пиши Python-перебор.
- Проверь ответ подстановкой.
Для задачи типа 3 — построить таблицу
- Выпиши все наборы в стандартном порядке (от 0000 до 1111 для 4 переменных).
- Для каждого набора вычисляй выражение по приоритету, записывая промежуточные столбцы.
- Аккуратность важнее скорости — одна ошибка в строке ломает весь ответ.
Полноценный разобранный пример
Условие. Логическая функция F задана выражением (A ∧ ¬B) ∨ (B ≡ (C → D)). Дан фрагмент таблицы истинности:
| Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | F |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 |
Определи, в каком порядке идут переменные A, B, C, D в столбцах.
Решение. Выражение состоит из двух частей, соединённых дизъюнкцией: A ∧ ¬B и B ≡ (C → D). Чтобы F = 0, обе части должны быть нулями; чтобы F = 1 — хотя бы одна единицей. И держи в голове главное свойство импликации: C → D равна 0 только при C = 1 и D = 0.
Шаг 1 — работаем со строкой 1. В ней единица стоит только в столбце 4, остальные нули, а F = 0. Примеряем к столбцу 4 каждую переменную:
- Если A — это столбец 4, то A = 1, а B (какой бы столбец ей ни достался) равна 0. Тогда
A ∧ ¬B = 1, F = 1 — а в таблице 0. Значит, A — не столбец 4. - Если B — столбец 4, то B = 1, а C = D = 0. Тогда
C → D = 1,B ≡ 1 = 1, F = 1 — снова противоречие. B — не столбец 4. - Если C — столбец 4, то C = 1, D = 0, значит
C → D = 0. Вторая частьB ≡ 0при B = 0 даёт 1 — противоречие. C — не столбец 4. - Остаётся D = столбец 4, и это единственный вариант без противоречия: C = 0,
C → D = 1, B = 0,B ≡ 1 = 0, обе части нули, F = 0. Сходится.
Шаг 2 — строка 3. Значения (0, 1, 1, 0), F = 0. Мы уже знаем, что D — столбец 4, значит D = 0, и C → D превращается в ¬C. Вторая часть должна быть нулём: B ≡ ¬C = 0, то есть B = C. В столбцах 1–3 стоят значения 0, 1, 1 — совпасть B и C могут только в столбцах 2 и 3. Значит, A — столбец 1, а B и C делят столбцы 2 и 3.
Шаг 3 — строка 2 различает B и C. Значения (0, 0, 1, 1), F = 1. A = 0, поэтому первая часть — ноль, и единицу обязана дать вторая: B ≡ (C → D) = 1. D = 1, значит C → D = 1 при любой C, и B должна равняться 1. В строке 2 столбец 2 равен 0, столбец 3 равен 1 — значит, B = столбец 3, а C = столбец 2.
Ответ: A = Перем. 1, C = Перем. 2, B = Перем. 3, D = Перем. 4.
Обрати внимание на порядок работы: строки, где F = 0 и единиц мало, дают самые жёсткие ограничения — начинай с них. А для четырёх переменных возможных перестановок 24, поэтому слепой перебор гипотез руками — худшая стратегия: либо рассуждай, как выше, либо пиши перебор на Python.
Python для перебора
from itertools import permutations
# Фрагмент таблицы из условия
table = [
((0, 0, 0, 1), 0),
((0, 0, 1, 1), 1),
((0, 1, 1, 0), 0),
]
def F(A, B, C, D):
return (A and not B) or (B == ((not C) or D)) # C → D записана как ¬C ∨ 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("A, B, C, D стоят в столбцах:", [i + 1 for i in perm])
Программа выведет A, B, C, D стоят в столбцах: [1, 3, 2, 4] — тот же ответ, что мы получили рассуждением. На КЕГЭ такой перебор занимает 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). Это одна из самых частых причин неверного ответа в задании 2.
Путаница с импликацией. Пишут, что 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+ баллов. А отработать задание 2 до автоматизма можно в TuteMe: задачи с автопроверкой, после ошибки сразу показывается разбор, а Python для перебора запускается прямо в браузере.