Логическая функция F задаётся выражением:
На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки.
??? | ??? | ??? | ??? | F |
1 | 1 | 0 | 0 | |
1 | 1 | 0 | ||
1 | 0 | |||
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c, d.
В ответе напишите буквы a, b, c, d в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Программный код будет выглядеть следующим образом:
print(’a b c d’)
for a in range(2):
for b in range(2):
for c in range(2):
for d in range(2):
if (not(a <= b) or ((not c) <= (not d)) or c) == False:
print(a,b,c,d)
Получим такой вывод:
A | B | C | D |
0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 |
Как можем отметить, четвёртый столбец принадлежит ‘с’, поскольку только в этом столбце можно расположить три нуля.
Второй столбец принадлежит ‘a’, поскольку только в её столбце располагается лишь одна единица. Третий столбец принадлежит ‘d’, так как в его столбце находятся три единицы.
Методом исключения понимаем, что первый столбец принадлежит ‘b’. Ответ: badc.