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

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

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

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

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

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

Программа:

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

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) == 1:
                    print(x, y, z, w)

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

x y z w

0 0 1 1

0 1 0 1

1 0 0 1

1 0 1 1

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

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