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

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

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

???F
0001
1011
1101

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

Решение:

Python


from itertools import product, permutations

def F(x, y, z):
    return ((not x) and y and z) or ((not x) and (not z))

table = [[0, 0, 0],
         [1, 0, 0],
         [1, 1, 0]]

for p in permutations('xyz'):
    t = []
    for pr in product([0, 1], repeat=3):
        t.append(F(**dict(zip(p, pr))) == (list(pr) in table))
    if all(t):
        print(*p)

Ответ: \(yzx\)