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

Логическая функция F  задается выражением:

(¯x → ¯y)∧ (¯y → z)∧w

Ниже представлен фрагмент таблицы истинности функции F,  содержащий неповторяющиеся строки, при которых фукнция F  истинна.

??? ??? ??? ??? F
0 1
0 0 1
0 1 1

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

Решение с использованием itertools:

from itertools import product

print("w x y z")
for x, y, z, w in product([0, 1], repeat = 4):
    if (((not x) <= (not y)) and ((not y) <= z) and w) == 1:
        print(w, x, y, z)

Классическое решение:

print("w x y z")
for w in range(2):
    for x in range(2):
        for y in range(2):
            for z in range(2):
                if (((not x) <= (not y)) and ((not y) <= z) and w) == 1:
                    print(w, x, y, z)

Результат работы программы:

|---|--|--|--| |w--|x-|y-|z-| |-1-|0-|0-|1-| | 1 |1 |0 |1 | |---|--|--|--| |-1-|1-|1-|0-| --1--1--1--1-|

Последняя строка состоит только из единиц, а в строках в фрагменте хотя бы 1 ноль присутствует, поэтому последняя строка лишняя.

Последний столбец однозначно будет полностью из единиц, так как только так может получиться столбец w.

Остальные столбцы заполняем так, чтобы было два столбца с одним нулём(второй и третий) и один с двумя(первый).

Сразу можно сказать, что первый столбец — это y.

В столбце x ноль находится в строке с двумя единицами, в столбце z — с тремя. Значит, второй столбец с буквой z, а третий — с x.

Получаем ответ: yzxw.

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