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

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

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

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

Задача 1#6508

Логическая функция F  задаётся выражением           --
(y → z ) ∧ x.  Определите, какому столбцу таблицы истинности функции F  соответствует каждая из переменных x,  y,  z.

--------------------
|???  |??? |??? |F  |
|-----|----|----|---|
|-0---|-0--|-0--|1--|
|-0---|-0--|-1--|1--|
--1-----0----1---1--|
Показать ответ и решение

Решение руками:

Так как конъюнкция истинна тогда и только тогда, когда все высказывания, входящие в нее, истинны, то (y →  z)  и x-  должны быть одновременно истинны. Если x-=  1,  то x =  0.  В таком случае x  соответствует второй столбец (так как только в нем нет ни одной единицы).

Рассмотрим (y → z).  Нам нужно, чтобы данная импликация была истинна. Легче исключить один случай, когда импликация ложна, так как она ложна тогда и только тогда, когда из истины следует ложь, то есть когда y = 1,  a z = 0.  Рассмотрим вторую строку. Видим, что переменная y  не может соответствовать третьему столбцу, так как тогда y =  1,  z = 0  и y →  z = 1 →  0,  F =  0.  Получается, третьему столбцу соответствует z,  а первому — y.

Решение программой с помощью циклов:

Напишем программу, которая проверяет все возможные комбинации значений переменных x, y, z (0 или 1) и выводит только те наборы, при которых заданное логическое выражение истинно. Используя вложенные циклы, код последовательно перебирает 8 вариантов, вычисляя для каждого результат выражения, и выводит на экран подходящие комбинации.


# Выводим заголовок для наглядности (значения переменных)
print("x y z")

# Перебираем все возможные комбинации x, y, z
for x in range(2):
    for y in range(2):
        for z in range(2):
            # Проверяем, что логическое выражение с текущим набором переменных дает истину
            if (y <= z) and not x:
                # Если условие выполнено, выводим текущую комбинацию
                print(x, y, z)

Решение программой с помощью itertools:

Перебор комбинаций x, y, z можно также организовать с помощью функции product из модуля itertools. Она генерирует все 8 вариантов комбинаций, а затем вычисляет значение выражения для каждого случая и выводит на экран подходящие комбинации.

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

# Выводим заголовок таблицы
print("x y z")
# Генерируем все возможные комбинации из 0 и 1 длины 3 (для x,y,z)
for x, y, z in product([0, 1], repeat = 3):
    # Проверяем, что логическое выражение с текущим набором переменных дает истину
    if (y <= z) and not x:
        # Выводим подходящую комбинацию
        print(x, y, z)

Получим такой вывод:

x y z

0 0 0

0 0 1

0 1 1

Рассмотрим столбец с тремя нулями (второй) - это может быть только переменая x. Тогда столбец с одной единицей (первый) - переменная у. Значит третий столбец - переменная z. Ответ: yxz  .

Ответ: yxz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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