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