Задача к ЕГЭ по информатике на тему «частично заполненный фрагмент таблицы» №2

Миша заполнял таблицу истинности логической функции F

((x ≡ z)∨ w) → (y∧ w ∨x)

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

??? ??? ??? ??? f
1 0
1 1 0
1 0

Определите, какому столбцу таблицы соответствует каждая из переменных w  , x  , y  , z  . В ответе напишите буквы w  , x  , y  , z  в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

def f(x, y, z, w):
    return ((x == z) or w) <= (y and w or x)

print("x y z w")
a = (0, 1)
for x in a:
    for y in a:
        for z in a:
            for w in a:
                if f(x, y, z, w) == 0:
                    print(x, y, z, w)

Запустим программу и получим такой вывод:

x y z w

0 0 0 0

0 0 0 1

0 0 1 1

0 1 0 0

Количество единиц в полученной табличке равно количеству единиц в данной, значит все пропуски можем заполнить нулями. w поставим на 3-е место, так как только у w есть две единицы, x поставим на 2-е место, так как только там нет единиц. z поставим на 4-е место, так как его единица находится в той же строке, где есть единица у w. По остаточному принципу y поставим 1-е место.

Ответ: yxwz
Оцените статью
Я решу все!