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

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

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

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

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

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

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