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