Логическая функция задаётся выражением
Ниже представлен фрагмент таблицы истинности функции , содержащий неповторяющиеся строки, при которых функция
истинна.
Определите, какому столбцу таблицы истинности функции соответствует каждая переменная
.
Напишем программу:
def f(x, y, z, w):
return w and (x or (not y)) and (not (w == z))
print(’x y z w’)
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
if f(x, y, z, w):
print(x, y, z, w)
Выведем таблицу:
Сравним таблицы, можно понять, что — это
столбец, т.к. там единички все. Дальше смотрим, что две единички только у
— значит это последний столбец. Далее обратимся к последней строчке и сравним с выводом. В какой-то строке должно быть
единички, но для формирования
единичек нужна еще
единичка в последней строке. Поэтому ставим ее. При этом можем сразу определить по этой единичке, что
столбец — это
. Методом исключения
столбец — это
.