Задание 2. Информатика. ЕГЭ. Поляков-7901

Просмотры: 143
Изменено: 1 февраля 2025

Логическая функция \(F\) задаётся выражением $$(x \equiv (y \to z)) \land (y \equiv \neg (z \to w)).$$ На рисунке приведён частично заполненный фрагмент таблицы истинности функции \(F,\) содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x, \, y, \, z, \, w.\)

????F
101
011
1001

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

Решение:

Python


from itertools import product, permutations

def F(x, y, z, w):
    return (x == (y <= z)) and (y == (not (z <= w)))
                                
for p in permutations('xyzw'):
    for a, b, c, d, e in product([0, 1], repeat=5):
        table = [(1, a, 0, b, 1),
                 (0, 1, c, d, 1),
                 (1, 0, 0, e, 1)]
        if len(set(table)) < 3:
            continue
        if all(F(**dict(zip(p, row))) == row[-1] for row in table):
            print(*p)

Ответ: \(wzyx\)