ИнформатикаЗадание 2

ЕГЭ 2027 по информатике

Задание 2. Таблицы истинности

  • Первая часть
  • краткий ответ: число или слово
  • 1 первичный балл
  • 17 задач в задачнике

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

Теория

Как узнать: дана логическая функция F от переменных x, y, z, w и фрагмент её таблицы истинности, часть клеток пустая. Нужно понять, какому столбцу соответствует какая переменная, и записать буквы в порядке столбцов.

Решаем перебором: пробуем все способы расставить переменные по столбцам и все способы заполнить пустые клетки. Компьютеру это несколько тысяч проверок, мгновенно.

Сначала на двух переменных

Пусть F = x → y. Полная таблица:

xyF
001
011
100
111

F = 0 только в одной строке: x = 1, y = 0. Пусть в задании дан фрагмент «Перем. 1 = 0, Перем. 2 = 1, F = 0». Если первый столбец это x, получится строка x = 0, y = 1, а там F = 1. Не подходит. Значит, первый столбец это y, второй x, ответ yx.

С четырьмя переменными и пустыми клетками вариантов уже сотни, поэтому проверку поручаем программе. Шаги те же.

Шаг 1. Функция на Python

Переводим запись из задания по таблице из урока про логику: ∧ это and, ∨ это or, ¬ это not, → это <=, ≡ это ==. Пусть F = (x ∧ ¬y) ∨ (y ≡ z) ∨ ¬w.

Шаг 2. Фрагмент таблицы

Перем. 1Перем. 2Перем. 3Перем. 4F
00
0100
01110

Записываем строки таблицы, на место пустых клеток ставим переменные a, b, c, d. Их значения переберём через product. Строки таблицы по условию разные, поэтому варианты с одинаковыми строками отбрасываем.

Шаг 3. Перебор

Что здесь происходит:

  • permutations("xyzw") перебирает все 24 способа расставить переменные по столбцам.
  • dict(zip(p, row)) склеивает порядок переменных со строкой таблицы: например, {"z": 0, "y": 0, "w": 1, "x": 1}. Две звёздочки ** передают такой словарь в функцию по именам параметров.
  • all(...) проверяет, что F равна нужному значению во всех строках фрагмента.
  • Ответ может найтись при разных заполнениях пустых клеток, поэтому собираем его в множество, а не печатаем сразу.

Ответ в задании пишется буквами подряд, без пробелов: например, zywx.

Примеры заданий

Пример 1. Разгадай столбцы, вариант 1

Логическая функция F задаётся выражением ((¬y ∧ x) ∨ ¬w) ∧ ¬z. Дан фрагмент таблицы истинности функции F, содержащий 3 различные строки, в которых F = 1. Пустые клетки могут содержать как 0, так и 1. Определи, какому столбцу таблицы соответствует каждая из переменных x, y, z, w. В ответе напиши буквы переменных в порядке столбцов.

Перем. 1Перем. 2Перем. 3Перем. 4F
0111
0011
1001
Решить и проверить ответ

Пример 2. Разгадай столбцы, вариант 2

Логическая функция F задаётся выражением ¬x → (w ∧ (y → z)). Дан фрагмент таблицы истинности функции F, содержащий 3 различные строки, в которых F = 0. Пустые клетки могут содержать как 0, так и 1. Определи, какому столбцу таблицы соответствует каждая из переменных x, y, z, w. В ответе напиши буквы переменных в порядке столбцов.

Перем. 1Перем. 2Перем. 3Перем. 4F
0100
0100
1100
Решить и проверить ответ

Пример 3. Разгадай столбцы, вариант 3

Логическая функция F задаётся выражением ((¬x ∨ z) ≡ w) → y. Дан фрагмент таблицы истинности функции F, содержащий 3 различные строки, в которых F = 0. Пустые клетки могут содержать как 0, так и 1. Определи, какому столбцу таблицы соответствует каждая из переменных x, y, z, w. В ответе напиши буквы переменных в порядке столбцов.

Перем. 1Перем. 2Перем. 3Перем. 4F
1000
0010
1000
Решить и проверить ответ