2.01 Полностью заполненные фрагменты таблицы истинности
Ошибка.
Попробуйте повторить позже
Логическая функция задаётся выражением
.
Ниже представлен фрагмент таблицы истинности функции . Определите, какому столбцу таблицы
истинности функции
соответствует каждая переменная
,
,
.
Решение руками:
Во всех трех строках Импликация ложна, если из истины следует ложь. Значит,
и
Конъюнкция истинна, если все высказывания, входящие в нее, истинны, то есть
и
то есть
Рассмотрим Это выражение должно быть ложно, значит дизъюнкция
должна быть
истинна. Дизъюнкция истинна, если хотя бы одно из высказываний, входящих в нее, истинно. Так как
то
может быть любым.
Так как то первому столбцу соответствует
Так как
то третьему столбцу
соответствует
Так как
может быть любым, то второму столбцу соответствует
Идея решения через циклы:
Программа перебирает все возможные значения переменных с помощью вложенных циклов.
Для каждого набора вычисляется логическая функция
. Если функция равна 0,
программа выводит комбинацию переменных вместе с нулём для
.
Код решения через циклы
# Выводим заголовок таблицы print("x y z F") # Перебираем все возможные значения переменной x for x in range(2): # Перебираем все возможные значения переменной y for y in range(2): # Перебираем все возможные значения переменной z for z in range(2): # Вычисляем значение функции F F = (z and not x) <= (not (not y or z)) # Если F ложно (равно 0), выводим комбинацию if not F: print(x, y, z, 0)
Идея решения через itertools:
Здесь используется функция product из itertools, которая генерирует все комбинации значений переменных длиной 3. Для каждой комбинации вычисляется функция, и если она равна 0, комбинация выводится.
Код решения через itertools
# Импортируем функцию product для генерации комбинаций from itertools import product # Выводим заголовок таблицы print("x y z") # Перебираем все возможные комбинации x, y, z for x,y,z in product([0,1], repeat=3): # Проверяем выполнение логического выражения if not ((z and not x) <= (not (not (y) or z))): # Если функция равна 0, выводим комбинацию print(x,y,z)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!