Алгебра логики
Алгебра логики
Алгебра логики (англ. algebra of logic) — один из основных разделов математической логики, в котором методы алгебры используются в логических преобразованиях.
Основоположником алгебры логики является английский математик и логик Дж. Буль (1815–1864), положивший в основу своего логического учения аналогию между алгеброй и логикой. Любое высказывание он записывал с помощью символов разработанного им языка и получал «уравнения», истинность или ложность которых можно было доказать, исходя из определенных логических законов, таких как законы коммутативности, дистрибутивности, ассоциативности и др.
Современная алгебра логики является разделом математической логики и изучает логические операции над высказываниями с точки зрения их истинностного значения (истина, ложь). Высказывания могут быть истинными, ложными или содержать истину и ложь в разных соотношениях.
Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно утверждать, что его содержание истинно или ложно.
Например, «3 умножить на 3 равно 9», «Архангельск севернее Вологды» — истинные высказывания, а «Пять меньше трех», «Марс — звезда» — ложные.
Очевидно, что не всякое предложение может быть логическим высказыванием, т. к. не всегда есть смысл говорить о его ложности или истинности. Например, высказывание «Информатика — интересный предмет» неопределенно и требует дополнительных сведений, а высказывание «Для ученика 10-А класса Иванова А. А. информатика — интересный предмет» в зависимости от интересов Иванова А. А. может принимать значение «истина» или «ложь».
Кроме двузначной алгебры высказываний, в которой принимаются только два значения — «истинно» и «ложно», существует многозначная алгебра высказываний. В такой алгебре, кроме значений «истинно» и «ложно», употребляются такие истинностные значения, как «вероятно», «возможно», «невозможно» и т. д.
В алгебре логики различаются простые (элементарные) высказывания, обозначаемые латинскими буквами (A, B, C, D, …), и сложные (составные), составленные из нескольких простых с помощью логических связок, например таких, как «не», «и», «или», «тогда и только тогда», «если … то». Истинность или ложность получаемых таким образом сложных высказываний определяется значением простых высказываний.
Обозначим как А высказывание «Алгебра логики успешно применяется в теории электрических схем», а через В — «Алгебра логики применяется при синтезе релейно-контактных схем».
Тогда составное высказывание «Алгебра логики успешно применяется в теории электрических цепей и при синтезе релейно-контактных схем» можно кратко записать как А и В; здесь «и» — логическая связка. Очевидно, что поскольку элементарные высказывания А и В истинны, то истинно и составное высказывание А и В.
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение.
Логических значений всего два: истина (TRUE) и ложь (FALSE). Это соответствует цифровому представлению — 1 и 0. Результаты каждой логической операции можно записать в виде таблицы. Такие таблицы называют таблицами истинности.
Основные операции алгебры логики
1. Логическое отрицание, инверсия (лат. inversion — переворачивание) — логическая операция, в результате которой из данного высказывания (например, А) получается новое высказывание (не А), которое называется отрицанием исходного высказывания, обозначается символически чертой сверху ($A↖{-}$) или такими условными обозначениями, как ¬, ‘not’, и читается: «не А», «А ложно», «неверно, что А», «отрицание А». Например, «Марс — планета Солнечной системы» (высказывание А); «Марс — не планета Солнечной системы» ($A↖{-}$); высказывание «10 — простое число» (высказывание В) ложно; высказывание «10 — не простое число» (высказывание B ) истинно.
Операция, используемая относительно одной величины, называется унарной. Таблица значений данной операции имеет вид
A | ¬A |
истина | ложь |
ложь | истина |
или
Высказывание $A↖{-}$ ложно, когда А истинно, и истинно, когда А ложно.
Геометрически отрицание можно представить следующим образом: если А — это некоторое множество точек, то $A↖{-}$ — это дополнение множества А, т. е. все точки, которые не принадлежат множеству А.
2. Конъюнкция (лат. conjunctio — соединение) — логическое умножение, операция, требующая как минимум двух логических величин (операндов) и соединяющая два или более высказываний при помощи связки «и» (например, «А и В»), которая символически обозначается с помощью знака ∧ (А ∧ В) и читается: «А и В». Для обозначения конъюнкции применяются также следующие знаки: А ∙ В; А & В, А and В, а иногда между высказываниями не ставится никакого знака: АВ. Пример логического умножения: «Этот треугольник равнобедренный и прямоугольный». Данное высказывание может быть истинным только в том случае, если выполняются оба условия, в противном случае высказывание ложно.
Таблица истинности операции имеет вид
A | B | A ∧ B |
истина | ложь | ложь |
ложь | истина | ложь |
ложь | ложь | ложь |
истина | истина | истина |
или
A | B | A ∧ B |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
Высказывание А ∧ В истинно только тогда, когда оба высказывания — А и В истинны.
Геометрически конъюнкцию можно представить следующим образом: если А, В — это некоторые множества точек, то А ∧ В есть пересечение множеств А и В.
3. Дизъюнкция (лат. disjunction — разделение) — логическое сложение, операция, соединяющая два или более высказываний при помощи связки «или» (например, «А или В»), которая символически обозначается с помощью знака ∨ (А ∨ В) и читается: «А или В». Для обозначения дизъюнкции применяются также следующие знаки: А + В; А or В; А | B. Пример логического сложения: «Число x делится на 3 или на 5». Это высказывание будет истинным, если выполняются оба условия или хотя бы одно из условий.
Таблица истинности операции имеет вид
A | B | A ∨ B |
истина | ложь | истина |
ложь | истина | истина |
ложь | ложь | ложь |
истина | истина | истина |
или
A | B | A ∨ B |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
1 | 1 | 1 |
Высказывание А ∨ В ложно только тогда, когда оба высказывания — А и В ложны.
Геометрически логическое сложение можно представить следующим образом: если А, В — это некоторые множества точек, то А ∨ В — это объединение множеств А и В, т. е. фигура, объединяющая и квадрат, и круг.
4. Дизъюнкция строго-разделительная, сложение по модулю два — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле, которая символически обозначается с помощью знаков ∨ ∨ или ⊕ (А ∨ ∨ В, А ⊕ В) и читается: «либо А, либо В». Пример сложения по модулю два — высказывание «Этот треугольник тупоугольный или остроугольный». Высказывание истинно, если выполняется какое-то одно из условий.
Таблица истинности операции имеет вид
А | В | А ⊕ B |
истина | ложь | истина |
ложь | истина | истина |
ложь | ложь | ложь |
истина | истина | ложь |
или
А | В | А ⊕ B |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
1 | 1 | 0 |
Высказывание А ⊕ В истинно только тогда, когда высказывания А и В имеют различные значения.
5. Импликация (лат. implisito — тесно связываю) — логическая операция, соединяющая два высказывания при помощи связки «если…, то» в сложное высказывание, которое символически обозначается с помощью знака → (А → В) и читается: «если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяется также знак ⊃ (A ⊃ B). Пример импликации: «Если полученный четырехугольник квадрат, то около него можно описать окружность». Эта операция связывает два простых логических выражения, из которых первое является условием, а второе — следствием. Результат операции ложен только тогда, когда предпосылка есть истина, а следствие — ложь. Например, «Если 3 * 3 = 9 (А), то Солнце — планета (В)», результат импликации А → В — ложь.
Таблица истинности операции имеет вид
А | В | А → В |
истина | ложь | ложь |
ложь | истина | истина |
ложь | ложь | истина |
истина | истина | истина |
или
А | В | А → В |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из истины — только истина.
6. Эквивалентность, двойная импликация, равнозначность (лат. aequalis — равный и valentis — имеющий силу) — логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А ≡ В, которое читается: «А эквивалентно B». Для обозначения эквивалентности применяются также следующие знаки: ⇔, ∼. Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Примером эквивалентности является высказывание: «Треугольник будет прямоугольным тогда и только тогда, когда один из углов равен 90 градусам».
Таблица истинности операции эквивалентности имеет вид
А | В | А ∼ В |
истина | ложь | ложь |
ложь | истина | ложь |
ложь | ложь | истина |
истина | истина | истина |
или
А | В | А ∼ В |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
1 | 1 | 1 |
Операция эквивалентности противоположна сложению по модулю два и имеет результат «истина» тогда и только тогда, когда значения переменных совпадают.
Зная значения простых высказываний, можно на основании таблиц истинности определить значения сложных высказываний. При этом важно знать, что для представления любой функции алгебры логики достаточно трех операций: конъюнкции, дизъюнкции и отрицания.
Сложение по модулю два | А ⊕ В | $(A↖{-} ∧B) ∧ (A ∧ B↖{-})$ |
Импликация | А → В | $A↖{-} ∨ B$ |
Эквивалентность | А ∼ В | $(A↖{-} ∧ B↖{-}) ∨ (A ∧ B)$ |
Приоритет выполнения логических операций следующий: отрицание («не») имеет самый высокий приоритет, затем выполняется конъюнкция («и»), после конъюнкции — дизъюнкция («или»).
С помощью логических переменных и логических операций любое логическое высказывание можно формализовать, т. е. заменить логической формулой. При этом элементарные высказывания, образующие составное высказывание, могут быть абсолютно не связаны по смыслу, но это не мешает определять истинность или ложность составного высказывания. Например, высказывание «Если пять больше двух (А), то вторник всегда наступает после понедельника (В)» — импликация А → В, и результат операции в данном случае — «истина». В логических операциях смысл высказываний не учитывается, рассматривается только их истинность или ложность.
Рассмотрим, например, построение составного высказывания из высказываний А и В, которое было бы ложно тогда и только тогда, когда оба высказывания истинны. В таблице истинности для операции сложения по модулю два находим: 1 ⊕ 1 = 0. А высказывание может быть, например, таким: «Этот мяч полностью красный или полностью синий». Следовательно, если утверждение А «Этот мяч полностью красный» — истина, и утверждение В «Этот мяч полностью синий» — истина, то составное утверждение — ложь, т. к. одновременно и красным, и синим мяч быть не может.
Примеры решения задач
Пример 1. Определить для указанных значений X значение логического высказывания ((X > 3) ∨ (X < 3)) → (X < 4) :
1) X = 1; 2) X = 12; 3) X = 3.
Решение. Последовательность выполнения операций следующая: сначала выполняются операции сравнения в скобках, затем дизъюнкция, и последней выполняется операция импликации. Операция дизъюнкции ∨ ложна тогда и только тогда, когда оба операнда ложны. Таблица истинности для импликации имеет вид
A | B | A → B |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
Отсюда получаем:
1) для X = 1:
((1 > 3) ∨ (1 < 3)) → (1 < 4) = ложь ∨ истина → истина = истина → истина = истина;
2) для X = 12:
((12 > 3) ∨ (12 < 3) → (12 < 4) = истина ∨ ложь → ложь = истина → ложь = ложь;
3) для X = 3:
((3 > 3) ∨ (3 < 3)) → (3<4) = ложь ∨ ложь → истина = ложь → истина = истина.
Пример 2. Указать множество целых значений X, для которых истинно выражение ¬((X > 2) → (X > 5)) .
Решение. Операция отрицания применена ко всему выражению ((X > 2) → (X > 5)) , следовательно, когда выражение ¬((X > 2) → (X > 5)) истинно, выражение ((X > 2) →(X > 5)) ложно. Поэтому необходимо определить, для каких значений X выражение ((X > 2) → (X > 5)) ложно. Операция импликации принимает значение «ложь» только в одном случае: когда из истины следует ложь. А это выполняется только для X = 3; X = 4; X = 5.
Пример 3. Для каких из приведенных слов ложно высказывание ¬(первая буква гласная ∧ третья буква гласная) ⇔ строка из 4 символов? 1) асса; 2) куку; 3) кукуруза; 4) ошибка; 5) силач.
Решение. Рассмотрим последовательно все предложенные слова:
1) для слова асса получим: ¬(1 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
2) для слова куку получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;
3) для слова кукуруза получим: ¬ (0 ∧ 0) ⇔ 0, 1 ⇔ 0 — высказывание ложно;
4) для слова ошибка получим: ¬ (1 ∧ 1) ⇔ 0, 0 ⇔ 0 — высказывание истинно;
5) для слова силач получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 0 — высказывание ложно.
Логические выражения и их преобразование
Под логическим выражением следует понимать такую запись, которая может принимать логическое значение «истина» или «ложь». При таком определении среди логических выражений необходимо различать:
- выражения, которые используют операции сравнения («больше», «меньше», «равно», «не равно» и т. п.) и принимают логические значения (например, выражение а > b , где а = 5 и b = 7, равно значению «ложь»);
- непосредственные логические выражения, связанные с логическими величинами и логическими операциями (например, A ∨ В ∧ С, где А = истина, B = ложь и C = истина).
Логические выражения могут включать в себя функции, алгебраические операции, операции сравнения и логические операции. В этом случае приоритет выполнения действий следующий:
- вычисление существующих функциональных зависимостей;
- выполнение алгебраических операций (вначале умножение и деление, затем вычитание и сложение);
- выполнение операций сравнения (в произвольном порядке);
- выполнение логических операций (вначале операции отрицания, затем операции логического умножения, логического сложения, последними выполняются операции импликации и эквивалентности).
В логическом выражении могут использоваться скобки, которые изменяют порядок выполнения операций.
Пример. Найти значение выражения:
$1 ≤ a ∨ A ∨ sin(π/a – π/b) < 1 ∧ ¬B ∧ ¬(b^a + a^b > a + b ∨ A ∧ B)$ для а = 2, b = 3, A = истина, В = ложь.
Решение. Порядок подсчета значений:
1) ba + ab > a + b, после подстановки получим: 32 + 23 > 2 + 3, т. е. 17 > 2 + 3 = истина;
2) A ∧ B = истина ∧ ложь = ложь.
Следовательно, выражение в скобках равно (ba + ab > a + b ∨ A ∧ B) = истина ∨ ложь = истина;
3) 1≤ a = 1 ≤ 2 = истина;
4) sin(π/a – π/b) < 1 = sin(π/2 – π/3) < 1 = истина.
После этих вычислений окончательно получим: истина ∨ А ∧ истина ∧ ¬В ∧ ¬истина.
Теперь должны быть выполнены операции отрицания, затем логического умножения и сложения:
5) ¬В = ¬ложь = истина; ¬истина = ложь;
6) A ∧ истина ∧ истина ∧ ложь = истина ∧ истина ∧ истина ∧ ложь = ложь;
7) истина ∨ ложь = истина.
Таким образом, результат логического выражения при заданных значениях— «истина».
Примечание. Учитывая, что исходное выражение есть, в конечном итоге, сумма двух слагаемых, и значение одного из них 1 ≤ a = 1 ≤ 2 = истина, без дальнейших вычислений можно сказать, что результат для всего выражения тоже «истина».
Тождественные преобразования логических выражений
В алгебре логики выполняются основные законы, позволяющие производить тождественные преобразования логических выражений.
Закон | Для ∨ | Для ∧ |
Переместительный | A ∨ B = B ∨ A | A ∧ B = B ∧ A |
Сочетательный | A ∨ (B ∨ C) = (B ∨ A) ∨ C | A ∧ (B ∧ C) = (A ∧ B) ∧ C |
Распределительный | A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C) | A ∨ B ∧ C = (A ∨ B) ∧ (A ∨ C) |
Правила де Моргана | ${A ∨ B}↖{-}$ = $A↖{-} ∧ B↖{-}$ | ${A ∧ B}↖{-}$ = $A↖{-} ∨ B↖{-}$ |
Идемпотенции | A ∨ A = A | A ∧ A = A |
Поглощения | A ∨ A ∧ B = A | A ∧ (A ∨ B) = A |
Склеивания | (A ∧ B) ∨ (A↖{-} ∧ B) = B | (A ∨ B) ∧ (A↖{-} ∨ B) = B |
Операция переменной с ее инверсией | $A ∨ A↖{-}$ = 1 | $A ∧ A↖{-}$ = 0 |
Операция с константами | A ∨ 0 = A A ∨ 1 = 1 |
A ∧ 1 = A A ∧ 0 = 0 |
Двойного отрицания | $A↖{=}$ = A |
Доказательства этих утверждений производят на основании построения таблиц истинности для соответствующих записей.
Равносильные преобразования логических формул имеют то же назначение, что и преобразования формул в обычной алгебре. Они служат для упрощения формул или приведения их к определенному виду путем использования основных законов алгебры логики. Под упрощением формулы, не содержащей операций импликации и эквивалентности, понимают равносильное преобразование, приводящее к формуле, которая содержит либо меньшее по сравнению с исходной число операций, либо меньшее число переменных.
Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т. п.), тогда как другие преобразования основаны на свойствах, которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, склеивания, де Моргана и др.).
Рассмотрим на примерах некоторые приемы и способы, применяемые при упрощении логических формул:
1) X1 ∧ X2 ∨ X1 ∧ X2 ∪ ¬X1 ∧ X2 = X1 ∧ X2 ∨ ¬X1 ∧ X2 = (X1 ∨ ¬X1) ∧ X2 = 1 ∧ X2 = X2 .
Для преобразования здесь можно применить закон идемпотенции, распределительный закон; операцию переменной с инверсией и операцию с константой.
2) X1 ∨ X1 ∧ X2 = X1 ∨ (1 ∨ 1 ∧ X2) = X1 ∨ (1 ∨ X2) = X1 .
Здесь для упрощения применяется закон поглощения.
3) ¬(X1 ∧ X2) ∨ X2 = (¬X1 ∨ ¬X2) ∨ X2 = ¬X1 ∨ ¬X2 ∨ X2 = ¬X1 ∨ 1 = 1 .
При преобразовании применяются правило де Моргана, операция переменной с ее инверсией, операция с константой
Примеры решения задач
Пример 1. Найти логическое выражение, равносильное выражению A ∧ ¬(¬B ∨ C) .
Решение. Применяем правило де Моргана для В и С: ¬(¬B ∨ C) = B ∧ ¬C .
Получаем выражение, равносильное исходному: A ∧ ¬(¬B ∨ C) = A ∧ B ∧ ¬C .
Ответ: A ∧ B ∧ ¬C.
Пример 2. Указать значение логических переменных А, В, С, для которых значение логического выражения (A ∨ B) → (B ∨ ¬C ∨ B) ложно.
Решение. Операция импликации ложна только в случае, когд а из истинной посылки следует ложь. Следовательно, для заданного выражения посылка A ∨ B должна принимать значение «истина», а следствие, т. е. выражение B ∨ ¬C ∨ B , — «ложь».
1) A ∨ B — результат дизъюнкции — «истина», если хотя бы один из операндов — «истина»;
2) B ∨ ¬C ∨ B — выражение ложно, если все слагаемые имеют значение «ложь», т. е. В — «ложь»; ¬C — «ложь», а следовательно, переменная С имеет значение «истина»;
3) если рассмотреть посылку и учесть, что В — «ложь», то получим, что значение А — «истина».
Ответ: А — истина, В — ложь, С — истина.
Пример 3. Каково наибольшее целое число X, при котором истинно высказывание (35 < X · X) → (X < (X – 3)) ?
Решение. Запишем таблицу истинности для операции импликации:
A | B | A → B |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
1 | 1 | 1 |
Выражение X < (X – 3) ложно при любых положительных значениях X. Следовательно, для того чтобы результатом импликации была «истина», необходимо и достаточно, чтобы выражение 35 < X · X также было ложно. Максимальное целое значение X, для которого 35 < X · X ложно, равно 5.
Ответ: X = 5.
Использование логических выражений для описания геометрических областей
Логические выражения могут быть использованы для описания геометрических областей. В этом случае задача формулируется так: записать для заданной геометрической области такое логическое выражение, которое принимает значение «истина» для значений x, y тогда и только тогда, когда любая точка с координатами (x; y) принадлежит геометрической области.
Рассмотрим описание геометрической области с помощью логического выражения на примерах.
Пример 1. Задано изображение геометрической области. Записать логическое выражение, описывающее множество точек, принадлежащих ей.
1) .
Решение. Заданную геометрическую область можно представить в виде набора следующих областей: первая область — D1 — полуплоскость ${x}/{-1} +{y}/{1} ≤ 1$, вторая — D2 — круг с центром в начале координат $x^2 + y^2 ≤ 1$. Их пересечение D1 $∩$ D2 представляет собой искомую область.
Результат: логическое выражение ${x}/{-1}+{y}/{1} ≤ 1 ∧ x^2 + y^2 ≤ 1$.
2)
Эту область можно записать так: |x| ≤ 1 ∧ y ≤ 0 ∧ y ≥ -1 .
Примечание. При построении логического выражения используются нестрогие неравенства, а это значит, что границы фигур также принадлежат заштрихованной области. Если использовать строгие неравенства, то границы учитываться не будут. Границы, не принадлежащие области, обычно изображаются пунктиром.
Можно решить обратную задачу, а именно: нарисовать область для заданного логического выражнения.
Пример 2. Нарисовать и заштриховать область, для точек которой выполняется логическое условие y ≥ x ∧ y + x ≥ 0 ∧ y < 2 .
Решение. Искомая область представляет собой пересечение трех полуплоскостей. Строим на плоскости (x, y) прямые y = x; y = –x; y = 2. Это границы области, причем последняя граница y = 2 не принадлежит области, поэтому ее наносим пунктирной линией. Для выполнения неравенства y ≥ x нужно, чтобы точки находились слева от прямой y = x, а неравенство y = –x выполняется для точек, которые находятся справа от прямой y = –x. Условие y < 2 выполняется для точек, лежащих ниже прямой y = 2. В результате получим область, которая изображена на рис.:
Использование логических функций для описания электрических схем
Логические функции очень удобны для описания работы электрических схем. Так, для схемы, представленной на рис., где значение переменной X — это состояние выключателя (если он включен, значение X — «истина», а если выключен — «ложь»), это значение Y — это состояние лампочки (если она горит — значение «истина», а если нет — «ложь»), логическая функция запишется так: Y = X . Функцию Y называют функцией проводимости.
Для схемы, представленной на рис., логическая функция Y имеет вид: Y = X1 ∪ X2, т. к. достаточно одного включенного выключателя, чтобы горела лампочка. В схеме на рис., для того чтобы горела лампочка, должны быть включены оба выключателя, следовательно, функция проводимости имеет вид: Y = X1 ∧ X2 .
Для более сложной схемы функция проводимости будет иметь вид: Y = (X11 ∨ (X12 ∧ X13)) ∧ X2 ∧ (X31 ∨ X32).
Схема также может содержать контакты на замыкание. В этом случае размыкаемый контакт как выключатель обеспечивает загорание лампочки, когда кнопка отпущена, а не нажата. Для таких схем размыкающий выключатель описывается отрицанием.
Две схемы называются равносильными, если через одну из них ток проходит тогда, когда он проходит и через другую. Из двух равносильных схем более простой считается схема, функция проводимости которой содержит меньшее число элементов. Задача нахождения наиболее простых схем среди равносильных очень важна.
Использование аппарата алгебры логики при проектировании логических схем
Математический аппарат алгебры логики очень удобен для описания того, как функционируют аппаратные средства компьютера. Любая информация при обработке на компьютере представляется в двоичной форме, т. е. кодируется некоторой последовательностью 0 и 1. Обработку двоичных сигналов, соответствующих 0 и 1, выполняют в компьютере логические элементы. Логические элементы, которые выполняют основные логические операции И, ИЛИ, НЕ, представлены на рис.
Условные обозначения логических элементов являются стандартными и используются при составлении логических схем компьютера. С помощью этих схем можно реализовать любую логическую функцию, описывающую работу компьютера.
Технически компьютерный логический элемент реализуется в виде электрической схемы, которая представляет собой соединение различных деталей: диодов, транзисторов, резисторов, конденсаторов. На вход логического элемента, который называют также вентилем, поступают электрические сигналы высокого и низкого уровней напряжения, на выход выдается один выходной сигнал также либо высокого, либо низкого уровня. Эти уровни соответствуют одному из состояний двоичной системы: 1 — 0; ИСТИНА — ЛОЖЬ. Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую функцию, но не указывает на то, какая именно электронная схема в нем реализована. Это упрощает запись и понимание сложных логических схем. Работу логических схем описывают с помощью таблиц истинности. Условное обозначение на схеме ИЛИ знак «1» — от устаревшего обозначения дизъюнкции как «>=1» (значение дизъюнкции равно 1, если сумма двух операндов больше или равна 1). Знак «&» на схеме И является сокращенной записью английского слова and.
Из логических элементов составляются электронные логические схемы, выполняющие более сложные логические операции. Набор логических элементов, состоящий из элементов НЕ, ИЛИ, И, с помощью которых можно построить логическую структуру любой сложности, называется функционально полным.
Построение таблиц истинности логических выражений
Для логической формулы всегда можно записать таблицу истинности, т. е. представить заданную логическую функцию в табличном виде. В этом случае таблица должна содержать все возможные комбинации аргументов функции (формулы) и соответствующие значения функции (результаты формулы на заданном наборе значений).
Удобной формой записи при нахождении значений функции является таблица, содержащая, кроме значений переменных и значений функции, также значения промежуточных вычислений. Рассмотрим пример построения таблицы истинности для формулы ${X1}↖{-} ∧ X2 ∨ {X1 ∨ X2}↖{-} ∨ X1$.
X1 | X2 | ${X1}↖{-}$ | ${X1}↖{-}$ X2 | X1 ∧ X2 | ${X1 ∨ X2}↖{-}$ | ${X1}↖{-}$ ∧ X2 ∨ ${X1 ∨ X2}↖{-}$ | ${X1}↖{-}$ ∧ X2 ∨ ${X1 ∨ X2}↖{-}$ ∨ X1 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
Если функция принимает значение 1 при всех наборах значений переменных, она является тождественно-истинной; если при всех наборах входных значений функция принимает значение 0, она является тождественно-ложной; если набор выходных значений содержит как 0, так и 1, функция называется выполнимой. Приведенный выше пример является примером тождественно-истинной функции.
Зная аналитическую форму логической функции, всегда можно перейти к табличной форме логических функций. С помощью заданной таблицы истинности можно решить обратную задачу, а именно: для заданной таблицы построить аналитическую формулу логической функции. Различают две формы построения аналитической зависимости логической функции по таблично заданной функции.
1. Дизъюнктивно нормальная форма (ДНФ) — сумма произведений, образованных из переменных и их отрицаний для ложных значений.
Алгоритм построения ДНФ следующий:
- в таблице истинности функции выбирают наборы аргументов, для которых логические формы равны 1 («истина»);
- все выбранные логические наборы как логические произведения аргументов записывают, последовательно соединив их между собой операцией логической суммы (дизъюнкции);
- для аргументов, которые являются ложными, в построенной записи проставляют операцию отрицания.
Пример. Построить функцию, определяющую, что первое число равно второму, используя метод ДНФ. Таблица истинности функции имеет вид
X1 | X2 | F(X1, X2) |
1 | 1 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
0 | 0 | 1 |
Решение. Выбираем наборы значений аргументов, в которых функция равна 1. Это первая и четвертая строки таблицы (строку заголовка при нумерации не учитываем).
Записываем логические произведения аргументов этих наборов, объединив их логической суммой: X1 ∧ X2 ∨ X1 ∧ X2 .
Записываем отрицание относительно аргументов выбранных наборов, имеющих ложное значение (четвертая строка таблицы; второй набор в формуле; первый и второй элементы): X1 ∧ X2 ∨ ${X1}↖{-}$ ∧ ${X2}↖{-}$.
Ответ: F(X1, X2) = X1 ∧ X2 ∨ ${X1}↖{-}$ ∧ ${X2}↖{-}$.
2. Конъюнктивно нормальная форма (КНФ) — произведение сумм, образованных из переменных и их отрицаний для истинных значений.
Алгоритм построения КНФ следующий:
- в таблице истинности выбирают наборы аргументов, для которых логические формы равны 0 («ложь»);
- все выбранные логические наборы как логические суммы аргументов записывают последовательно, соединив их между собой операцией логического произведения (конъюнкции);
- для аргументов, которые являются истинными, в построенной записи проставляют операцию отрицания.
Примеры решения задач
Пример 1. Рассмотрим предыдущий пример, т. е. построим функцию, определяющую, что первое число равно второму, используя метод КНФ. Для заданной функции ее таблица истинности имеет вид
X1 | X2 | F(X1, X2) |
1 | 1 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
0 | 0 | 1 |
Решение. Выбираем наборы значений аргументов, в которых функция равна 0. Это вторая и третья строки (строку заголовка при нумерации не учитываем).
Записываем логические суммы аргументов этих наборов, объединив их логическим произведением: X1 ∨ X2 ∧ X1 ∨ X2 .
Записываем отрицание относительно аргументов выбранных наборов, имеющих истинное значение (вторая строка таблицы, первый набор формулы, второй элемент; для третьей строки, а это второй набор формулы, первый элемент): X1 ∨ ${X2}↖{-}$ ∧ ${X1}↖{-}$ ∨ X2.
Таким образом, получена запись логической функции в КНФ.
Ответ: X1 ∨ ${X2}↖{-}$ ∧ ${X1}↖{-}$ ∨ X2.
Полученные двумя методами значения функций являются эквивалентными. Для доказательства этого утверждения используем правила логики: F(X1, X2) = X1 ∨ ${X2}↖{-}$ ∧ ${X1}↖{-}$ ∨ X2 = X1 ∧ ${X1}↖{-}$ ∨ X1 ∧ X2 ∨ ${X2}↖{-}$ ∧ ${X1}↖{-}$ ∨ ${X2}↖{-}$ ∧ X2 = 0 ∨ X1 ∨ X2 ∨ ${X2}↖{-}$ ∧ ${X1}↖{-}$ ∨ 0 = X1 ∧ X2 ∨ ${X1}↖{-}$ ∧ ${X2}↖{-}$.
Пример 2. Построить логическую функцию для заданной таблицы истинности:
X1 | X2 | F(X1, X2) |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 0 |
Решение. Используем алгоритм ДНФ для построения исходной функции:
X1 | X2 | F(X1, X2) | ||
1 | 1 | 1 | • | X1 ∧ X2 |
1 | 0 | 0 | ||
0 | 1 | 1 | • | ${X1}↖{-}$ ∧ X2 |
0 | 0 | 0 |
Искомая формула: X1 ∧ X2 ∨ ${X1}↖{-}$ ∧ X2 .
Ее можно упростить: X1 ∧ X2 ∨ ${X1}↖{-}$ ∧ X2 = X2 ∧ (X1 ∨ ${X1}↖{-}$) = X2 ∧ 1 = X2.
Пример 3. Для приведенной таблицы истинности построить логическую функцию, используя метод ДНФ.
X1 | X2 | X3 | F(X1, X2, X3) | ||
1 | 1 | 1 | 1 | • | X1 ∧ X2 ∧ X3 |
1 | 0 | 1 | 0 | ||
0 | 1 | 1 | 1 | • | ${X1}↖{-}$ ∧ X2 ∧ X3 |
0 | 0 | 1 | 0 | ||
1 | 1 | 0 | 1 | • | X1 ∧ X2 ∧ ${X3}↖{-}$ |
1 | 0 | 0 | 1 | • | X1 ∧ ${X2}↖{-}$ ∧ ${X3}↖{-}$ |
0 | 1 | 0 | 0 | ||
0 | 0 | 0 | 0 |
Искомая формула: X1 ∧ X2 ∧ X ∨ ${X1}↖{-}$ ∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧ ${X3}↖{-}$ ∪ X1 ∧ ${X2}↖{-}$ ∧ ${X3}↖{-}$.
Формула достаточно громоздка, и ее следует упростить:
X1 ∧ X2 ∧ X3 ∨ ${X1}↖{-}$ ∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧ ${X3}↖{-}$ ∨ X1 ∧ ${X2}↖{-}$ ∧ ${X3}↖{-}$ = X2 ∧ X3 ∧ (X1 ∨ ${X1}↖{-}$) ∨ X1 ∧ ${X3}↖{-}$ ∧ (X2 ∨ ${X2}↖{-}$) = X2 ∧ X3 ∨ X1 ∧ ${X3}↖{-}$.
Таблицы истинности для решения логических задач
Составление таблиц истинности — один из способов решения логических задач. При использовании такого способа решения, условия, которые содержит задача, фиксируются с помощью специально составленных таблиц.
Примеры решения задач
Пример 1. Составить таблицу истинности для охранного устройства, которое использует три датчика и срабатывает при замыкании только двух из них.
Решение. Очевидно, что результатом решения будет таблица, в которой искомая функция Y(X1, X2, X3) будет иметь значение «истина», если какие-либо две переменные имеют значение «истина».
X1 | X2 | X3 | Y(X1, X2, X3) |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 |
Пример 2. Составить расписание уроков на день, учитывая, что урок информатики может быть только первым или вторым, урок математики — первым или третьим, а физики — вторым или третьим. Возможно ли составить расписание, удовлетворив всем требованиям? Сколько существует вариантов расписания?
Решение. Задача легко решается, если составить соответствующую таблицу:
1-й урок | 2-й урок | 3-й урок | |
Информатика | 1 | 1 | 0 |
Математика | 1 | 0 | 1 |
Физика | 0 | 1 | 1 |
Из таблицы видно, что существуют два варианта искомого расписания:
- математика, информатика, физика;
- информатика, физика, математика.
Пример 3. В спортивный лагерь приехали трое друзей — Петр, Борис и Алексей. Каждый из них увлекается двумя видами спорта. Известно, что таких видов спорта шесть: футбол, хоккей, лыжи, плавание, теннис, бадминтон. Также известно, что:
- Борис — самый старший;
- играющий в футбол младше играющего в хоккей;
- играющие в футбол и хоккей и Петр живут в одном доме;
- когда между лыжником и теннисистом возникает ссора, Борис мирит их;
- Петр не умеет играть ни в теннис, ни в бадминтон.
Какими видами спорта увлекается каждый из мальчиков?
Решение. Составим таблицу и отразим в ней условия задачи, заполнив соответствующие клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание.
Так как видов спорта шесть, получается, что все мальчики увлекаются разными видами спорта.
Из условия 4 следует, что Борис не увлекается ни лыжами, ни теннисом, а из условий 3 и 5, что Петр не умеет играть в футбол, хоккей, теннис и бадминтон. Следовательно, любимые виды спорта Петра — лыжи и плавание. Занесем это в таблицу, а оставшиеся клетки столбцов «Лыжи» и «Плавание» заполним нулями.
Футбол | Хоккей | Лыжи | Плавание | Бадминтон | Теннис | |
Петр | 0 | 0 | 1 | 1 | 0 | 0 |
Борис | 0 | 0 | 0 | |||
Алексей | 0 | 0 |
Из таблицы видно, что в теннис может играть только Алексей.
Из условий 1 и 2 следует, что Борис не футболист. Таким образом, в футбол играет Алексей. Продолжим заполнять таблицу. Внесем в пустые ячейки строки «Алексей» нули.
Футбол | Хоккей | Лыжи | Плавание | Бадминтон | Теннис | |
Петр | 0 | 0 | 1 | 1 | 0 | 0 |
Борис | 0 | 0 | 0 | 0 | ||
Алексей | 1 | 0 | 0 | 0 | 0 | 1 |
Окончательно получаем, что Борис увлекается хоккеем и бадминтоном. Итоговая таблица будет выглядеть следующим образом:
Футбол | Хоккей | Лыжи | Плавание | Бадминтон | Теннис | |
Петр | 0 | 0 | 1 | 1 | 0 | 0 |
Борис | 0 | 1 | 0 | 0 | 1 | 0 |
Алексей | 1 | 0 | 0 | 0 | 0 | 1 |
Ответ: Петр увлекается лыжами и плаванием, Борис играет в хоккей и бадминтон, а Алексей занимается футболом и теннисом.
План урока:
Алгебра логики и решение задач
Основные операции
Сравнение операций, первоочередность
Диаграммы Эйлера-Венна
Законы алгебры логики
Электросхемы и таблицы истинности
Универсальный подход помогает решать разнотипные задачи, даже не вникая в условие детально. Именно для этого нужны логические задачи и универсальные способы решения. Существует множество подходов, но наиболее распространены 3 основных:
- Способ рассуждений.
- Табличный способ.
- Решение при помощи средств логики.
Первый позволяет находить правильный ответ, обдумывая каждый пункт задачи, делая выводы из каждого условия. Этим методом мы пользуемся постоянно, в обычной жизни, решая простые бытовые примеры. Он простой, но для сложных задач не подходит.
Табличный метод сокращает форму записи примера и позволяет перебрать все возможные значения исходных данных, анализируя результат, полученный при каждой комбинации. Это очень наглядно, компактно и позволяет использовать обычные слова или же логические обозначения.
Поиск правильного решения средствами логики выводит решение примеров на новый уровень, позволяя абстрагироваться от лишней информации, выделяя только переменные, их взаимосвязи. Это позволяет решать задачи из любой сферы, не вникая в те данные, которые не важны для самого решения. Логическая основа задачи – своеобразный «скелет», а вся сопутствующая информация – «одежда».
Алгебра логики и решение задач
Несмотря на то, что логика, как наука о размышлении, существовала еще 5 в. До н.э., теперь это важная часть многих наук, а не только философии и риторики. Также логика существует, как отдельная наука уже более 200 лет.
Инструменты алгебры логики позволяют переводить словесные высказывания в сухие, объективные выражения, а с их помощью выполнять различные логические операции.Появился этот раздел математики 200 лет назад.
Стоит остановиться на базовых понятиях алгебры логики:
- константы (0,1);
- переменные;
- формула;
- знаки операций;
- скобки.
Логическая переменная – обозначение логического выражения, которое может быть true (t, правда, истина, да, 1) – false (f, ложь, нет, 0).
Формула– символьный способ выражения операции между переменными при помощи специальных знаков и скобок ().
Логическое высказывание – утверждение, в котором говорится только правда или только ложь.
Образец таких предложений: «Луна – вертится вокруг Марса» – ложно, а «После зимы всегда приходит весна» – истинно.
Частицы «не», «или», если», «и» и другие, которые являются связующими элементами в обычной речи, позволяют создавать элементарные логические выражения.
Элементарные высказывания – те, к которым нельзя применить понятие истинности или ложности. Их обозначают различными символами (латинские буквы, цифры), знаками. Ими занимаются те сферы, к которым они относятся. Они входят в состав высказываний логики.
Из одних высказываний можно образовывать другие, в результате получая составные высказывания. И от того, являются исходные элементы составного конечного высказывания правдивыми или неправдивыми, а также какие логические связки использовались, будет правдой или ложью все высказывание в целом.
Чтобы образовать такое составное предложение в обычной жизни, используют связки И, ИЛИ, НЕ. А научный подход заменил их на конъюнкцию, дизъюнкцию, инверсию и более сложные операции. Все эти процессы выражают словесно, таблично (таблицы истинности) или графически (диаграммы Эйлера-Венна).
Простые выражения содержат лишь одно выражение (правдивое или нет), и не содержит никаких логических операций.
Сложные могут содержать от 2 и больше аргументов (простых выражений), которые между собой связаны логическими операциями.
Еще используют понятие «предикат» – содержит любое количество переменных без перечисления всех составляющих данных. Это предикат простых, отрицательных P(x)=(x<0) чисел.
Чтобы исключить лишнюю информацию, оставив только логические связи, используют таблицы истинности, наглядно демонстрирующие, правдиво или неправдиво конечное предложение, если учесть все значения входящих в его состав простейших частей.
Такая форма оформления и решения задач используется в построении электросхем, для решения различных логических задач, в булевой алгебре, программировании.
Основные операции
Количество логических операций, которыми обычно оперирует логика 6:
- Отрицание.
- Умножение.
- Сложение
- Следование.
- Дизъюнкция.
- Равнозначность.
Остановимся на каждом из них детальнее, выясним как правильно они называются в алгебре логики, есть ли у них аналоги в обычной речи, в математике, и как их можно использовать в обычной жизни.
Отрицание или инверсия
Операция отрицания или НЕлогическое, корректнее будет название инверсия.Конечное высказывание будет противоположным первоначальному (исходному). Применяется для одного выражения, которое может быть как сложным, так и элементарным.
На примере этой простейшей операции удобно показывать, насколько лаконичны и информативны таблицы истинности. Обозначим исходное высказывание буквой А, соответственно, окончательное будет не А (или НЕ, ‾, ˥ not А). А их ложность или правдивость напишем при помощи цифр 0 и 1.
Получается, если исходное значение правда, то новое будет ложь, и наоборот.
Умножение или конъюнкция &
Логическое И или умножение еще называют конъюнкцией. Финальное высказывание будет правдивым, только если его составляющие тоже правдивы. Во всех остальных случаях оно будет ложным. Применяется для двух и более аргументов, элементарных или сложных. Обозначение А и В; А ^ В; А &В; A and В.
Как видно, при помощи таблицы истинности из 15 ячеек можно описать то, на описание чего при помощи слов пришлось бы потратить минимум 5 полноценных предложений.
Логическое И в обычной жизни:
- Хорошая певица должна быть талантливой и упорной (наличие только одного качества не позволит проявить миру свой талант).
- По условиям задачи А – число меньше 30, В – число делиться на 3. Нужно найти решение А ˄ В.
Решение: Первое множество содержит числа 1,2,3….29. Второе – 3,6,9,…27. Решением будет множество на пересечении множеств А и В, что хорошо покажут диаграммы Эйлера-Венна. А ˄ В будет истинным для множества чисел 3,6,9,….27.
Сложение или дизъюнкция V
Логическое ИЛИ, сложение по-другому называют дизъюнкцией. Оно истинно всегда, кроме случая, если ложны все составные высказывания. Функция распространяется на простые и сложные исходные аргументы. Обозначение А или В; A v В; А ог В.
В обычной жизни нас окружает логическое ИЛИ:
- «Чтобы сдать тесты на «отлично», нужно старательно готовиться ИЛИ должно повезти с билетом».
- Есть задача с 2-мя условиями: А – число делится на 5, В – число делится на 2.
Решение: Первое множество чисел включает в себя 5, 10, 15…Второе – 10, 20, 30…Решение, при котором истинно Аv В – совокупность обеих множеств (5, 10, 15, 20, 25, 30…).
Следование или импликация
Для этого случая важно значение каждого выражения и даже его очередность, потому что первый аргумент считается условием, второй – следствием. Импликация будет ложной лишь в одном случае – если первое составляющее правдиво, а второе нет.
Такое логическое следование имеет аналог в обычной речи «если.. то», то есть одно событие зависит от другого. Символьно связи выражают следующим образом:
Логическое следование в обычной жизни:
- Если пойти к врачу, можно выздороветь (но можно выздороветь и без похода к врачу, а можно и после визита в больницу не выздороветь).
- По условию задачи, А – если число делится на 10, то В делится на 5.
Строгая дизъюнкция
Такая логическая операция выдаст истину, если любое из составляющих высказываний будет истинным, независимо очередности.
Это пример исключающей функции. Аналог в словесном выражении – «либо». Разница от простой дизъюнкции в том, что конечное выражение будет истинным, только если будет правдой одна переменная.
Эквиваленция или равнозначность
Операция, выдающая истину в случае, если обе исходные переменные истины или неправдивы.Обозначают А ~В, А ↔ В.
Словесная аналогия – «тогда и только тогда, когда», математическая – «необходимо и достаточно». Если сравнить таблицы истинности для предыдущих операций, очевидно, что она противоположна «исключающему ИЛИ», то ее можно посчитать так:
Пример эквивалентности из обычной жизни:
- Если вечером на горизонте солнце темно-красного цвета, значит, завтра будет ветреный день.
- В задаче 2 условия: А – сумма цифр числа равно 9, В – число делится на 9. АВ означает, что число делится на 9, если сумма цифр равна 9.
Сравнение операций, первоочередность
Приведены результаты основных логических функций для 2-х переменных:
Если выражение громоздкое, состоящее из нескольких основных, анализ выполняют по приоритетности функций, по очереди написания, от начала:
Но скобки делают операцию внутри них самой приоритетной.
Законы алгебры логики
Операции логики подчиняются законам, которые во многом напоминают математические законы. Другими словами, операции обладают определенными свойствами, которые упрощают решение и позволяют преобразовывать одни операции в другие.
Таблица законов алгебры логики
Диаграммы Эйлера-Венна
Тем, кто лучше воспринимает информацию в виде изображений, понравятся диаграммы Эйлера-Венна, которые показывают, как пересекаются множества между собой.
Число пересечений (областей) можно посчитать сразу, оно равно n = 2N, где N – число множеств. Так как значение двойки в степени растет очень быстро (4,8,16), обычно диаграммы используют для 2-3 множеств. Далее области пересечения будут сливаться, образуя неразличимые участки. Если множеств 2-3, то рисуют круги, если больше 4 – эллипсы. Этот «цветок» помещают в прямоугольную конструкцию, которую называют универсум U (универсальное множество).
Источник
Источник
Диаграммы позволяют наглядно увидеть результат большинства логических функций:
Конъюнкция множеств А и В:
Отрицание Ā:
Сложное выражение (Ā)∨(A∧B), составленное из элементарных Ā, A∧B и их комбинации, графическое выражение:
Примеры использования диаграмм Эйлера-Венна
Пример №1:
Есть 2 множества цифр и универсум:
А={4,5,6,7}
В={6,7,8,9}
U={0,4,5,6,7,8,9}
Пустой области ничего не принадлежит, опишем в табличном виде, какие цифры какой области принадлежит:
Электросхемы и таблицы истинности
При помощи «0» и «1» можно обозначить, светится ли лампочка, идет ли ток при параллельном или последовательном соединении проводов. Это настолько удобно, что у разных логических функций есть стандартные обозначения при построении электрических схем:
Переменными являются переключатели, а результат (горит лампа/идет ток) будет «1» – истина или «0» – ложь.
Для конъюнкции и инверсии подходит последовательное соединение, но во втором случае переключатель один, для дизъюнкции – параллельное.
Это примеры простейших электросхем. Понимание простейших логических взаимосвязей, умение быстро строить и анализировать электроцепи позволяет строить, паять более сложные, многоуровневые схемы. Для автоматизации применяют различные программы, самый простой вариант – таблицы Excel.
На уроке рассматривается разбор 2 задания ЕГЭ по информатике, дается подробное объяснение того, как решать подобные задачи
Содержание:
- Объяснение задания 2 ЕГЭ по информатике
- Таблицы истинности и порядок выполнения логических операций
- Решение заданий 2 ЕГЭ по информатике
- Задания для тренировки
2-е задание: «Таблицы истинности»
Уровень сложности
— базовый,
Требуется использование специализированного программного обеспечения
— нет,
Максимальный балл
— 1,
Примерное время выполнения
— 3 минуты.
Проверяемые элементы содержания: Умение строить таблицы истинности и логические схемы
Типичные ошибки и рекомендации по их предотвращению:
“Игнорирование прямо указанного в условии задания требования, что заполненная таблица истинности не должна содержать одинаковых строк. Это приводит к внешне правдоподобному, но на самом деле неверному решению”
ФГБНУ “Федеральный институт педагогических измерений”
Таблицы истинности и порядок выполнения логических операций
Для логических операций приняты следующие обозначения:
операция | пояснение | в программировании |
---|---|---|
¬ A, A | не A (отрицание, инверсия) | not(A) |
A ∧ B, A ⋅ B | A и B (логическое умножение, конъюнкция) | A and B |
A ∨ B, A + B | A или B (логическое сложение, дизъюнкция) | A or B |
A → B | импликация (следование) | A <= B |
A ↔ B, A ≡ B, A ∼ B | эквиваленция (эквивалентность, равносильность) | A==B (python) A=B(pascal) |
A ⊕ B | строгая дизъюнкция | A != B (python) A <> B (pascal) |
Егифка ©:
Отрицание (НЕ):
Таблица истинности операции НЕ
Конъюнкция (И):
Таблица истинности операции И (конъюнкция)
Дизъюнкция (ИЛИ):
Таблица истинности операции ИЛИ (дизъюнкция)
Импликация (если…, то…):
Таблица истинности операции Импликация (если…, то…)
Эквивалентность (тогда и только тогда, …):
Таблица истинности операции Эквивалентность (тогда и только тогда, …)
Сложение по модулю 2 (XOR):
A | B | A ⊕ B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Порядок выполнения операций:
- если нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем – «ИЛИ», импликация, равносильность
Еще о логических операциях:
- логическое произведение X∙Y∙Z∙… равно 1, т.е. выражение является истинным, только тогда, когда все сомножители равны 1 (а в остальных случаях равно 0)
- логическая сумма X+Y+Z+… равна 0, т.е. выражение является ложным только тогда, когда все слагаемые равны 0 (а в остальных случаях равна 1)
О преобразованиях логических операций читайте здесь.
Егифка ©:
Решение заданий 2 ЕГЭ по информатике
Задание 2_11: Решение 2 задания ЕГЭ по информатике:
Логическая функция F задается выражением
(¬x ∨ y ∨ z) ∧ (x ∨ ¬z ∨ ¬w)
Ниже приведен фрагмент таблицы истинности функции F, содержащей все наборы аргументов, при которых функция F ложна.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
Перем.1 | Перем.2 | Перем.3 | Перем.4 | F |
??? | ??? | ??? | ??? | F |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы.
✍ Решение:
✎ Способ 1. Электронные таблицы Excel + Логические размышления:
- Отобразим перебор всех значений использующихся в выражении переменных (всю таблицу истинности). Поскольку в выражении используются 4 переменных, то строк таблицы будет 24=16:
- Далее обе скобки исходного выражения необходимо записать в виде логического выражения, каждую — в отдельном столбце. Также в отдельном столбце добавьте формулу итоговой функции F:
xwzy
-
✎ Способ 2. Программирование:
- В результате будут выведены значения для
F=0
:
Язык python:
print('x y z w') for x in 0, 1: for y in 0, 1: for z in 0, 1: for w in 0, 1: F = (not(x) or y or z) and (x or not(z) or not(w)) if not(F): print(x, y, z, w)
x y z w 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1
xwzy
Язык pascalAbc.net:
begin writeln('x':7, 'y':7, 'z':7,'w':7); for var x:=false to true do for var y:=false to true do for var z:=false to true do for var w:=false to true do if not((not x or y or z) and (x or not z or not w)) then writeln(x:7, y:7, z:7,w:7); end.
F=0
:x y z w False False True True False True True True True False False False True False False True
false
= 0, True
= 1Ответ:
xwzy
-
✎ Способ 3. Логические размышления:
- Внешняя операция выражения — конъюнкция (∧). Во всех указанных строках таблицы истинности функция принимает значение 0 (ложь). Конъюнкция ложна аж в трех случаях, поэтому проверить на ложь очень затруднительно. Тогда как конъюнкция истинна (= 1) только в одном случае: когда все операнды истинны. Т.е. в нашем случае:
(¬x ∨ y ∨ z) ∧ (x ∨ ¬z ∨ ¬w) = 1 когда: 1. (¬x ∨ y ∨ z) = 1 И 2. (x ∨ ¬z ∨ ¬w) = 1
x | y | z | результат |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
x | z | w | результат |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
x | y | z | w | F |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
x | y | z | w | F |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
x | ??? | ??? | ??? | F |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
x | y | z | w | F |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
x | ??? | ??? | y | F |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
x | y | z | w | F |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
x | w | z | y | F |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
Результат: xwzy
🎦 Видеорешение (бескомпьютерный вариант):
📹 здесь
📹 Видеорешение на RuTube здесь
Задание 2_12: Разбор 2 задания ЕГЭ:
Миша заполнял таблицу истинности функции:
(¬z ∧ ¬(x ≡ y)) → ¬(y ∨ w)
но успел заполнить лишь фрагмент из трех различных ее строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z:
Перем.1 | Перем.2 | Перем.3 | Перем.4 | F |
??? | ??? | ??? | ??? | F |
1 | 1 | 0 | ||
1 | 0 | 0 | ||
1 | 1 | 0 | 0 |
Определите, какому столбцу таблицы соответствует каждая из переменных x, y, z, w.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы.
Подобные задания для тренировки
✍ Решение:
✎ Способ 1. Логические размышления (бескомпьютерный вариант):
- Решим задание методом построения полной таблицы истинности.
- Посчитаем общее количество строк в таблице истинности и построим ее:
4 переменных -> 24 = 16 строк
(¬z ∧ ¬(x ≡ y)) → ¬(y ∨ w) 1. Избавимся от импликации: ¬(¬z ∧ ¬(x ≡ y)) ∨ ¬(y ∨ w) 2. Внесем знак отрицания в скобки (закон Де Моргана): (z ∨ (x ≡ y)) ∨ (¬y ∧ ¬w) = 0 1 часть = 0 2 часть = 0 * Исходное выражение должно быть = 0. Дизъюнкция = 0, когда оба операнда равны 0.
(z ∨ (x ≡ y)) = 0 когда z = 0 и x ≡ y = 0 ¬y ∧ ¬w = 0 когда: 1. ¬y = 0 ¬w = 0 2. ¬y = 1 ¬w = 0 3. ¬y = 0 ¬w = 1
x | y | w | z | F |
0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 0 |
y | w | x | z | F |
1 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 |
Результат: ywxz
✎ Способ 2. Программирование:
- В результате будут выведены значения для F=0:
Язык PascalAbc.net:
begin writeln('x':7, 'y':7, 'z':7,'w':7); for var x:=false to true do for var y:=false to true do for var z:=false to true do for var w:=false to true do if not((not z and (x xor y)) <= not(y or w)) then writeln(x:7, y:7, z:7,w:7); end.
x y z w False True False False False True False True True False False True
false
= 0, True
= 1Сопоставив их с исходной таблицей, получим результат: ywxz
Язык Python:
print ('x y z w') for x in 0,1: for y in 0,1: for z in 0,1: for w in 0,1: F=(not z and not(x==y))<=(not(y or w)) if not F: print (x,y,z,w)
F=0
:x y z w 0 1 0 0 0 1 0 1 1 0 0 1
Сопоставив их с исходной таблицей, получим результат:
Результат: ywxz
🎦 Доступно видео решения этого задания (бескомпьютерный вариант):
📹 здесь
📹 Видеорешение на RuTube здесь
🎦 Видео (решение 2 ЕГЭ в Excel):
📹 здесь
📹 Видеорешение на RuTube здесь
📹 Видеорешение на RuTube здесь (Программирование)
Задание 2_10: Решение 2 задания ЕГЭ по информатике:
Логическая функция F задается выражением
¬a ∧ b ∧ (c ∨ ¬d)
Ниже приведен фрагмент таблицы истинности функции F, содержащей все наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c, d.
Перем.1 | Перем.2 | Перем.3 | Перем.4 | F |
??? | ??? | ??? | ??? | F |
0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 1 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы.
✍ Решение:
🎦 (Бескомьютерный вариант) Предлагаем подробный разбор посмотреть на видео:
📹 здесь
📹 Видеорешение на RuTube здесь
Задание 2_3: Решение задания 2. Демоверсия ЕГЭ 2018 информатика:
Логическая функция F задаётся выражением ¬x ∨ y ∨ (¬z ∧ w).
На рисунке приведён фрагмент таб. ист-ти функции F, содержащий все наборы аргументов, при которых функция F ложна.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | F |
??? | ??? | ??? | ??? | F |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая первому столбцу; затем – буква, соответствующая второму столбцу, и т.д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Подобные задания для тренировки
✍ Решение:
-
✎ Логические размышления (бескомпьютерный вариант):
- Внешним действием (последним выполняемым) в исходном выражении является дизъюнкция:
¬x ∨ y ∨ (¬z ∧ w)
x1 | x2 | F |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
¬x
= 1 или 0, y
= 1 или 0, ¬z ∧ w
= 1 или 0).¬x
= 0, иными словами x
= 1. Значит первый столбец соответствует переменной x
. Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | F |
x | ??? | ??? | ??? | F |
1 | 0 | 0 | 0 | 0 |
y
= 0. Значит четвертый столбец соответствует переменной y
. Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | F |
x | ??? | ??? | y | F |
1 | 1 | 1 | 0 | 0 |
¬z ∧ w
должно равняться 0, чтобы функция была ложной. Конъюнкция истинна только тогда, когда оба операнда истинны (=1); в нашем случае функция должна быть ложной, но пойдем от обратного. Если ¬z
= 1, т.е. z
= 0, а w
= 1, то это неверно для нашего случая. Значит всё должно быть наоборот: z
= 1, а w
= 0. Таким образом столбец второй соответствует z
, а столбец третий — w
. x | z | w | y | F |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
Результат: xzwy
✎ Способ 2. Программирование:
Язык pascalABC.NET:
begin writeln('x ','y ','z ','w '); for var x:=false to true do for var y:=false to true do for var z:=false to true do for var w:=false to true do if not(not x or y or(not z and w)) then writeln(x:7,y:7,z:7,w:7); end.
🎦 (бескомпьютерный вариант) Подробное решение данного 2 задания из демоверсии ЕГЭ 2018 года смотрите на видео:
📹 здесь
📹 Видеорешение на RuTube здесь
Задание 2_13: Разбор досрочного егэ по информатике 2019
Логическая функция F задаётся выражением
(x ∧ ¬y) ∨ (y ≡ z) ∨ ¬w
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы.
Перем.1 | Перем.2 | Перем.3 | Перем.4 | F |
??? | ??? | ??? | ??? | F |
0 | 0 | 0 | ||
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 |
✍ Решение:
🎦 Видеорешение (бескомпьютерный вариант):
📹 здесь
📹 Видеорешение на RuTube здесь
Задания для тренировки
Задание 2_2: Задание 2 ЕГЭ по информатике:
Каждое из логических выражений F и G содержит 5 переменных. В табл. истинности для F и G есть ровно 5 одинаковых строк, причем ровно в 4 из них в столбце значений стоит 1.
Сколько строк таблицы истинности для F ∨ G содержит 1 в столбце значений?
Подобные задания для тренировки
✍ Решение:
- Поскольку в каждом из выражений присутствует 5 переменных, то эти 5 переменных порождают таблицу истинности из 32 строк: т.к. каждая из переменных может принимать оно из двух значений (0 или 1), то различных вариантов с пятью переменными будет 25=32, т.е. 32 строки.
- Из этих 32 строк и для F и для G мы знаем наверняка только о 5 строках: 4 из них истинны (=1), а одна ложна (=0).
- Вопрос стоит о количестве строк = 1 для таб. истинности F ∨ G. Данная операция — дизъюнкция, которая ложна только в одном случае — если F = 0 и одновременно G = 0
- В исходных таблицах для F и G мы знаем о существовании только одного 0, т.е. в остальных строках может быть 1. Т.о., и для F и для G в 31 строке могут быть единицы (32-1=31), а лишь в одной — ноль.
- Тогда для F ∨ G только в одном случае будет 0, когда и F = 0 и G = 0:
- Соответственно, истинными будут все остальные строки:
№ | F | G | F ∨ G |
---|---|---|---|
1 | 0 | 0 | 0 |
2 | 0 | 1 | 1 |
… | … | … | 1 |
32 | … | … | 1 |
32 - 1 = 31
Результат: 31
Подробное объяснение данного задания смотрите на видео:
📹 здесь
Задание 2_6: Решение 2 задания ЕГЭ по информатике:
Каждое логическое выражение A и B зависит от одного и того же набора из 7 переменных. В таблицах истинности каждого из этих выражений в столбце значений стоит ровно по 4 единицы.
Каково максимально возможное число единиц в столбце значений таблицы истинности выражения A ∨ B?
✍ Решение:
- Полная таблица истинности для каждого из выражений A и B состоит из 27 = 128 строк.
- В четырех из них результат равен единице, значит в остальных — 0.
- A ∨ B истинно в том случае, когда либо A = 1 либо B = 1, или и A и B = 1.
- Поскольку А = 1 только в 4 случаях, то чтобы получить максимальное количество единиц в результирующей таблице истинности (для A ∨ B), расположим все единицы т.и. для выражения A так, чтобы они были в строках, где B = 0, и наоборот, все строки, где B = 1, поставим в строки, где A = 0:
- Итого получаем 8 строк.
- Если бы в задании требовалось найти минимальное количество единиц, то мы бы совместили строки со значением = 1, и получили бы значение 4.
A | B |
1 | 0 |
1 | 0 |
1 | 0 |
1 | 0 |
0 | 1 |
0 | 1 |
0 | 1 |
0 | 1 |
0 | 0 |
… | … |
Результат: 8
Задание 2_7: Решение 2 задания ЕГЭ по информатике:
Каждое логическое выражение A и B зависит от одного и того же набора из 8 переменных. В таблицах истинности каждого из этих выражений в столбце значений стоит ровно по 6 единиц.
Каково максимально возможное число нулей в столбце значений таблицы истинности выражения A ∧ B?
✍ Решение:
- Полная таблица истинности для каждого из выражений A и B состоит из 28 = 256 строк.
- В шести из них результат равен единице, значит в остальных — 0.
- A ∧ B ложно в том случае, когда:
A ∧ B = 0 если: 1. A = 0, B = 1 2. B = 0, A = 1 3. A = 0 и B = 0
- Во всех случаях там где А=1 может стоять B=0, и тогда результат F = 0. Поскольку нам необходимо найти максимально возможное число нулей, то как раз для всех шести А=1 сопоставим B=0, и наоборот, для всех шести возможных B=1 сопоставим A=0
- Поскольку строк всего 256, то вполне возможно, что все 256 из них возвратят в результате 0
A | B | F |
1 | 0 | 0 |
1 | 0 | 0 |
1 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 1 | 0 |
0 | 1 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
… | … | … |
Результат: 256
Задание 2_4: 2 задание:
Дан фрагмент таблицы истинности выражения F.
x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
Каким из приведённых ниже выражений может быть F?
1) ¬x1 ∧ x2 ∧ ¬x3 ∧ ¬x4 ∧ x5 ∧ ¬x6 ∧ x7
2) x1 ∨ x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 ∨ ¬x6 ∨ ¬x7
3) x1 ∧ ¬x2 ∧ x3 ∧ ¬x4 ∧ x5 ∧ x6 ∧ ¬x7
4) x1 ∨ ¬x2 ∨ x3 ∨ x4 ∨ ¬x5 ∨ ¬x6 ∨ x7
✍ Решение:
- В первом внешняя операция (выполняется последней) — конъюнкция. Начнем рассмотрение с нее. Соответственно, проверяем по второй строке таб. ист-ти, там где F = 1, так как в таком случае все аргументы должны быть истинными (см. таб. истинности для конъюнкции).
- Если мы подставим в нее все аргументы выражения, то функция действительно возвращает истину. Т.е. пункт первый подходит:
- Но проверим на всякий случай остальные.
- Второй пункт проверяем по первой и третьей строке, так как основная операция — дизъюнкция — ложна только в том случае, если все аргументы ложны (см. таб. истинности для дизъюнкции). Проверяя по первой строке, сразу видим, что x1 в ней равен 1. В таком случаем функция будет = 1. Т.е. этот пункт не подходит:
- Третий пункт проверяем по второй строке, так как основная операция — конъюнкция — возвратит истину только тогда, когда все операнды равны 1. Видим, что x1 = 0, соответственно функция будет тоже равна 0. Т.е. выражение нам не подходит:
- Четвертый пункт проверяем по первой и третьей строкам. В первой — x1 = 1, т.е. функция должна быть равна 1. Т.е. пункт тоже не подходит:
- Таким образом, ответ равен 1.
Результат: 1
Решение 2 задания ГВЭ по информатике смотрите на видео:
📹 здесь
Задание 2_8: Решение 2 задания ЕГЭ по информатике:
Дано логическое выражение, зависящее от 5 логических переменных:
(¬x1 ∨ ¬x2 ∨ ¬x3 ∨ x4 ∨ x5) ∧ (x1 ∨ x2 ∨ x3 ∨ ¬x4 ∨ ¬x5)
Сколько существует различных наборов значений переменных, при которых выражение истинно?
1) 0
2) 30
3) 31
4) 32
Подобные задания для тренировки
✍ Решение:
- Поскольку выражение включает 5 переменных, то таб. ист-ти состоит из 25 = 32 строк.
- Внешней операцией (последней) является конъюнкция (логическое умножение), а внутри скобок — дизъюнкция (логическое сложение).
- Обозначим первую скобку за А, а вторую скобку за B. Получим A ∧ B.
- Найдем сколько нулей существует для таб. истинности:
A B F 1. 0 0 0 2. 0 1 0 3. 1 0 0
Теперь рассмотрим каждый случай отдельно:
¬x1 ∨ ¬x2 ∨ ¬x3 ∨ x4 ∨ x5 = 0
и
x1 ∨ x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 = 0.
32 - 2 = 30, что соответствует номеру 2
Результат: 2
Подробное решение задания смотрите в видеоуроке:
📹 здесь
Задание 2_5: Решение 2 задания ЕГЭ по информатике:
Дан фрагмент таблицы истинности для выражения F:
x1 | x2 | x3 | x4 | x5 | x6 | F |
0 | 0 | 1 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 0 | 1 | 0 |
Укажите максимально возможное число различных строк полной таблицы истинности этого выражения, в которых значение x3 не совпадает с F.
Подобные задания для тренировки
✍ Решение:
- Полная таблица истинности будет иметь 26 = 64 строк (т.к. 6 переменных).
- 4 из них нам известны: в них x3 два раза не совпадает с F.
- Неизвестных строк:
64 - 4 = 60
60 + 2 = 62
Результат: 62
Задание 2_9: Решение 2 задания ЕГЭ по информатике:
Дан фрагмент таблицы истинности для выражения F:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | F |
0 | 0 | 0 | |||||
0 | 0 | 1 | |||||
1 | 1 | 1 |
Каким выражением может быть F?
1) x1 ∧ (x2 → x3) ∧ ¬x4 ∧ x5 ∧ x6 ∧ ¬x7
2) x1 ∨ (¬x2 → x3) ∨ ¬x4 ∨ ¬x5 ∨ x6 ∨ ¬x7
3) ¬x1 ∧ (x2 → ¬x3) ∧ x4 ∧ ¬x5 ∧ x6 ∧ x7
4) ¬x1 ∨ (x2 → ¬x3) ∨ x4 ∨ x5 ∨ x6 ∧ x7
✍ Решение:
- Рассмотрим отдельно каждый пункт и найдем последнюю операцию, которая должна быть выполнена (внешнюю).
1 пункт:
(((x1 ∧ (x2 → x3) ∧ ¬x4) ∧ x5) ∧ x6) ∧ ¬x7
2 пункт:
(((x1 ∨ (¬x2 → x3) ∨ ¬x4) ∨ ¬x5) ∨ x6) ∨ ¬x7
3 пункт:
(((¬x1 ∧ (x2 → ¬x3) ∧ x4) ∧ ¬x5) ∧ x6) ∧ x7
Результат: 4
В видеоуроке рассмотрено подробное решение 2 задания:
📹 здесь
Задание 2_1: Задание 2 ЕГЭ по информатике:
Логическая функция F задается выражением
(y → x) ∧ (y → z) ∧ z.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
№ | Перем. 1 | Перем. 2 | Перем. 3 | F |
---|---|---|---|---|
??? | ??? | ??? | F | |
1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 1 | 0 | 1 |
4 | 0 | 1 | 1 | 1 |
5 | 1 | 0 | 0 | 0 |
6 | 1 | 0 | 1 | 0 |
7 | 1 | 1 | 0 | 0 |
8 | 1 | 1 | 1 | 1 |
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы.
✍ Решение:
- Сначала необходимо рассмотреть логическую операцию, которую мы будем выполнять в последнюю очередь — это логическое И (конъюнкция) или ∧. То есть внешнюю операцию:
(y → x) ∧ (y → z) ∧ z
(y → x) ∧ (y → z) ∧ z = 1 если: 1. (y → x) = 1 2. (y → z) = 1 3. z = 1
№ | Перем. 1 | Перем. 2 | Перем. 3 | F |
---|---|---|---|---|
3 | 0 | 1 | 0 | 1 |
№ | Перем. 1 | Перем. 2 | Перем. 3 | F |
---|---|---|---|---|
_ | ??? | z | ??? | F |
№ | Перем. 1 | z | Перем. 3 | F |
---|---|---|---|---|
4 | 0 | 1 | 1 | 1 |
Результат: yzx
Детальный разбор данного задания 2 ЕГЭ по информатике предлагаем посмотреть в видео:
📹 здесь
Часто в жизни мы размышляем следующим
образом: съесть шоколадку и мороженое? А может шоколадку или
мороженое? А может не шоколадку и не мороженое? Казалось бы, всё
просто, однако для того чтобы сделать выбор мы с вами используем основные
логические операции.
С такими логическими операциями вы уже
встречались на уроках математики, при изучении программирования и табличных
процессоров и в других областях.
На этом уроке мы с вами будем
разбираться, как используются логические условия выбора данных в базах данных.
Сегодня на уроке мы с вами узнаем:
·
Какое
выражение называется логическим?
·
Какие
существуют логические операции?
·
А
также с помощью конструктора запросов, реализуем запросы, используя логические
условия выбора данных.
Вспомним основные определения
математической логики.
Логическое выражение,
выполняется или вычисляется подобно математическому выражению, но в результате
получается не число, а логическое значение: истина (TRUE) или ложь (FALSE).
Например, два плюс три больше чем три
плюс один (2+3 > 3+1) – да – это истина. Или ноль меньше чем минус пять (0
< -5) – нет – это ложь.
Логическая величина
– это всегда ответ на вопрос, истинно ли данное высказывание.
Логическая величина
– это величина, которая может принимать одно из двух значений – Истина или
Ложь.
В базах данных поле логического типа –
это логическая величина.
Логическое выражение
– это либо истинное, либо ложное утверждение.
Логическое выражение включает логические
константы, логические переменные, операции отношений и логические операции.
Операции
отношения сравнивают значения двух величин. Они определяются
следующими знаками: равно, не равно, больше, меньше, больше либо равно, меньше
либо равно.
Например, пять больше трёх,
или с не равно 7, или a меньше b – всё это
логические выражения.
Числовые величины сравниваются по
арифметическому смыслу, а символьные величины сравниваются с учётом порядка
символов в таблице кодировки. Например, «кот» равно «кот», «кот» меньше чем
«лис», так как первая буква слова кот – буква к имеет меньшее числовое
значение в кодировочной таблице, чем первая буква слова лис – буква л,
или «кот» больше чем «дом».
Величины типа дата и время по их
последовательности во времени.
Например, 15.00 меньше чем17.00 или
12.06.2016 больше чем 12.06.2010.
В жизни мы встречаемся с подобными
ситуациями. Например, я хочу купить в магазине кеды, чтобы они были 38 размера,
зелёного цвета, и чтобы они стоили не более 1500 рублей.
Или другая ситуация: в магазине я могу
купить за 1500 рублей кеды или рюкзак.
Это задачи, в которых используются не
отдельные условия, а совокупность связанных между собой условий
(отношений).
В первом примере мы имеем дело с тремя
отношениями, связанными между собой союзом «и» и частицей «не», во втором – с
двумя отношениями, связанными союзом «или».
Так условия наших примеров могут
выглядеть таким образом:
Первое: (размер 38) И (цвет –
зелёный) И (НЕ (цена больше 1500));
Второе: (покупка кеды) или
(покупка рюкзак).
Существуют три основные логические
операции: отрицание – НЕ (или NOT), конъюнкция – И (или AND), дизъюнкция – ИЛИ
(или OR).
Объединение двух (или нескольких)
высказываний в одно с помощью союза «и» называется операцией логического
умножения или конъюнкцией.
Объединение двух (или нескольких)
высказываний с помощью союза «или» называется операцией логического сложения
или дизъюнкцией.
Присоединение частицы «не» к
высказыванию называется операцией логического отрицания или инверсией.
Их правила выполнения отражаются в таблице
истинности.
Например. Пусть a, b и c –
логические величины, которые имеют следующие значения: a – истина, b
– ложь, c – истина. Необходимо определить результаты вычисления
следующих логических выражений:
a и b
a или b
не a или b
a и b или c
Чтобы узнать результат вычисления
первого логического выражения (А И В) нужно: найти в таблице строку, в которой
значение А – истина, а В – ложь. Теперь для того чтобы найти
результат А И В находим ячейку на пересечении данной строки и
столбца А И В. Получаем ответ: Ложь.
Аналогично находим результат вычисления
второго логического выражения А ИЛИ В. Ответ: Истина.
Следующее логическое выражение содержит
две логические операции. Результат будем находить по порядку. Сначала находим
результат выражения НЕ А. На пересечении строки А Истина и Не А,
получаем Ложь. Теперь у нас получается, что А – Ложь и В – Ложь.
Находим значение (не a или b). Получаем ответ: Ложь.
Аналогично найдём значение следующего
логического выражения. Ответ: Истина.
Для того чтобы указать
последовательность выполнения операций в логических выражениях могут
употребляться круглые скобки.
Рассмотрим простой пример на составление
логических выражений – то есть условий выбора записей из БД.
Перед нами однотабличная база данных, в
которой А, В, С – это числовые поля, а К1, К2 (читать: Ка один, Ка два.
Здесь и далее) и так далее – это идентификаторы или ключи записей.
Рассмотрим следующие примеры:
А=1 И В=2 (читать здесь и далее А
равно единице И В равно двум). Оба этих числовых поля находятся в ключе
записи К1. В остальных ключах записей таких совпадений нет. Следовательно,
результатом этого логического выражения будет К1.
Следующее выражение А=1 ИЛИ А=3.
Числовой поле А=1 находятся в ключах записей К1 и К2, а числовое поле А=3 – в
ключах записей К4 и К5. Значит результатами логического выражения будут
значения ключей записей К1, К2, К4 и К5.
Следующее условие: НЕ А=1. Здесь
результатом выбора будут все ключи, в которых А не рано 1, то есть К3, К4 и К5.
Каждая из операций конъюнкция (И)
или дизъюнкция (ИЛИ) объединяет два условия.
Операция И
работает следующим образом: сначала выбираются все записи, которые
удовлетворяют первому условию, а потом, из отобранных, выбираются те, которые
удовлетворяют второму условию.
Операция ИЛИ
в одну выборку объединяет записи, которые удовлетворяют каждому из условий.
Рассмотрим пример, в котором логические
выражения содержат разные логические операции.
Первое условие: А=1 И В=2 ИЛИ С=3. Здесь
результатом выбора будут все ключи, в которых А=1 и В=2 к ним нужно добавить
ключи, в которых С=3, то есть ответ: К1, К4 и К5.
Второе условие: НЕ А=1 ИЛИ В=2 И С=3.
Результатом выбора будут ключи в которых А не равно 1 – это К3, К4, К5 к ним
нужно добавить ключи в которых В=2 – это К1, К3, К5 и С=3 – это К1, К3, К5.
Следовательно, ответ: К1, К3, К4 и К5.
Теперь рассмотрим примеры, в которых
значения одних полей сравниваются со значениями других. И содержат
арифметические выражения.
Первое условие:
В больше либо равно А.
Нам нужно найти все ключи записей в которых В будет больше либо равно А.
Первый ключ 2 больше либо равно 1, подходит, второй ключ, 3 больше либо равно 1
– подходит, ключ К3: 2 больше либо равно 2 – подходит, К4: 3 больше либо равно
3 также подходит. И в последнем условие не выполняется, так как 2 меньше либо
равно трём. Следовательно, ответ: К1, К2, К3, К4.
В больше либо равно А
И В больше либо равно С. По первому условию нам подходят ключи
К1, К2, К3, К4. По второму условию К2, К3 и К4. Теперь нам нужно выбрать те
ключи, которые удовлетворяют обоим условиям. То есть ответ: К2, К3, К4.
Следующее условие: С равно А
плюс В (С=А+В). Здесь нам нужно найти те ключи записей, подставив
значения, которых мы получим верное арифметическое выражение. Итак,
первый ключ: 3=2+1. Подходит, так как получается верное арифметическое
выражение 3=3. Далее ключ К2: 1 не равно 1+3, не подходит. И так далее. Получим
ответ: К1.
Теперь разберёмся с тем, как в
конструкторе запросов представляются логические выражения.
В ячейках таблицы конструктора запросов
записываются условия, для значений соответствующих полей.
Если условия записаны в одной строке, то
они соединяются между собой операцией И и выполняются
одновременно.
Итак, первый пример А=1 И В=2.
Откроем базу данных «Значения». Нам
нужно создать запрос, содержащий логическое условие выбора данных. Нажимаем
Создать запрос в режиме дизайна. Заполним таблицу запроса. Теперь указываем
критерий запроса. А=1, в этой же строке В=2. Закрываем окно запроса и сохраняем
его под именем Запрос 1. Нажимаем за Запрос 1 два раза левой кнопкой мыши.
Перед нами открывается окно с результатами выбора данных. Ответ: К1.
Если условия записаны в разных строках,
то они соединяются операцией ИЛИ.
Здесь сначала отбираются записи, которые
удовлетворяют условиям первой строки, затем к ним добавляются записи,
удовлетворяющие условиям второй строки, и т. д.
Рассмотрим пример А=1 ИЛИ А=3. Нажимаем Создать
запрос в режиме дизайна и заполняем таблицу. Теперь указываем условия
выбора данных. А=1, а во второй строке А=3. Закрываем окно запроса и сохраняем
его под именем Запрос 2. Откроем запрос. Перед нами результат выбора данных.
Ответ: К1, К2, К4 и К5.
Рассмотрим следующий пример: НЕ А=1. В
поле Критерий нужно записать неравно 1. Закрываем окно конструктора
запроса и посмотрим результат. Ответ: К3, К4 и К5.
Теперь рассмотрим пример неравенства. В
больше либо равно А. В окне конструктора запроса в строке Критерий
столбца В необходимо записать больше либо равно А. Закрываем
конструктор запроса и посмотрим результат. Ответ: К1, К2, К3, К4.
Во всех условных выражениях в
конструкторе можно использовать записи в квадратных скобках. Например,
отношение А=1 в конструкторе запроса в столбце А можно записать в двух
вариантах: 1) [А] А в квадратных скобках =1, 2) =1. Второй вариант короче,
поэтому обычно пользуются им.
Подведём итоги урока.
Условие выбора
– это логическое выражение.
Существуют три основные логические
операции: отрицание – НЕ (NOT), конъюнкция – И (AND), дизъюнкция – ИЛИ
(OR).
В ячейках таблицы конструктора запросов
записываются условия, для значений соответствующих полей.
Если условия записаны в одной строке, то
они соединяются между собой операцией И (не большая пауза) и выполняются
одновременно.
Если условия записаны в разных строках,
то они соединяются операцией ИЛИ. Здесь сначала отбираются записи, которые
удовлетворяют условиям первой строки, затем к ним добавляются записи,
удовлетворяющие условиям второй строки, и т. д.
Логические функции в Excel проверяют данные и возвращают результат «ИСТИНА», если условие выполняется, и «ЛОЖЬ», если нет.
Рассмотрим синтаксис логических функций и примеры применения их в процессе работы с программой Excel.
Использование логических функций в Excel
Название функции | Значение | Синтаксис | Примечание |
ИСТИНА | Не имеет аргументов, возвращает логическое значение «ИСТИНА». | =ИСТИНА () | Редко используется в качестве самостоятельной функции. |
ЛОЖЬ | Не имеет аргументов, возвращает логическое выражение «ЛОЖЬ». | =ЛОЖЬ () | ——-//——- |
И | Если все заданные аргументы возвращают истинный результат, то функция выдает логическое выражение «ИСТИНА». В случае хотя бы одного ложного логического значения вся функция выдает результат «ЛОЖЬ». | =И (Лог_знач. 1; Лог_знач. 2;…) | Принимает до 255 аргументов в виде условий или ссылок. Обязательным является первый. |
ИЛИ | Показывает результат «ИСТИНА», если хотя бы один из аргументов является истинным. | =ИЛИ (Лог_знач.1; Лог_знач. 2;…) | ——-//——- |
НЕ | Меняет логическое значение «ИСТИНА» на противоположное – «ЛОЖЬ». И наоборот. | #ИМЯ? | Обычно сочетается с другими операторами. |
ЕСЛИ | Проверяет истинность логического выражения и возвращает соответствующий результат. | #ИМЯ? | «Логическое_выражение» при вычислении должно иметь результат «ИСТИНА» или «ЛОЖЬ». |
ЕСЛИОШИБКА | Если значение первого аргумента истинно, то возвращает сам аргумент. В противном случае – значение второго аргумента. | #ИМЯ? | Оба аргумента обязательны. |
Логические функции в Excel и примеры решения задач
Задача 1. Необходимо переоценить товарные остатки. Если продукт хранится на складе дольше 8 месяцев, уменьшить его цену в 2 раза.
Сформируем таблицу с исходными параметрами:
Чтобы решить поставленную задачу, воспользуемся логической функцией ЕСЛИ. Формула будет выглядеть так: =ЕСЛИ(C2>=8;B2/2;B2).
Логическое выражение «С2>=8» построено с помощью операторов отношения «>» и «=». Результат его вычисления – логическая величина «ИСТИНА» или «ЛОЖЬ». В первом случае функция возвращает значение «В2/2». Во втором – «В2».
Усложним задачу – задействуем логическую функцию И. Теперь условие такое: если товар хранится дольше 8 месяцев, то его стоимость уменьшается в 2 раза. Если дольше 5 месяцев, но меньше 8 – в 1,5 раза.
Формула приобретает следующий вид: .
В функции ЕСЛИ можно использовать в качестве аргументов текстовые значения.
Задача 2. Если стоимость товара на складе после уценки стала меньше 300 р. или продукт хранится дольше 10 месяцев, его списывают.
Для решения используем логические функции ЕСЛИ и ИЛИ: . Условие, записанное с помощью логической операции ИЛИ, расшифровывается так: товар списывается, если число в ячейке D2 = 10.
При невыполнении условия функция ЕСЛИ возвращает пустую ячейку.
В качестве аргументов можно использовать другие функции. К примеру, математические.
Задача 3. Ученики перед поступлением в гимназию сдают математику, русский и английский языки. Проходной балл – 12. По математике для поступления нужно получить не менее 4 баллов. Составить отчет о поступлении.
Составим таблицу с исходными данными:
Нужно общее количество баллов сравнить с проходным баллом. И проверить, чтобы по математике оценка была не ниже «4». В графе «Результат» поставить «принят» или «нет».
Введем формулу вида: . Логический оператор «И» заставляет функцию проверять истинность двух условий. Математическая функция «СУММ» используется для подсчета итогового балла.
Функция ЕСЛИ позволяет решать многочисленные задачи, поэтому используется чаще всего.
Статистические и логические функции в Excel
Задача 1. Проанализировать стоимость товарных остатков после уценки. Если цена продукта после переоценки ниже средних значений, то списать со склада этот продукт.
Работаем с таблицей из предыдущего раздела:
Для решения задачи используем формулу вида: . В логическом выражении «D2<СРЗНАЧ(D2:D7)» применена статистическая функция СРЗНАЧ. Она возвращает среднее арифметическое в диапазоне D2:D7.
Задача 2. Найти средние продажи в магазинах сети.
Составим таблицу с исходными данными:
Необходимо найти среднее арифметическое для ячеек, значение которых отвечает заданному условию. То есть совместить логическое и статистическое решение.
Чуть ниже таблицы с условием составим табличку для отображения результатов:
Решим задачу с помощью одной функции: . Первый аргумент – $B$2:$B$7 – диапазон ячеек для проверки. Второй аргумент – В9 – условие. Третий аргумент – $C$2:$C$7 – диапазон усреднения; числовые значения, которые берутся для расчета среднего арифметического.
Функция СРЗНАЧЕСЛИ сопоставляет значение ячейки В9 (№1) со значениями в диапазоне В2:В7 (номера магазинов в таблице продаж). Для совпадающих данных считает среднее арифметическое, используя числа из диапазона С2:С7.
Задача 3. Найти средние продажи в магазине №1 г. Москва.
Видоизменим таблицу из предыдущего примера:
Нужно выполнить два условия – воспользуемся функцией вида: .
Функция СРЗНАЧЕСЛИМН позволяет применять более одного условия. Первый аргумент – $D$2:$D$7 – диапазон усреднения (откуда берутся цифры для нахождения среднего арифметического). Второй аргумент – $B$2:$B$7 – диапазон для проверки первого условия.
Скачать примеры логических функций
Третий аргумент – В9 – первое условие. Четвертый и пятый аргумент – диапазон для проверки и второе условие, соответственно.
Функция учитывает только те значения, которые соответствуют всем заданным условиям.