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

Просмотры: 48
Изменено: 21 ноября 2024

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

????F
10000
11000
01100

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

Решение:

Python


from itertools import permutations

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

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

for p in permutations('xyzw'):
    if all(F(**dict(zip(p, row))) == row[-1] for row in table):
        print(*p)

Ответ: \(zwyx\)