Условие: № 6843 (Уровень: Средний) (А. Богданов)
Логическая функция F задаётся выражением (z → w)∧ y ∧¬ x. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
print('x y z w F')
for x in range(2):
for y in range(2):
for z in range(2):
for w in range(2):
F = (z <= w) and y and (not x)
print(x, y, z, w, F)
Комментарии к решению задачи:
- print(f'x y z w F') - Выводим заголовок столбцов, используя форматированную строку, чтобы отобразить названия переменных.
- for x in range(2): - Ищем все возможные варианты переменной x.
- for y in range(2): - Ищем все возможные варианты переменной y.
- for z in range(2): - Ищем все возможные варианты переменной z.
- for w in range(2): - Ищем все возможные варианты переменной w.
- F = (z <= w) and y and (not x) - задаём логическую функцию
переменной F - print(x, y, z, w, F) - Выводим значения переменных x, y, z, w и F.
В ходе выполнения программы получаем следующую таблицу:
Теперь сопостовляем полученную и данную в условии таблицы:
- Для начала разберёмся с тем, какие строчки нам нужны. Из условия мы имеем, что нам нужны две строчки со значением True (т.е. 1) и одна строчка со значением False ( т.е. 0)
- Мы можем определить первую строчку таблицы (’01 0’), на месте пропуска будет стоять 1, т.к. в ином случае логическая функция будет принимать значение 0
3. Таким же образом определяем значение на месте пропуска в последней строчке. Этим значением будет 1, т.к. иначе мы получим значение логической функции F == 1, что нам не нужно
4. Теперь определяемся со второй строчкой таблицы. Из полученных раньше значений и строк определяем, что второй столбец - это переменная w, а третий столбец - это y, т.к только у него значение во всех полученных строчках == 1. Так же делаем и с переменными z и x, мы имеем, что в последней строчке, только переменная z, таким образом получаем, что первый столбец - это z, а последний - x, ведь два других столбца нам уже известны.