Тема 2. Алгебра логики – таблицы истинности

2.01 Полностью заполненные фрагменты таблицы истинности

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгебра логики – таблицы истинности
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#6393

Логическая функция F  задаётся выражением:

x ∨ ((z → y) ∧ (z ∨ w ))

Ниже представлен фрагмент таблицы истинности функции F.

|----|----|----|----|---|
|???-|???-|???-|???-|F--|
|-0--|-1--|-0--|-0--|-0-|
|-1--|-1--|-0--|-0--|-0-|
| 0  | 1  | 1  | 0  | 0 |
|----|----|----|----|---|
--1----1----0----1----0--

Определите, какому столбцу истинности функции F  соответствует каждая переменная x,y,z,w

Показать ответ и решение

Идея решения через циклы:

Программа перебирает все возможные значения переменных x,y, z,w  с помощью вложенных циклов. Для каждого набора вычисляется значение функции F  = x-∨ ((z → y ) ∧ (z ∨ w))  . Если функция равна 0 (ложь), комбинация переменных выводится на экран.

Код решения через циклы

# Выводим заголовок таблицы
print("x y z w")

# Возможные значения переменных (0 и 1)
a = (0, 1)

# Перебираем все возможные значения переменной x
for x in a:
    # Перебираем все возможные значения переменной y
    for y in a:
        # Перебираем все возможные значения переменной z
        for z in a:
            # Перебираем все возможные значения переменной w
            for w in a:
                # Вычисляем логическое выражение
                if (not(x) or ((z <= y) and (z or w))) == False:
                    # Если результат ложный (0), выводим комбинацию
                    print(x, y, z, w)

Идея решения через itertools:

Здесь перебор всех комбинаций значений переменных организован с помощью функции product из itertools, которая сразу генерирует все наборы длиной 4. Для каждого набора проверяется условие, и если функция равна 0, комбинация выводится на экран.

Код решения через itertools

# Импортируем функцию product для генерации комбинаций
from itertools import product

# Выводим заголовок таблицы
print("w x y z")

# Перебираем все комбинации значений w, x, y, z
for w,x,y,z in product([0,1], repeat=4):
    # Проверяем значение логического выражения
    if (not(x) or ((z <= y) and (z or w))) == False:
        # Если результат равен 0, выводим комбинацию
        print(w,x,y,z)

Аналитическое решение:

1. Для ложности функции F  переменная x  должна принимать значение 1. Следовательно, данная переменная занимает второй столбец.

2. Рассмотрим четвёртую строку. Предположим, что z  занимает третий столбец. В таком случае импликация и дизъюнкция будут истинны, а значит, конъюнкция будет истинна. Если w  занимает третий столбец, то конъюнкция будет так же истинна. Если же y  занимает третий столбец, то импликация будет ложной, а значит, и конъюнкция будет ложной. Тогда y  занимает третий столбец.

3. Рассмотрим вторую строчку. В ней y  принимает значение 0. Если z  занимает четвёртый столбец, то дизъюнкция и импликация будут истинны, а значит, конъюнкция будет истинна. Следовательно, z  занимает первый столбец, а переменная w  занимает четвёртый.

Ответ: zxyw

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!