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

Просмотры: 25
Изменено: 30 октября 2024

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

????F
10111
1001
1001

Определите, какому столбцу таблицы истинности функции \(F\) соответствует каждая из переменных \(x\), \(y\), \(z\), \(w\).

Решение:

Python


from itertools import product, permutations

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

for p in permutations('xyzw'):
    for a, b in product([0, 1], repeat=2):
        table = [[1, 0, 1, 1, 1],
                 [1, 0, a, 0, 1],
                 [1, 0, b, 0, 1]]
        if table[1] == table[2]:
            continue
        if all(F(**dict(zip(p, row))) == row[-1] for row in table):
            print(*p)

Ответ: \(yzwx\)