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

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

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

????F
10
110
110

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

Решение:

Python


from itertools import product, permutations

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

for p in permutations('xyzw'):
    for a, b, c, d, e, f, g in product([0, 1], repeat=7):
        table = [(a, 1, b, c, 0),
                 (d, e, 1, 1, 0),
                 (f, 1, g, 1, 0)]
        if len(set(table)) < 3:
            continue
        if all(F(**dict(zip(p, row))) == row[-1] for row in table):
            print(*p)

Ответ: \(yzwx\)