ЕГЭ по информатике 2026 · задание 2 из 27
ЕГЭ по информатике 2026, задание 2: таблицы истинности
Задание 2 — базовое, 1 балл. Нужно сопоставить логические выражения столбцам таблицы истинности и записать порядок переменных, например xywz. Файла нет.
ФИПИ отдельно предупреждает: заполненная таблица не должна содержать одинаковых строк. Если при подстановке получились две одинаковые строки, переменные расставлены неверно, даже если «почти всё сошлось».
Конспект
Операции, которые встречаются постоянно:
- конъюнкция
A ∧ B— истина только когда оба истинны; - дизъюнкция
A ∨ B— ложна только когда оба ложны; - отрицание
¬A; - импликация
A → Bложна только на наборе «A истина, B ложь». В программе этоnot A or B; - эквиваленция
A ≡ Bистинна, когда значения равны.
Порядок работы:
1. Выпишите, сколько переменных. Четыре переменные — 16 наборов, в фрагменте обычно 3–5 строк.
2. Найдите столбец с самым узнаваемым узором. Например, функция, истинная ровно на одном наборе, часто содержит конъюнкцию нескольких литералов.
3. Поставьте гипотезу о соответствии столбцов выражениям. Перебирайте перестановки переменных, а не подбирайте «на глаз» с середины.
4. Проверьте каждую данную строку. Ошибка в одной клетке — гипотеза неверна.
5. В конце убедитесь, что в полной таблице нет совпадающих строк, если условие это требует.
Ответ пишут без пробелов и знаков препинания, буквами именно в том порядке, который указан в задании.
Шаблон на Python
Функция ниже перебирает, какая переменная в каком столбце. Замените exprs на выражения из условия. row — известные значения функции по столбцам.
from itertools import permutations, product
vars_ = ["x", "y", "z", "w"]
def F1(x, y, z, w):
return int((not x or y) and (not y or z))
def F2(x, y, z, w):
return int(x == w)
# фрагмент: списки значений переменных неизвестны,
# известны только столбцы F. Подставьте свои функции и строки таблицы.
known = [
(0, 1),
(1, 0),
(1, 1),
]
# полный перебор наборов, если нужно построить таблицу с нуля
for values in product([0, 1], repeat=4):
env = dict(zip(vars_, values))
print(values, F1(**env), F2(**env))
print("--- перестановки для сопоставления столбцов ---")
for order in permutations(vars_):
ok = True
# сюда подставьте конкретные наборы из таблицы, когда восстановите биты
print("проверяем порядок", "".join(order))
if ok:
passПрактичнее не печатать все 16 строк, а написать функцию «подходит ли перестановка» и оставить в ответе единственную строку print("".join(order)).
Типичные ошибки
- Путают импликацию с «или» без отрицания.
- Игнорируют требование уникальных строк.
- Записывают переменные не в том порядке, который просит бланк.
- Не отличают столбец выражения от столбца переменной.
Попробуйте объяснить с Мишкой
Бесплатный ИИ-репетитор объяснит любую тему так, как вам понятно — шаг за шагом.
Начать бесплатно