ЕГЭ информатика 2 задание разбор, теория, как решать

Задание 2. Логическое выражение и таблица истинности

Теория

  1. Количество наборов. Для четырёх логических переменных (w, x, y, z) существует
    24 = 16 комбинаций значений 0 и 1. Каждая строка таблицы истинности соответствует одному набору.
  2. Основные логические операции в Python.
Логическая операция Символ Запись в Python
отрицание (НЕ) ¬A not A
логическое И A ∧ B A and B
логическое ИЛИ A ∨ B A or B
импликация A → B (not A) or B
эквивалентность A ≡ B A == B

Суть задания. В условии дана логическая формула и несколько строк таблицы истинности, где функция принимает значение 1.
Столбцы таблицы не подписаны, поэтому необходимо определить, какой столбец соответствует каждой переменной, и записать порядок
следования букв (например, zyxw).

Общий принцип решения:

  • перебрать все возможные комбинации 0 и 1 для всех переменных;
  • для каждого набора вычислить значение логической формулы;
  • вывести только те строки, где функция равна 1;
  • сравнить полученные строки с таблицей из условия и определить порядок переменных.

Пример (демоверсия ЕГЭ 2026)

Формула:

F = (x or y) and (not (y == z)) and (not w)

Пошаговое решение

  1. Перебрать все возможные наборы 0 и 1 для w, x, y, z.
  2. Для каждого набора вычислить значение выражения F.
  3. Вывести только те строки, где F = 1.
  4. Сравнить выведенные строки с таблицей из демоверсии.
  5. По совпадению определить, какой столбец соответствует каждой переменной.

Код

Вывод программы

Как определить порядок переменных

Из вывода видно, что в этих трёх строках первый столбец всегда равен 0. Это означает, что переменная w в данной задаче
всегда принимает значение 0. В таблице, приведённой в демоверсии, тоже есть столбец, в котором во всех показанных строках стоит 0 — этот
столбец и соответствует переменной w, даже если он там не первый.

Оставшиеся три столбца в нашем выводе — это значения переменных x, y и z:

Если сравнить эти тройки с теми, что даны в демоверсии, видно, что в их таблице эти же значения стоят в порядке z, y, x.
Добавляем в конец найденное w, которое всегда 0.

Ответ: zyxw

Примечание. Для любых аналогичных задач (СтатГрад, демо других лет, региональные варианты) меняется только формула внутри кода. Структура перебора и способ сравнения с таблицей остаются такими же.