Найти в Дзене
МОЙ РЕПЕТИТОР

Работа с логическими формулами в Python на примере задания №2 ЕГЭ (Часть 1)

🎓 Логические выражения являются базой как для решения заданий ЕГЭ по информатике, так и для любой программной деятельности. → В этой статье вы узнаете, как можно использовать Python: Для анализа логических выражений Построения таблиц истинности Создания логических формул Логические формулы — это фундамент не только ЕГЭ по информатике, но и любого программирования. Задание №2 ЕГЭ идеально подходит, чтобы научиться работать с логическими формулами на практике. Упражнение №2 — это задание базового уровня Цель задания — проверить умение экзаменуемого работать с логическими операциями и строить таблицы истинности. Задание оценивается в 1 первичный балл. 📥 Условие задачи → Условие задачи. Прежде чем перейти к решению данной задачи ⇪ необходимо тщательным образом изучить каждый логический оператор: Отрицание Дизъюнкция Конъюнкция Импликация Эквивалентность ↓↓↓↓↓ 📍Знакомство с логическими функциями начнём с операции — Отрицание ⤵ ОТРИЦАНИЕ логическое отрицание — это операция «НЕ» Чита
Оглавление

🎓 Логические выражения являются базой как для решения заданий ЕГЭ по информатике, так и для любой программной деятельности.

→ В этой статье вы узнаете, как можно использовать Python:

  • Для анализа логических выражений
  • Построения таблиц истинности
  • Создания логических формул

Логические формулы — это фундамент не только ЕГЭ по информатике, но и любого программирования. Задание №2 ЕГЭ идеально подходит, чтобы научиться работать с логическими формулами на практике.

  • Упражнение №2 — это задание базового уровня

Цель задания — проверить умение экзаменуемого работать с логическими операциями и строить таблицы истинности.

Задание оценивается в 1 первичный балл.

📥 Условие задачи →

Условие задачи.
Условие задачи.

Прежде чем перейти к решению данной задачи ⇪ необходимо тщательным образом изучить каждый логический оператор:

  • Отрицание
  • Дизъюнкция
  • Конъюнкция
  • Импликация
  • Эквивалентность

↓↓↓↓↓

📍Знакомство с логическими функциями начнём с операции — Отрицание ⤵

ОТРИЦАНИЕ

логическое отрицание — это операция «НЕ»

-3

Читается: «НЕ(А)», «not A», «отрицание от А», «инверсия А»

Обозначения: НЕ, ¬, A̅ (Алгебра логики), not (Python)

→ Отрицание — это логическая операция, которая меняет значение логической переменной на противоположное

Если исходное высказывание истинно, то после инверсии оно становится ложным, и наоборот

Что значит 'Истина' и 'Ложь'?

в логике и в Python

-4
  • True | Истина | 1 = условие выполняется, высказывание истинно
  • False | Ложь | 0 = условие не выполняется, высказывание ложно

Запись A = True указывает на то, что переменная А имеет значение «истина»

❕Важный момент:

Под переменной (А) подразумевается определенное высказывание

Высказывание — это фраза, которая имеет смысл и может быть либо правдой, либо неправдой

Высказывания в логике обозначают буквами (A, B, C и так далее), например:

Высказывание: А — Земля круглая 🌏

✅ Данная фраза имеет смысл и является абсолютной правдой

-5

→ Тогда для обратного утверждения необходимо взять отрицание от данного высказывания:

НЕ(А) — Земля НЕ круглая (Земя плоская) 😱

Примеры высказываний

  • 2 + 2 = 4 → Истинно (True)
  • Слон умеет летать → Ложно (False)
  • Сегодня идёт дождь → Может быть истинно или ложно, в зависимости от погоды на улице

✅ Все эти предложения — высказывания, потому что они могут быть или истинными (1, True) или ложными (0, False)

«Ты выполнил домашнюю работу?» Не является высказыванием, так как это вопрос, а не утверждение, которое можно оценить как истинное или ложное.

→ Для проверки всех возможных вариантов логической формулы используются таблицы истинности. Рассмотрим такие таблицы более подробно ⤵

Таблица истинности для отрицания

1 меняется на 0, а 0 — на 1

Поскольку любое высказывание может быть только истинным или ложным, таблица истинности будет состоять всего из двух строк ⤵

Таблица истинности для отрицания.
Таблица истинности для отрицания.

→ А — логическое высказывание, может быть либо истинным (1, True), либо ложным (0, False)

→ A̅ — отрицание логического высказывания

❕Основное правило:

  • если была истина (1, True) → становится ложь (0, False)
  • если было ложь (0, False) → становится истина (1, True)

Для лучшего понимания работы логического отрицания необходимо ознакомиться со следующим правилом

Закон двойного отрицания

если два раза использовать «не», то получится утверждение без изменений

Закон двойного отрицания.
Закон двойного отрицания.

¬(¬A) = A или другая запись НЕ(НЕ А) = А

Применение инверсии дважды возвращает исходное значение

«Не (не правда)» → значит правда

«Не (не работает)» → значит работает

📚Похожее правило из математики:

  • Минус на минус даёт плюс: -(-5) = 5

Графическое представление отрицания

с использованием диаграммы Венна и теории автоматов

  • Диаграмма Венна — это графическое отображение отношений между множествами
-8

Диаграммы Венна могут включать один или несколько кругов. Круги могут частично накладываться друг на друга, отображая зависимости между множествами.

  • Пересечение кругов (Общее на рисунке) — область, где оба множества одновременно истинны, то есть равны 1 (True)

Диаграмма Венна для отрицания

Для построения диаграммы необходимо нарисовать одну окружность с внешним прямоугольником ⤵

Схематическое изображение диаграммы Венна для операции отрицания.
Схематическое изображение диаграммы Венна для операции отрицания.
  • Окружность (А) — исходное множество (высказывание)
  • Область вне окружности (А) — инверсия исходного множества (высказывания)

↻ Логический элемент — инвертор

Схематическое изображение логического элемента — Инвертор.
Схематическое изображение логического элемента — Инвертор.

💈Логический элемент NOT (инвертор) реализует операцию отрицания, преобразуя входные данные в противоположные →

  • если на вход подаётся 1, на выходе получается 0
  • если на вход подаётся 0, то на выходе получается 1

ОТРИЦАНИЕ В PYTHON

используется для отрицания логических выражений

Приведём несколько примеров, которые помогут лучше разобраться с инверсией в Python ⤵

❶ Пример

Создаются три переменные (A, B, C). У каждой переменной свой тип (класс) ⤵

  • bool (сокращение от английского boolean) — логический тип данных в Python
  • int (сокращение от английского integer) — используется для работы с целыми числами

Для каждой переменной применяется операция отрицания и результат выводится на экран ⤵

Пример программы на Python, демонстрирующей использование логической операции отрицания.
Пример программы на Python, демонстрирующей использование логической операции отрицания.

Пример

Вновь создаются три переменные (A, B, C). Каждой переменной будет присвоен тип (bool) ⤵

  • A = 10 > 5 — переменная (А) имеет логический тип данных (bool) →

10 > 5 — это логическое выражение, которое записано в переменную (А). Данное выражение может быть либо истинным, либо ложным. В данном случае — ИСТИННА (так как 10 > 5)

Пример программы на Python, демонстрирующей использование логической операции отрицания.
Пример программы на Python, демонстрирующей использование логической операции отрицания.
  • B = 10 < 5 — переменная (B) тоже имеет логический тип данных (bool)
  • С = (6 % 2 == 0) — переменная (C) также принадлежит к логическому классу данных (bool) →

6 % 2 == 0 — это логическое выражение, которое записано в переменную (С). Оно проверяет кратно ли число 6 числу 2 (то есть делится ли без остатка). Данное выражение может быть либо истинным, либо ложным. В данном случае — ИСТИННА, так как 6 : 2 = 3 (остаток 0)

→ Прежде чем перейти к следующей логической функции немного остановимся на таблицах истинности →

ТАБЛИЦА ИСТИННОСТИ

для проверки всех возможных вариантов логической формулы

🔖 Таблица истинности — показывает, как меняется результат логического выражения при разных наборах истинных и ложных значений

  • Одна переменная:

Самая простая таблица — для одной переменной (одного высказывания)

В качестве примера отлично подойдёт таблица истинности для отрицания ⤵

Таблица истинности для одной переменной.
Таблица истинности для одной переменной.

Например, если дано произвольное выражение A (одно условие), то оно будет иметь всего 2 значения: 0 (Ложь / False) и 1 (Истина / True)

  • Две переменные:

Если речь идёт про две переменные, то есть сразу два логических высказывания, то таблица истинности будет содержать уже 4 строчки все возможные комбинации

Таблица истинности для двух переменных.
Таблица истинности для двух переменных.
  • Три переменные:

Таблица истинности для трёх переменных

Таблица истинности для трёх переменных.
Таблица истинности для трёх переменных.

❕Важное правило:

Для определения количества строк в таблице истинности нужно число 2 возвести в степень, равную количеству переменных
  • Если 2 переменных, то два во второй степени = 4 (4 строки)
  • Если 3 переменных, то два в третьей степени = 8 (8 строк)

В продолжении статьи рассмотрим другую важную логическую операцию — дизъюнкцию

ДИЗЪЮНКЦИЯ

Дизъюнкция — это логическая операция (логическое ИЛИ)

-16

Читается: «А ИЛИ В», «А плюс В», «А or B»

Обозначения: V (Алгебра логики), or (Python), ИЛИ, U (для множеств)

→ Дизъюнкция — это такое логическое слово, которое означает по смыслу слово ИЛИ

  • Смысл логического ИЛИ — «ИЛИ одно, ИЛИ другое, ИЛИ оба сразу»
-17
  • Дизъюнкция позволяет ответить на вопрос:

«Хотя бы одно из заданных условий верно?» — если да, то результат считается истинным.

-18

Если все логические выражения ложны, результат будет False

Если хотя бы одно из выражений истинно, результат будет True

«ИЛИ» — это как «хотя бы одно да»
(если хоть одно утверждение верно — всё выражение верно)

Графическое представление дизъюнкции

с использованием диаграммы Венна и логических элементов

Диаграмма Венна

  • Круг А — где A истинно (A = 1, B = 0)
  • Круг B — где B истинно (A = 0, B = 1)

Пересечение кругов — A и B одновременно истинны (A = 1, B = 1) ⤵

Схематическое изображение диаграммы Венна для  дизъюнкции.
Схематическое изображение диаграммы Венна для дизъюнкции.
ДИЗЪЮНКЦИЯ (A ИЛИ B) — ЭТО ВЕСЬ ОБЪЁМ ОБОИХ КРУГОВ

📌 Где дизъюнкция ложна на диаграмме Венна?

— Только вне обоих кругов, где A ложное и B ложное.

↻ Логический элемент — дизъюнктор

Схематическое изображение логического элемента — дизъюнктора.
Схематическое изображение логического элемента — дизъюнктора.

⇪ Логический элемент (ИЛИ) называется дизъюнктором и используется для выполнения логического сложения

➀ На выходе дизъюнктора появляется единица, когда хотя бы на один из входов поступит единица

⓪ Логический ноль на выходе будет только тогда, когда на всех входах будет ноль

ДИЗЪЮНКЦИЯ В PYTHON

Используется для проверки нескольких условий

Рассмотрим два примера, для лучшего понимания дизъюнкции в Python ⤵

❶ Пример

Какие результаты может выдавать дизъюнкция при разных вводах?

-21
  1. Программа просит пользователя ввести число (1 или 0) для каждой переменной (x, y, z).
  2. Функция input() получает введённый текст, а int() превращает его в целое число.
  3. После ввода: x = 0, y = 0 и z = 0.
  4. В функции print() применяется операция дизъюнкции для всех трёх переменных (x or y or z) и результат выводится на экран ⤵
Пример программы с использованием операции дизъюнкции в Python.
Пример программы с использованием операции дизъюнкции в Python.

Пример

«Какой сегодня день: Выходной или Учебный?»

-23

→ Пользователь вводит строку, которая записывается в переменную (day).

Далее возможны 2 варианта:

  1. Если день (day) равен 'Суббота' или 'Воскресенье', то программа выдаст сообщение: 'Ура, сегодня выходной!'.
  2. Если будет введен любой другой день, кроме (Суббота) или (Воскресенье), то программа выдаст сообщение: 'Сегодня учебный день(('
Пример программы  в Python с использованием операции дизъюнкции. Проверка вводимых данных.
Пример программы в Python с использованием операции дизъюнкции. Проверка вводимых данных.

📍Следующая логическая функция конъюнкция

▪КОНЪЮНКЦИЯ

Конъюнкция — это логическое умножение

-25

Читается: «A И B» или «А AND В» или «А умножить на В»

где А, B — логические условия (выражения)

Обозначения: ∧, И (Алгебра логики), and, & (Python)

→ Конъюнкция используется для объединения двух или более логических выражений.

-26
  • Конъюнкция позволяет ответить на вопрос:
«Истинны ли все высказывания одновременно?»

КОНЪЮНКЦИЯ В РЕАЛЬНОЙ ЖИЗНИ

Рассмотрим два простых примера из повседневной жизни, чтобы понять, как именно работает логический оператор «AND» ⤵

1️⃣ Пример

-27

Представьте, что вас пригласили на вечернюю прогулку в тёплый летний день. Перед выходом вы решаете обозначить условия, при которых точно согласитесь пойти:

«Я пойду гулять, если будет тепло И не будет дождя»

Если хоть одно из этих условий не выполнится — прогулки не будет

2️⃣ Пример

Вы решили приобрести новый телефон. Открыв сайт, начинаете подбирать модель, ориентируясь на несколько ключевых параметров. Для вас важны три основных условия:

-28
«Я куплю телефон только если он будет красного цвета, с памятью на 512 GB и поддерживать 2-х sim карты»

Если хотя бы одно из условий окажется ложным — покупка телефона не состоится

🔗 Конъюнкция используется при составлении условий (в жизни, математике, теории множеств, алгебре логики и так далее). Если нужно убедиться, что все условия (требования) будут выполнены и обязательно одновременно.

Таблица истинности наглядно демонстрирует основное правило конъюнкции

-29

Конъюнкция истинна только тогда, когда все утверждения истинны

ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ КОНЪЮНКЦИИ

с использованием диаграммы Венна и логических элементов

Диаграмма Венна

Для построения диаграммы Венна необходимо нарисовать две пересекающиеся окружности (А и В) ⤵

Диаграмма Венна для конъюнкции.
Диаграмма Венна для конъюнкции.

Для наглядности введем некоторые обозначения, пусть:

  • Круг А (множество А) — люди, которые любят пить кофе ☕
  • Круг B (множество В) — люди, которые любят пить чай 🍰

Тогда, где будет находиться конъюнкция на диаграмме Венна

Для ответа на вопрос, необходимо вспомнить важное правило:

  • Для конъюнкции требуется выполнение всех условий

→ Это значит, что на диаграмме нужно выделить ту область, где множества пересекаются ⤵

КОНЪЮНКЦИЯ (A И B) — ЭТО ПЕРЕСЕЧЕНИЕ ОБОИХ КРУГОВ
-31

Пересечение двух кругов — люди, которые любят и кофе, и чай. Это область, где множество (A) и множество (B) одновременно истинны (A = 1, B = 1).

↻ Логический элемент — конъюнктор

Схематическое изображение логического элемента — конъюнктора.
Схематическое изображение логического элемента — конъюнктора.

⇪ Логический элемент (И) называется конъюнктором и используется для выполнения логического умножения

➀ Логическая единица на выходе элемента появляется только тогда, когда на всех его входах присутствуют единицы

⓪ Если хотя бы один вход получает значение 0, то результат работы элемента будет равен 0.

КОНЪЮНКЦИЯ В PYTHON

Используется для проверки нескольких логических выражений

Рассмотрим несколько примеров, для лучшего понимания оператора конъюнкция в Python ⤵

Пример

Как работает конъюнкция (оператор and) в Python? Какие результаты (and) может выдавать при разных вводах?

-33
  1. Программа просит пользователя ввести число (1 или 0) для каждой переменной (x, y, z).
  2. Функция input() получает введённый текст, а int() превращает его в целое число.
  3. После ввода: x = 1, y = 1 и z = 1.
  4. В функции print() применяется операция конъюнкции для всех трёх переменных (x and y and z) и результат выводится на экран ⤵
Пример программы с использованием операции конъюнкции в Python.
Пример программы с использованием операции конъюнкции в Python.

Данная ⇪ программа демонстрирует основное свойство конъюнкции:

Конъюнкция истинна только тогда, когда все утверждения истинны

Пример

🆚 Конъюнкция часто используется в условных операторах для проверки нескольких условий.

→ С клавиатуры вводится число, которое записывается в переменную (х). От того, какое значение введено, зависит дальнейший вывод программы ⤵

Пример программы с использованием операции конъюнкции в Python для проверки нескольких условий.
Пример программы с использованием операции конъюнкции в Python для проверки нескольких условий.

→ Когда введённое число (а) будет больше 0 и меньше 10, то оно будет находится внутри диапазона [0; 10]. В таком случае, на экране появится надпись: 'Число (а) больше 0 и меньше 10'

✖ Если хотя бы одно условие ложно, то число не будет лежать внутри этого диапазона. На экране появится надпись:

'Число не принадлежит диапазону от 0 до 10'

Пример

🔐Авторизация пользователя

Данный фрагмент кода проверяет корректность введённых пользователем данных. Пользователь должен ввести логин и пароль

-36
  1. Если логин равен 'mega_boss' и пароль — '12345', доступ разрешается. То есть оба значения введены верно. Пользователь прошёл проверку ✅
  2. Если хотя бы одно из полей (логин или пароль) введено неправильно, программа выведет сообщение: 'Ошибка входа'.
Код программы для проверки правильного ввода логина и пароля в Python, с использованием оператора конъюнкция.
Код программы для проверки правильного ввода логина и пароля в Python, с использованием оператора конъюнкция.

🚥 Таким образом, оператор (and) позволяет задать сразу несколько обязательных условий, например: логин, пароль, возраст, код подтверждения и так далее.

❕Если хотя бы одно из условий окажется ложным, программа не выполнит блок (if) и выведет: 'Ошибка входа'

🔜 Теперь перейдём к следующему шагу — построению таблицы истинности как с помощью программы на Python, так и вручную →

ПОСТРОЕНИЕ ТАБЛИЦЫ ИСТИННОСТИ

Ниже приведены 2 способа построения таблицы истинности ⤵

  1. С помощью написания кода в Python
  2. Построение вручную, на листке или в Paint, без использования программного кода

ПОСТРОЕНИЕ ТАБЛИЦЫ ИСТИННОСТИ С ИСПОЛЬЗОВАНИЕМ PYTHON — ВАЖНЫЙ ЭТАП ПОДГОТОВКИ К РЕШЕНИЮ ЗАДАНИЯ ЕГЭ №2 →

С ПОМОЩЬЮ PYTHON

Рассмотрим пример построения таблицы истинности с применением операций отрицания, дизъюнкции и конъюнкции ⤵

-38

Поскольку в логической формуле ⇪ задействованы две переменные — (x) и (y), для построения таблицы истинности необходимо применить два вложенных цикла (for) ⤵

  • Внешний цикл: for x in range(0, 2) перебирает значения для x (0 и 1)
  • Внутренний цикл: for y in range(0, 2) — значения y (также 0 и 1)

На следующем шаге, логическое выражение следует записать в переменную f, используя соответствующие операторы в Python ⤵

Код программы для создания таблицы истинности в Python с использованием логических функций.
Код программы для создания таблицы истинности в Python с использованием логических функций.

→ После выполнения программы на экран выводится таблица истинности, в которой показаны результаты работы всех логических операций. Итоговое значение выражения столбец — f

❕Важные моменты:

  1. Функция int() преобразует логические значения True и False в числовой формат (1 или 0), что делает таблицу истинности более удобной.
  2. В функции print() можно заранее указать названия столбцов, которые появятся после выполнения программы.

↻ ПОСТРОЕНИЕ ВРУЧНУЮ

Для построения таблицы истинности без использования Python необходимо:

  1. Записать все значения (x) и (y) вертикально в столбик — на листе или в цифровом документе
  2. Выполнить поочередно все логические функции: сначала отрицание (not х), потом конъюнкция (y and x ) и дизъюнкция обоих выражений ⤵
Создание таблицы истинности для функции (f).
Создание таблицы истинности для функции (f).

🔎 Рассмотрим подробно каждый шаг алгоритма по построению таблицы истинности ручным методом ⤵

  • Первый шаг — отрицание переменной (х)
Первый шаг. Создание таблицы истинности ручным методом.
Первый шаг. Создание таблицы истинности ручным методом.

Все элементы из столбца (х) заменяются на противоположные: 0 на 1, а 1 на 0. Результат заносятся в новый столбец: not(x)

  • Второй шаг— конъюнкция переменных (y and x)
Второй шаг. Создание таблицы истинности ручным методом.
Второй шаг. Создание таблицы истинности ручным методом.

Каждое значение из столбика переменной (y) умножается на каждое значение из столбика переменной (х) по правилу: (1 and 0 = 0, 1 and 1 = 1). После чего результаты записываются в новый столбец: у and x

  • Третий шаг — дизъюнкция первого и второго действий
Третий шаг. Создание таблицы истинности ручным методом.
Третий шаг. Создание таблицы истинности ручным методом.

Выполняется логическое сложение первого и второго действий. Каждое значение из столбика not(x) складывается с каждым значением из столбика (y and x) по правилу: 0 + 0 = 0, 1 + 0 = 1. Результат дизъюнкции записывается в новый столбец. Таблица готова ✅

  • Итоговый результат ⤵
Таблица истинности для функции (f). Построение таблицы выполнено ручным методом.
Таблица истинности для функции (f). Построение таблицы выполнено ручным методом.

🔖 Промежуточные итоги:

  • Отрицание — это логическая операция, которая меняет значение логической переменной на противоположное.
  • Смысл логического ИЛИ — «ИЛИ одно, ИЛИ другое, ИЛИ оба сразу.
  • Конъюнкция (and) — это логическое умножение.

🔜 На очереди следующая логическая функция — Импликация ⤵

▪ИМПЛИКАЦИЯ

импликация — это логическая операция для описания зависимости между высказываниями

-45

Читается: «если A, то B» или «А следует В»

  • A — это условие (посылка)
  • B — это вывод (следствие)

Обозначения: →, ⇒ (Алгебра логики) | A <= B, not(A) or B (Python)

ИМПЛИКАЦИЯ ПРОВЕРЯЕТ:

→ Если условие A соблюдено, то условие B тоже должно выполняться

ПРИМЕР ИЗ ЖИЗНИ:

Если ты пришёл в школу (A), то ты учишься (B)

А — это условие (если пришёл в школу) | B — это вывод (то будешь учиться)

-46
  • Не пришёл и не учишься → всё логично! ✅ (0 ⇒ 0)
  • Не пришёл, но учишься → если занятия дистанционные ✅ (0 ⇒ 1)
  • Пришёл, но не учишься → такого не может быть ❌ (1 ⇒ 0)
  • Пришёл и учишься → всё отлично ✅ (1 ⇒ 1)

ТАБЛИЦА ИСТИННОСТИ:

-47

Импликация ложно тогда и только тогда, когда из истины следует ложь: 1 → 0 или True → False

Графическое представление импликации

с использованием диаграмм Венна

Диаграмма Венна для импликации.
Диаграмма Венна для импликации.

📌 Где импликация ложна на диаграмме Венна?

— Импликация ложна только тогда, когда A истинно (= 1), а B ложно.

Во всех остальных случаях импликация считается истинной (включая ситуации, когда A ложно — это так называемая вакантная истинность).

ИМПЛИКАЦИЯ В PYTHON

Как работает импликация (оператор <=) в Python? Какие результаты (<=) может выдавать при разных вводах?

  • Рассмотрим конкретный пример ⤵
-49
  1. Программа просит пользователя ввести число (1 или 0) для каждой переменной (x, y, z).
  2. Функция input() получает введённый текст, а int() превращает его в целое число.
  3. После ввода: x = 0, y = 0 и z = 0.
  4. В функции print() применяется операция импликации между дизъюнкцией (x or y) и переменной (z) ⤵
Пример программы с использованием операций дизъюнкции и импликации в Python.
Пример программы с использованием операций дизъюнкции и импликации в Python.

Импликация работает по принципу: «если …, то …». Нарушается она только тогда, когда обещали одно (A истинно), а выполнилось другое (B оказалось ложным).

  • Импликация — основа логики, математики и программирования

🔜 Переходим к следующей логической функции — Эквивалентность ⤵

▪ЭКВИВАЛЕНТНОСТЬ

— это операция, при которой истинность одного утверждения всегда равна истинности другого

-51

Читается: «A эквивалентно B»

Обозначения: «А ~ В», «А ⇔ В», «А ≡ В», «А = В»

→ Эквивалентность — логическое тождество, равнозначность

Смысл эквивалентности — это когда два высказывания имеют одинаковую правдивость: либо оба истинны, либо оба ложны

-52
  • Эквивалентность позволяет ответить на вопрос:

«Происходит ли одно ровно тогда, когда происходит другое?» — если да, то результат будет считаться истинным ⤵

-53

✅ Эквивалентность истина тогда и только тогда, когда оба высказывания имеют одинаковую истинность, либо оба истины, либо оба ложны

→ Эквивалентность — это как два включателя света, соединённые вместе так, что они оба включены, либо оба выключены

-54

ПРИМЕР ИЗ ЖИЗНИ:

«Является ли утверждение А тем же самым, что и утверждение B?»
  • Первое высказывание (A) — «Число делится на 2»
  • Второе высказывание (B) — «Число чётное»

→ Да, это эквивалентные высказывания. Так как смысл обоих высказываний полностью совпадает.

Графическое представление эквивалентности

с использованием диаграмм Венна

  • Множество А — все случаи, когда утверждение A истинно.
  • Множество B — все случаи, когда утверждение B истинно.
Графическое представление эквивалентности с использованием диаграмм Венна.
Графическое представление эквивалентности с использованием диаграмм Венна.

Расположение эквивалентности на диаграмме (фиолетовый цвет):

  • Область, находящаяся за границами двух пересекающихся кругов — соответствует значениям A = 0, B = 0.
  • Пересечение областей — соответствует значениям A = 1, B = 1.

Объединение этих двух областей и будет графическим представлением логической операции эквивалентности.

ЭКВИВАЛЕНТНОСТЬ В PYTHON

Используется для проверки нескольких логических выражений

-56
  1. Программа просит пользователя ввести True / False для каждой переменной (x, y).
  2. Функция input() получает введённые данные
  3. После ввода: x = True, y = True
  4. В функции print() применяется операция эквивалентности для двух переменных (x == y) и результат выводится на экран ⤵
Пример программы с использованием операции эквивалентность в Python.
Пример программы с использованием операции эквивалентность в Python.

Данная ⇪ программа демонстрирует основное свойство эквивалентности:

Выражение считается истинным только тогда, когда оба логических значения совпадают — либо оба истинны, либо оба ложны.

Например, если (x = True) и (y = True), то результат (x == y) будет True.

Если же (x = False), а (y = True), то (x == y) вернёт False.

ПОСТРОЕНИЕ ТАБЛИЦЫ ИСТИННОСТИ

Ниже приведены 2 способа построения таблицы истинности ⤵

  1. С помощью написания кода в Python
  2. Построение вручную, на листке или в Paint, без использования программного кода

ПОСТРОЕНИЕ ТАБЛИЦЫ ИСТИННОСТИ С ИСПОЛЬЗОВАНИЕМ PYTHON — ВАЖНЫЙ ЭТАП ПОДГОТОВКИ К РЕШЕНИЮ ЗАДАНИЯ ЕГЭ №2 →

В PYTHON

Рассмотрим пример построения таблицы истинности с применением операций эквивалентности, конъюнкции и дизъюнкции ⤵

Исходная функция.
Исходная функция.

В исходной логической функции ⇪ используются две переменные — (х) и (у). Поэтому, для создания таблицы истинности необходимо использовать два цикла (for) →

❕Циклы (for) должны быть вложенными - то есть один внутри другого ⤵

  • Внешний цикл for x in range(0, 2) перебирает значения для x (0 и 1)
  • Внутренний for y in range(0, 2) — значения y (также 0 и 1)

На следующем шаге, логическое выражение следует записать в переменную f, используя соответствующие операторы в Python ⤵

Код программы для создания таблицы истинности в Python с использованием логических функций.
Код программы для создания таблицы истинности в Python с использованием логических функций.

→ После запуска программы на экране отобразится таблица истинности с результатами всех операций. Столбец (f) — итоговый результат

❕Важные моменты:

  1. С помощью функции int() логические значения (True / False) переводятся в числа (1 / 0). Благодаря этому таблица истинности отображается в более удобном числовом формате.
  2. В функции print() можно заранее указать названия столбцов, которые появятся после выполнения программы.

РУЧНОЙ СПОСОБ

Для построения таблицы истинности без использования Python необходимо:

  1. Записать значения для переменных (х) и (у) в столбик (на листе бумаги или в любом графическом редакторе)
  2. Выполнить поочередно все логические функции: сначала эквивалентность (х == у), потом дизъюнкция (y or x ) и записать результат ⤵

🔎 Рассмотрим подробно каждый шаг алгоритма по построению таблицы истинности ручным методом ⤵

  • Первое действие — эквивалентность переменных (х) и (y)
Создание таблицы истинности ручным методом. Первое действие.
Создание таблицы истинности ручным методом. Первое действие.

→ Каждая строка столбцов (х) и (у) сравнивается между собой по закону эквивалентности: 1 ≡ 1 — результат 1, если 1 ≡ 0 — результат 0. Полученные значения формируют новый столбец x == y.

  • Второе действие — дизъюнкция переменных (y or x)
Создание таблицы истинности ручным методом. Второе действие.
Создание таблицы истинности ручным методом. Второе действие.

→ Для каждой строки осуществляется логическое сложение (х) и (у) по правилу: если хоть одно значение = 1, то ответ будет 1. Далее полученный результат помещается в столбец для дизъюнкции x or y.

  • Третье действие — конъюнкция первого и второго действий
Создание таблицы истинности ручным методом. Третье действие.
Создание таблицы истинности ручным методом. Третье действие.

→ Выполняется операция логического умножения между результатами первого и второго этапа. Каждое значение из столбца (x == y) последовательно умножается на значение из столбца (y or x) по правилу: 1 and 0 = 0, 1 and 1 = 1. Полученные результаты вносятся в новый столбец. Таблица сформирована ✅

Итоговый результат ⤵

Таблица истинности для функции (f). Построение таблицы выполнено ручным методом.
Таблица истинности для функции (f). Построение таблицы выполнено ручным методом.

🔥Отлично!

→ ЕСЛИ ВЫ ДОШЛИ ДО ЭТОГО МЕСТА И РАЗОБРАЛИСЬ В ИЗЛОЖЕННОЙ ИНФОРМАЦИИ, ТО ВЫ УСПЕШНО ПРЕОДОЛЕЛИ ПОЛОВИНУ ПУТИ К ВЫПОЛНЕНИЮ ЗАДАНИЯ №2 ЕГЭ.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ ...

😉 Good job! Keep it up! Good luck!

-64

📌 Полезные материалы для изучения Python ⤵

Всё, что нужно знать о типах данных в Python
МОЙ РЕПЕТИТОР2 февраля
Полный гайд по циклу FOR в Python
МОЙ РЕПЕТИТОР20 сентября 2024