Логическая функция задается выражением:
Ниже представлен фрагмент таблицы истинности функции , содержащий неповторяющиеся строки, при которых функция
истинна.
Определите, какому столбцу таблицы истинности функции соответствует каждая из пемеменных
,
,
,
.
В ответе напишите буквы ,
,
,
в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
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 (w and (not (x == z)) and ((not x) or (not y))) == 1:
print(x, y, z, w)
Программа выведет:
Заметим, что w всегда принимает значение , значит,
— первый столбец истинности. Только во второй строке таблицы истинности может быть три единицы, при этом наша программа выводит такую строку и в этом случае x принимает значение
, тогда как все остальные —
. Значит,
— четвертый столбец таблицы истинности. Во всех трех возможных случаях только
два раза принимает значение
, тогда
соответствует второй столбец таблицы истинности. Следовательно, оставшаяся переменная
соответствует третьему столбцу. Получаем ответ: