6 мин чтения

Как решать задание 2 ЕГЭ по информатике 2026 — таблицы истинности

Разбор задания 2 ЕГЭ по информатике: логические операции, таблицы истинности, приоритет, импликация, де Морган, Python-перебор. Алгоритм и типичные ошибки.

О чём задание

В задании 2 тебе дают фрагмент таблицы истинности логического выражения с несколькими переменными и сам вид этого выражения. Нужно определить, какому столбцу какая переменная соответствует.

Звучит абстрактно, но логические выражения — это основа всего, что делает компьютер: процессор работает с битами через логические вентили, база данных фильтрует записи по условиям, поисковик ищет документы по запросу с AND/OR/NOT. Понимать таблицы истинности — значит понимать, как устроена цифровая логика.

Задание 2 стоит 1 первичный балл, но его решают почти все, кто хоть немного подготовился. Потерять его — обидно, потому что навык элементарный, если разобрался один раз. Если ты только начинаешь и не уверен в базе, посмотри пошаговый план подготовки с нуля — там тема логики разобрана с самого начала.

Логические операции и их таблицы

Всего пять базовых операций, которые встречаются на ЕГЭ. Все они работают с переменными, принимающими только два значения: 0 (ложь) или 1 (истина).

Отрицание (НЕ, ¬, NOT)

Просто переворачивает значение. Если A = 1, то ¬A = 0, и наоборот.

A¬A
01
10

Конъюнкция (И, ∧, AND)

Равна 1 только когда обе переменные равны 1.

ABA ∧ B
000
010
100
111

Дизъюнкция (ИЛИ, ∨, OR)

Равна 1, когда хотя бы одна из переменных равна 1.

ABA ∨ B
000
011
101
111

Импликация (→)

Самая коварная операция. Равна 0 только когда A = 1, а B = 0. Во всех остальных случаях — 1.

ABA → B
001
011
100
111

Ключевая формула: A → B = ¬A ∨ B. Запомни её — почти в каждой задаче задания 2 нужно раскрыть импликацию именно так.

Эквивалентность (≡, ↔)

Равна 1, когда значения переменных совпадают.

ABA ≡ B
001
010
100
111

Приоритет операций

В учебниках иногда приоритет описывают по-разному, но на ЕГЭ он такой:

  1. Скобки
  2. Отрицание (¬)
  3. Конъюнкция (∧)
  4. Дизъюнкция (∨)
  5. Импликация (→)
  6. Эквивалентность (≡)

Это значит, что выражение 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. Пойми структуру выражения: какая переменная встречается чаще, какая под отрицанием.
  2. Посмотри на строки таблицы, где всё выражение равно 1 (или 0).
  3. Подставляй колонки по очереди в выражение. Если в строке есть комбинация, которая противоречит выражению, — колонка сопоставлена неверно.
  4. Перебирай варианты, пока не найдёшь тот, при котором все строки таблицы согласуются с выражением. Для трёх переменных перестановок 3! = 6, для четырёх — уже 24, поэтому начинай со строк, дающих самые жёсткие ограничения.
  5. Python ускоряет это на порядок.

Для задачи типа 2 — найти набор

  1. Выпиши выражение и расставь скобки по приоритету.
  2. Если есть импликация — раскрой через A → B = ¬A ∨ B.
  3. Примени де Моргана, если есть отрицания над скобками.
  4. Подумай: при каких значениях переменных получится 1. Часто достаточно анализа «какое слагаемое в дизъюнкции или какой множитель в конъюнкции легче сделать истинным».
  5. Если выражение сложное — пиши Python-перебор.
  6. Проверь ответ подстановкой.

Для задачи типа 3 — построить таблицу

  1. Выпиши все наборы в стандартном порядке (от 0000 до 1111 для 4 переменных).
  2. Для каждого набора вычисляй выражение по приоритету, записывая промежуточные столбцы.
  3. Аккуратность важнее скорости — одна ошибка в строке ломает весь ответ.

Полноценный разобранный пример

Условие. Логическая функция F задана выражением (A ∧ ¬B) ∨ (B ≡ (C → D)). Дан фрагмент таблицы истинности:

Перем. 1Перем. 2Перем. 3Перем. 4F
00010
00111
01100

Определи, в каком порядке идут переменные 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 для перебора запускается прямо в браузере.

Попробовать бесплатно →

Частые вопросы

Сколько времени тратить на задание 2 ЕГЭ по информатике?

На типовую задачу с фрагментом таблицы истинности — 4-6 минут. Если выражение сложное и ты решаешь через Python-перебор, уложишься за 3-4 минуты вместе с написанием кода. За задание дают 1 первичный балл, поэтому если застрял дольше 8 минут — помечай и иди дальше.

Какой приоритет у логических операций в задании 2?

Порядок такой: скобки → отрицание (¬) → конъюнкция (∧, И) → дизъюнкция (∨, ИЛИ) → импликация (→) → эквивалентность (≡, ↔). Это отличается от математики: конъюнкция — не умножение в строгом смысле, а именно логическое И. Большинство ошибок в задании 2 — из-за неправильного приоритета, особенно с импликацией. Всегда проверяй себя, расставляя мысленные скобки.

Как раскрывать импликацию A → B?

Ключевая формула: A → B = ¬A ∨ B. Импликация равна 0 только в одном случае — когда A=1, а B=0. Во всех остальных трёх случаях она равна 1. Это самая частая ловушка задания 2: школьники по привычке считают, что из лжи ничего не следует, но в математической логике из лжи следует что угодно, и импликация равна 1. Запомни намертво: 1→0 = 0, все остальные комбинации дают 1.

Можно ли решать задание 2 на Python?

Да, и это часто быстрее ручного анализа. Ты просто перебираешь все 2^N наборов значений переменных, подставляешь в выражение и сравниваешь со строками из условия. На КЕГЭ Python доступен, и для задания 2 он идеально подходит. Главное — не забудь: в Python импликация не имеет оператора, её надо писать как (not A) or B, а эквивалентность — как A == B.

Что такое законы де Моргана и зачем они нужны?

Это правила раскрытия отрицания: ¬(A ∧ B) = ¬A ∨ ¬B и ¬(A ∨ B) = ¬A ∧ ¬B. Отрицание «проваливается» внутрь скобки, а операция меняется на противоположную. На задании 2 эти законы помогают упрощать громоздкие выражения и быстро понимать, при каких наборах выражение истинно. Отдельный приём: двойное отрицание ¬¬A = A.

Как проверить ответ в задании 2?

Возьми найденный набор значений переменных и руками подставь в исходное выражение, считая по приоритету. Если получилось 1 (или то значение, которое требовало условие) — ответ верный. Для дополнительной проверки можно прогнать весь фрагмент таблицы через Python: все строки должны совпасть с условием. Проверять обязательно — время жалеть не стоит, переписать ответ — 20 секунд.

Как быть, если в выражении 5 и больше переменных?

Ручной перебор 2^5 = 32 наборов уже утомителен, поэтому пиши Python-перебор. Используй itertools.product([0,1], repeat=N) — это генератор всех наборов. Для каждого набора вычисляй выражение и проверяй условие. С 6 переменными (64 набора) это тоже нормально работает. Даже для 10 переменных (1024 набора) Python считает мгновенно.

Часто ли задание 2 связано с заданием 15?

Да, логические выражения — общий фундамент. В задании 2 ты работаешь с таблицей истинности, а в задании 15 — с логическими выражениями на множествах и отрезках. Если разобрался с приоритетом операций и де Морганом на задании 2, задание 15 будет проще. Оба задания тренируй параллельно — эффект умножается.

Готов применять на практике?

В тренажёре TuteMe — 1250 заданий ЕГЭ по информатике с автоматической проверкой и подробным разбором. AI-помощник подсказывает, где ты ошибаешься, и подбирает задания под твой уровень.

Начать бесплатно →

Не пишешь код? Курс «Python для ЕГЭ» — с нуля, первые два модуля бесплатно.