Логическая функция F задаётся выражением . На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, w, z.
Переменная 1 | Переменная 2 | Переменная 3 | Переменная 4 | Функция |
0 | 1 | 0 | ||
0 | 1 | 0 | 0 | |
0 | 1 | 1 | 0 | |
В ответ напишите буквы x, y, w, z в том порядке, в котором идут соответствующие им столбцы. В ответ буквы запишите подряд – без пробелов и разделителей.
print(’x y z w’)
a = (0, 1)
for x in a:
for y in a:
for z in a:
for w in a:
if (not(x <= (y == w)) or (z <= (x == y))) == False:
print(x, y, z, w)
Так как выражение: , должно быть равно 0, то оба слагаемых
и
будут равны 0.
Если равно 0, то
, а
равно 0. Отсюда имеем набор:
x y z
0 1 1
1 0 1
Если равно 0, то
равно 1. Отсюда имеем набор с учётом набора выше:
x y w
0 1 0
0 1 1
1 0 0
Окончательно получаем таблицу истинности:
x y w z
0 1 0 1
0 1 1 1
1 0 0 1
В нашей задаче только в третьем столбце может стоять буква z, так как во всех других уже есть 0. Также у нас нет строк с тремя 0, поэтому в первом столбце будет стоять 1. А во втором столбце не может быть 1, иначе первая и вторая строки будут идентичны.
То есть условие задачи будет выглядеть следующим образом:
Переменная 1 | Переменная 2 | z | Переменная 4 | Функция |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
Получаем, что четвертый столбец – это у, первый – w, а второй – x.
Ответ – wxzy.