Логическая функция F задаётся выражением
На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки.
??? | ??? | ??? | ??? | F |
1 | 0 | 0 | 1 | |
0 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | ||
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
print("x y z w")
for x in range(0, 2):
for y in range(0, 2):
for z in range(0, 2):
for w in range(0, 2):
if (((not(y) or x) or (not(z) and w)) == (w == x)) == True:
print(x, y, z, w)
После запуска программы получаем результат:
x y z w
0 0 0 0
0 0 1 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
В полученной таблице есть только одна строка, которая содержит три нуля, в данной в задании таблице так же есть одна такая строка, тогда можно однозначно определить столбец, в котором стоит единица — z. Тогда в первой строке таблицы пропущенное значение это единица. В полученной таблице только одна строка с двумя единицами, тогда можно однозначно определить столбец y.
Теперь можно определить, что в последней строке таблицы из задания пропущены единицы. Отсюда определяем что первый столбец это x, а второй w.