19.01.2025

Логические операции или и: Логические операции — урок. Информатика, 8 класс.

Содержание

Логические операции — урок. Информатика, 8 класс.

Сложные (составные) высказывания строятся из простых с помощью логических операций. Рассмотрим основные логические операции, определённые над высказываниями. Все они соответствуют связкам, употребляемым в естественном языке.

 

Название логической операции

        Логическая связка          

Инверсия

«не»; «неверно, что»

Конъюнкция

«и»; «а»; «но»; «хотя»

Дизъюнкция

«или»

Конъюнкция

Рассмотрим два высказывания:

\(A\) = «Основоположником алгебры логики является Джордж Буль»,

\(B\) = «Исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике».

Очевидно, новое высказывание «Основоположником алгебры логики является Джордж Буль, и исследования Клода Шеннона позволили применить алгебру логики в вычислительной технике» истинно только в том случае, когда одновременно истинны оба исходных высказывания.

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

Для записи конъюнкции используются следующие знаки: И,ˆ,⋅,&.

Например: A И B,AˆB,A⋅B,A&B.

Конъюнкцию можно описать в виде таблицы, которую называют таблицей истинности:

 

В таблице истинности перечисляются все возможные значения исходных высказываний (столбцы \(A\) и \(B\)), причём соответствующие им двоичные числа, как правило, располагают в порядке возрастания: \(00, 01, 10, 11\). В последнем столбце записан результат выполнения логической операции для соответствующих операндов.

 

Обрати внимание!

Конъюнкцию также называют логическим умножением.

Дизъюнкция

Рассмотрим два высказывания:

\(A\) = «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу»,

\(B\) = «Лейбниц является основоположником бинарной арифметики».

Очевидно, новое высказывание «Идея использования в логике математической символики принадлежит Готфриду Вильгельму Лейбницу или Лейбниц является основоположником бинарной арифметики» ложно только в том случае, когда одновременно ложны оба исходных высказывания.

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

Для записи дизъюнкции используются следующие знаки: ИЛИ;∨;|;+.

Например: A ИЛИ B;A∨B;A|B;A+B.

Дизъюнкция определяется следующей таблицей истинности:

1_2.png

 

Обрати внимание!

Дизъюнкцию также называют логическим сложением.

Инверсия

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

Для записи инверсии используются следующие знаки: НЕ;¬;−

Например: НЕ А;¬А;А−.
Инверсия определяется следующей таблицей истинности:

 

1_3.png

 

Обрати внимание!

Инверсию также называют логическим отрицанием.

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

Отрицанием высказывания «Я не знаю китайский язык» будет высказывание «Неверно, что я не знаю китайский язык» или, что в русском языке: «Я знаю китайский язык».

Отрицанием высказывания «Все юноши \(8-х\) классов — отличники» является высказывание «Неверно, что все юноши \(8-х\) классов — отличники», другими словами, «Не все юноши \(8-х\) классов — отличники».

Таким образом, при построении отрицания к простому высказыванию либо используется речевой оборот «неверно, что …», либо отрицание строится к сказуемому, тогда к соответствующему глаголу добавляется частица «не».

 

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

 

Логические операции в логическом выражении выполняются в следующей очерёдности: инверсия, конъюнкция, дизъюнкция.

 

Изменить порядок выполнения операций можно с помощью расстановки скобок.

 

Обрати внимание!

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

Источники:

Босова Л. Л., Босова А. Ю., Информатика: учебник для 8 класса. М. : БИНОМ. Лаборатория знаний, 24 с.

Конспект «Логические значения, операции, выражения»

Логические значения, операции, выражения

Код ОГЭ: 1.3.3. Логические значения, операции, выражения

Алгебра логики, логические высказывания

Наука, изучающая формы, методы и законы правильного мышления, называется логикой. Она интересуется не содержанием мышления, а его формой, поэтому ее часто называют еще формальной логикой.

Форма мышления — это способ выражения мыслей или форма, по которой они строятся.

Форма, обозначающая какой–либо объект или отличающий его признак, называется понятием. Примеры понятий: «компьютер», «планета», «длина», «профессия».

Форма, утверждающая или отрицающая что–либо о свойствах понятий и отношений между ними, называется утверждением (высказыванием, суждением). Примеры логических утверждений: «Декодирование — процесс восстановления информации из закодированного представления»; «В двоичной системе используются две цифры: 0 и 1»; «Париж — столица Франции». Утверждения могут быть истинными или ложными. Так, высказывание «Шанхай — столица Франции» является ложным утверждением.

Форма, в которой из двух или нескольких высказываний получают новое утверждение, называется умозаключением. Пример умозаключения: «Периферийные устройства компьютера — это устройства для ввода или вывода информации. Сканер — устройство для переноса текста и изображений с бумаги в компьютер. Следовательно, сканер — периферийное устройство».

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

Математическая логика использует для установления истинности или ложности высказываний математические методы. Она пользуется специальным символьным языком, подобным языку математики, поэтому ее часто называют символьной логикой.

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

Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно утверждать, что его содержание истинно или ложно. Вопросительные и повелительные предложения не являются логическими высказываниями. Но и не каждое повествовательное предложение является логическим высказыванием. Например, суждение «Лето было очень дождливым» не является однозначным, для утверждения «Существует несколько Вселенных» нельзя однозначно определить истинность; поэтому такие предложения не являются логическими высказываниями (утверждениями).

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

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

Сложные высказывания представляют собой объединение простых высказываний с помощью логических связок. В качестве логических связок используются слова «не», «и», «или», «тогда и только тогда», «если … то». Истинность или ложность получаемых таким образом сложных высказываний определяется значением простых высказываний. Например, из простых высказываний «Офис фирмы находится в Мадриде» и «Офис фирмы находится в Берлине» можно составить сложные: «Офис фирмы находится в Мадриде или Берлине», «Офис фирмы находится в Мадриде и Берлине», «Если офис фирмы находится в Мадриде, то он находится в Берлине». Истинность первого из них означает, что офис фирмы находится в одном из названных городов или же имеются офисы в обоих городах. Ложность его означает, что ни в одном из этих городов офиса нет. Второе составное утверждение истинно тогда, когда в обоих городах имеется офис фирмы. Если же офис существует только в Берлине или только в Мадриде, — второе составное высказывание ложно.

В классической, двузначной алгебре логики логических значений всего два: истина (True) и ложь (False). Им соответствует цифровое представление — 1 и 0. Иногда эти значения записывают как «да» и «нет». Факт истинности или ложности некоторого высказывания А записывают соответственно как А = 1 или А = 0.

Логические операции

В алгебре логики логические связки рассматриваются как логические операции. Они имеют свои названия и обозначения. Результаты применения каждой операции к логическим высказываниям (истинным или ложным) можно представить в виде таблицы. В ней указывают все возможные сочетания значений исходных логических высказываний и истинность или ложность результата. Такие таблицы называют таблицами истинности операции. Обычно в них используют обозначения логических значений 0 и 1 или ложь и истина.

Основные логические операции — отрицание, конъюнкция, дизъюнкция, исключающая дизъюнкция, следование, эквивалентность.

Логическое отрицание (инверсия) — логическая операция, в результате которой из данного высказывания получается новое высказывание — отрицание исходного. Обозначается символически чертой сверху (Ā) или условными обозначениями ¬А, not А, не А (читается «отрицание А», «не А», «А ложно», «неверно, что А»).

Высказывание ¬А ложно, когда А истинно, и истинно, когда А ложно.

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

Если обозначить через А высказывание «Арбуз является ягодой», то ¬А соответствует высказыванию «Арбуз не является ягодой» («Неверно, что арбуз — ягода»).

Отрицание является унарной операцией. Унарная (одноместная) операция — это операция, которая применяется к одному операнду.

Остальные логические операции являются двуместными (бинарными). Бинарная (двуместная) операция — это операция, которая выполняется над двумя операндами.

Логическое умножение (конъюнкция) — операция, соединяющая два или более высказываний при помощи связки «и». Эта связка символически обозначается с помощью знака ∧ и читается «А и В». Для обозначения конъюнкции также применяются знаки: А • В, А & В, А и В, А and В, а иногда между высказываниями не ставится никакого знака: АВ.

Высказывание А ∧ В истинно только тогда, когда оба высказывания А и В истинны. Высказывание А ∧ В ложно только тогда, когда ложно хотя бы одно из высказываний А или В.

Таблица истинности операции конъюнкции

Таблица истинности операции конъюнкции

Например, высказывания «Лондон расположен севернее Лиссабона» и «Лондон расположен восточнее Лиссабона» истинны. Тогда истинным будет и составное логическое высказывание «Лондон расположен севернее и восточнее Лиссабона». Высказывания «Лондон расположен не севернее и восточнее Лиссабона», «Лондон расположен севернее и не восточнее Лиссабона», «Лондон расположен не севернее и не восточнее Лиссабона» — ложны.

Логическое сложение (дизъюнкция) — операция, соединяющая два или более высказываний при помощи связки « или». Эта связка символически обозначается с помощью знака v и читается «А или В». Для обозначения дизъюнкции также применяются знаки: А + В, А или В, А or В, А | B.

Высказывание А v В истинно только тогда, когда хотя бы одно из высказываний А или В истинно. Высказывание А v В ложно только тогда, когда оба высказывания А и В ложны.

Таблица истинности операции дизъюнкции

Таблица истинности операции дизъюнкции

Например, высказывания «Виктор старше Ольги» и «Виктор — однофамилец Ольги» истинны. Тогда истинными будут и составные логические высказывания «Виктор старше Ольги или Виктор — однофамилец Ольги», «Виктор младше Ольги или Виктор — однофамилец Ольги», «Виктор старше Ольги или Виктор — не однофамилец Ольги». Высказывание «Виктор младше Ольги или Виктор — не однофамилец Ольги» — ложно, поскольку ложны оба составляющие его простые высказывания.

Исключающее сложение (исключающая дизъюнкция, строгая дизъюнкция, сложение по модулю два, дизъюнкция строго–разделительная) — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле (называется также исключающее «или»). Операция символически обозначается с помощью знака ⊕ и читается «либо А, либо В».

Высказывание А ⊕ В истинно только тогда, когда высказывания А и В имеют различные значения.

Таблица истинности операции строгой дизъюнкции

Таблица истинности операции строгой дизъюнкции

Например, результат исключающей дизъюнкции двух высказываний «Виктор не старше Ольги» и «Виктор младше Ольги» всегда будет истиной, кто бы из них не был старше.

Логическое следование (импликация) — логическая операция, соединяющая два высказывания при помощи связки «если… то» в сложное высказывание. Операция символически обозначается с помощью знака → и читается «Если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяются также знаки ⊃ или ⇒. Первое логическое высказывание является условием (посылкой), а второе — следствием (заключением).

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

Таблица истинности операции импликации

Таблица истинности операции импликации

Для высказываний «Луна — спутник Земли» и «Сумма углов треугольника не равна 180°» (первое истинно, второе ложно) составное высказывание «Если Луна — спутник Земли, то сумма углов треугольника не равна 180°» будет ложным. Однако истинными будут высказывания «Если Луна — спутник Земли, то сумма углов треугольника равна 180°», «Если Луна — не спутник Земли, то сумма углов треугольника не равна 180°» и «Если Луна — не спутник Земли, то сумма углов треугольника равна 180°». Этот пример наглядно демонстрирует, что в алгебре логики смысл высказываний не учитывается, а рассматриваются только их истинность или ложность.

Логическое равенство (эквивалентность, следование, двойная импликация, равнозначность) — логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А ≡ В (читается «А эквивалентно B»). Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Для обозначения эквивалентности применяются знаки ~, ⇔.

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

Таблица истинности операции эквивалентности

Таблица истинности операции эквивалентности

Для высказываний «Линейное уравнение всегда имеет решение» и «Кит — млекопитающее» их эквивалентность всегда будет истиной, так как оба простые утверждения истинны.

Таким образом, сводная таблица истинности для всех основных логических операций имеет вид:

Логические выражения

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

Правила построения логических выражений:

  • любая логическая переменная или константа (истина и ложь) являются логическим выражением;
  • если А — , то ¬А — тоже логическое выражение;
  • если А и В — логические выражения, то А ∧ В; А v В ; А ⊕ В; А → В; А ~ В — тоже логические выражения.

Например, A ⊕ истина v В v ложь — логическое выражение; А v ⊕ В v ложь не является логическим выражением.

Логическое выражение, принимающее значение истина при любых значениях входящих в него переменных, называется тождественно–истинным выражением (тавтологией). Например, А v В v ¬А; (А ∧ ¬А) → В.

Логическое выражение, принимающее значение ложь при любых значениях входящих в него переменных, называется тождественно–ложным выражением (противоречием). Например, А ∧ ¬А; В ~ ¬В.

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

ПРИОРИТЕТ ЛОГИЧЕСКИХ ОПЕРАЦИЙ

Для сложных логических выражений, содержащих несколько логических операций, определен порядок выполнения действий (приоритет): сначала операции отрицания, затем операции логического умножения, потом операции логического сложения и исключающего сложения, последними выполняются операции импликации и эквивалентности. Операции выполняются слева направо. Порядок выполнения может быть изменен с помощью скобок.

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

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

Пример 1
Определить порядок выполнения логических операций в выражении.
Вычислить его значение, если А = 1, В = 0, С = 1.
¬А ∧ С v (A ⊕ В) ∧ В

Решение. Первыми вычисляются значения в скобках. Затем выполняются операции по приоритетам: самый высокий приоритет имеет операция отрицания, после нее, как в математике, следуют операции умножения, а затем сложения. Таким образом, порядок будет следующий:

Тогда значение выражения ¬1 ∧ 1 v (1 ⊕ 0) ∧ 0 после вычисления отрицания и выражения в скобках: 0 ∧ 1 v 1 ∧ 0, после операций умножения: 0 v 0. Итог: 0.
Ответ: логическое выражение ложно.

Пример 2
Для каких из приведенных слов истинно следующее высказывание?
(Вторая буква гласная) ИЛИ (Первая буква гласная) И НЕ (Длина имени не больше 5 букв)

1) Олег   2) Марианна  3) Светлана   4) Ольга.

Решение.

  1.  В соответствии с приоритетом выполнения операций сначала нужно вычислить результат операции отрицания: «Длина имени больше 5 букв». Такие имена — Марианна, Светлана.
  2. Затем необходимо рассчитать результат конъюнкции (связка И) второго и третьего высказываний. Конъюнкция истинна только тогда, когда истинны оба высказывания. Следовательно, нужно выбрать имена, в которых и первая буква гласная, и длина имени больше 5 букв — таких имен среди вариантов нет.
  3. Результат дизъюнкции (связка ИЛИ) истинен только тогда, когда истинно или одно, или второе, или одновременно оба простые высказывания. Первое простое высказывание истинно для имени Марианна, второе ложно для указанных имен. Таким образом, верный вариант ответа — 2.

Ответ: 2) Марианна.

СВЯЗЬ МЕЖДУ ЛОГИЧЕСКИМИ ОПЕРАЦИЯМИ

Между логическими операциями существует взаимосвязь. Операции исключающего «или», следования и эквивалентности можно выразить через операции отрицания, логического сложения и умножения, что отражено в следующей таблице.

Связь между логическими операциями

 

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

Если логическое выражение содержит только операции отрицания, логического сложения и логического умножения, говорят, что выражение находится в нормальной форме.

РАВНОСИЛЬНЫЕ ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

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

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

Пример 3
Проверить равносильность выражений А ~ E и (Ā ∧ Ē) v (A ∧ E).

Решение. Для проверки следует создать таблицу истинности, содержащую столько строк, сколько возможно наборов значений переменных, входящих в выражение. Для двух переменных (А и E) количество наборов равно четырем. К двум столбцам для значений переменных (А и E) нужно присовокупить количество столбцов, равное количеству операций в выражении. Таким образом, необходимо создать таблицу, содержащую 4 строки и 7 столбцов.

Заполним первые 2 столбца (А и E) всеми сочетаниями значений переменных. Запишем в качестве заголовков столбцов все операции выражения в порядке их выполнения (в соответствии с приоритетами и скобками). Рассчитаем значения этих операций: сначала выражения в скобках, затем результат их сложения.

Последний столбец содержит результирующее значение выражения. Он совпадает с таблицей истинности для операции эквивалентности. Следовательно, выражения равносильны.

Основные законы алгебры логики

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

Нормальная форма выражения содержит только операции отрицания, конъюнкции и дизъюнкции и не содержит отрицания выражений и двойных отрицаний.

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

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

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

Для всех тождественных преобразований выполняется закон двойственности: если в формуле преобразования заменить конъюнкцию на дизъюнкцию, дизъюнкцию — на конъюнкцию, значения 1 — на 0, 0 — на 1, то закон, сформулированный для конъюнкции, примет форму аналогичного закона для дизъюнкции, и наоборот.

Прежде всего при равносильных преобразованиях избавляются от отрицания выражений, потом — от логических операций исключающей дизъюнкции, следования и эквивалентности. Затем используют законы алгебры логики для уменьшения количества переменных в выражении.

Пример 4
Выбрать выражение, которое равносильно выражению (A ∧ B) v (Ā ∧ B).

1) A         2) A ∧ B          3) Ā ∧ B           4) B

Решение. В соответствии с законом склеивания (A ∧ B) v (Ā ∧ B) = B, следовательно, исходное выражение равносильно выражению В.
Ответ: 4) В.

ОПРЕДЕЛЕНИЕ ЗНАЧЕНИЙ ЛОГИЧЕСКИХ ВЫРАЖЕНИЙ

Выражения, которые принимают логические значения (истина или ложь) в результате выполнения операций сравнения (больше >, меньше <, больше или равно ≥, меньше или равно ≤, равно =, не равно ≠), также являются логическими выражениями. Кроме операций сравнения и логических операций такие выражения могут включать функции и алгебраические операции. Приоритет выполнения этих операций таков:

  1. Вычисление значений функций.
  2. Выполнение алгебраических операций (вначале возведение в степень, затем умножение и деление, после чего вычитание и сложение).
  3. Выполнение операций сравнения (в порядке записи).
  4. Выполнение логических операций (сначала операции отрицания, затем операции логического умножения, потом операции логического сложения, последними выполняются операции импликации и эквивалентности).

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

Пример 5
Для какого из приведенных ниже значений числа М истинно следующее выражение?
¬М ≥ 10 ∧ M > 3

1) 1          2) 2         3) 3        4) 4

Решение. В соответствии с приоритетами операций сначала следует выполнить операции сравнения, затем отрицания, а потом — конъюнкцию. Отрицанием высказывания М ≥ 10 является высказывание М < 10. Получим выражение М < 10 ∧ M > 3. Для того чтобы это выражение (конъюнкция) было истинным, должны выполняться (т. е. быть истинными) оба неравенства. Следовательно, значение М должно быть больше 3, но меньше 10. Среди предложенных значений этому условию удовлетворяет только одно — число 4.
Ответ: 4) 4.

Задачи, подобные предыдущему примеру, можно решать и с помощью таблиц истинности.

Пример 6.
Для какого из приведенных ниже значений числа М истинно следующее выражение?
¬М ≥ 10 ∧ M > 3

1) 1           2) 2         3) 3        4) 4

Решение. Составим таблицу истинности: все операции выражения укажем в столбцах таблицы, все предложенные значения М укажем в ее строках. Рассчитаем значения таблицы:

Последний столбец содержит результат всего выражения. Истинным оно будет только для значения числа М, равного 4.
Ответ: 4) 4.

Пример 7.
В табличной форме представлены ежемесячные данные о продаже групп товаров за полгода. Сколько групп товаров демонстрировали рост продаж в весенние месяцы или вышли на уровень свыше 80 % в июне?

Решение. Переформулируем условие задачи: необходимо найти группы товаров, для которых (Март < Апрель) ∧ (Апрель < Май) v (Июнь > 80).

Введем обозначения:
А = (Март < Апрель)
В = (Апрель < Май)
С = (Июнь > 80)

Тогда выражение можно записать как А ∧ В v С.

Логическое выражение состоит из одной конъюнкции и одной дизъюнкции. Значение выражения конъюнкции истинно только тогда, когда истинны оба составляющие его простых выражения ((Март < Апрель) и (Апрель < Май)). Значение выражения дизъюнкции будет истинным, если хотя бы одно из составляющих его простых высказываний будет истинным.

Составим таблицу истинности для исходных данных.

Логическому выражению удовлетворяют 3 записи — 4–я, 6–я и 7–я.
Ответ: 3.

 


Конспект урока по информатике «Логические значения, операции, выражения».

Вернуться к Списку конспектов по информатике.

 

iMath Wiki — Алгебра логики. Основные логические операции и их таблицы истинности. Основные законы алгебры логики.

Мы выяснили, как информация представляется в памяти вычислительных устройств и установили алгоритмы проведения операций над этими представлениями.

Теперь, давайте попробуем разобраться, как именно реализуются операции над двоичными представлениями. Для этого, для начала, нам придется разобраться с алгеброй логики.

Алгебра логики является частью дискретной математики – раздела математики, изучающего свойства структур конечного характера.

Сама алгебра логики изучает свойства функций, у которых значения как аргументов, так и самих функций ограничены двумя значениями, например, \(\{0,1\}\).

Отцом алгебры логики считается английский математик Джордж Буль (1815-1864), поэтому алгебру логики иногда называют булевой алгеброй.

Долгое время алгебра логики была известна лишь узкому кругу специалистов, и только в 1938 году американский математик Клод Шеннон (1916-2001), стоявший у истоков современной информатики, показал, что алгебра логики применима для описания самых разных процессов, в том числе релейных и транзисторных схем.

Исследования в области алгебры логики связаны с формальной логикой, а точнее, с понятием высказывания. Высказывание – это некое лексическое образование, которое устанавливает свойства и взаимосвязи между объектами. Высказывания могут быть истинными, если они адекватно описывают объекты, или ложными в противном случае.

Так, примерами высказываний могут служить такие фразы, как “сегодня идет дождь”, или “завтра я не пойду в институт”.

Определение истинности высказывания не всегда тривиально. Так, например:

Великая теорема Ферма

Для любого натурального числа \(n>2\) уравнение \[ a^n + b^n = c^n\] Не имеет решений в целых ненулевых числах \(a,\,b,\,c\)

Как известно, сформулированная Пьером Ферма в 1637 году, была окончательно доказана только в 1994.

Введем не совсем формальное, но достаточное для наших целей определение

Высказывание
это языковое образование, в отношении которого имеет смысл говорить о его истинности или ложности.

Это определение было предложено Аристотелем.

Проблема языковых образований в рамках алгебры логики в том, что они могут иметь весьма своеобразную структуру. Например, фраза “это высказывание является ложным” не может считаться высказыванием, поскольку бессмысленно говорить о его истинности или ложности. Причиной парадокса является структура фразы: она ссылается сама на себя. Подобные парадоксы могут быть устранены введением следующего определения:

Элементарное высказывание
это такое высказывание, никакая часть которого не является высказыванием.

Следует заметить, что высказыванием в строгом смысле является только утверждение о конкретных объектах. Если речь идет о неких переменных, например, “x – рациональное число”, то мы говорим о неких функциях, имеющих значение “истина” или “ложь”. Такие функции называются предикатами.

Так же следует заметить, что алгебра логики отвлекается от смыслового содержания высказываний, и занимается скорее связями между высказываниями. Если мы договоримся считать за аксиому, что “солнце светит ночью”, то есть, договоримся что это высказывание истинно, то в рамках нашей аксиоматики сможем делать какие-то обоснованные выводы. Эти выводы, конечно, не будут иметь много общего с действительностью.

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

Различные языковые связки, такие, как “не”, “если …, то …”, “или”, “и”, и т.п. позволяют строить из элементарных высказываний более сложные.

В алгебре логики существуют соответствующие подобным связкам операции.

Введем некоторые из них.

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

Конъюнкция обозначается различными способами, в частности, амперсандом \(a \,\&\,b\), точкой \(a \cdot b\), или “крышкой” \(a \wedge b\), и соответствует языковой связке “и”. Мы будем в основном использовать амперсанд.

Поскольку оба исходных высказывания имеют по два возможных значения, и конъюнкция имеет два возможных значения, мы можем записать это определение в виде таблицы истинности:

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

Дизъюнкция соответствует союзу “или”, и обозначается плюсом \(a+b\), или “галочкой” \(a\vee b\). Мы будем использовать в основном второй вариант.

Таблица истинности дизъюнкции, по определению:

Строгая дизъюнкция, или сложение по модулю 2
логическая операция, ставящая в соответствие двум элементарным высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда только одно из исходных высказываний истинно.

Строгая дизъюнкция соответствует связке “либо …, либо …”, и обозначается плюсом в кружочке \(a\oplus b\), или треугольником \(a\vartriangle b\). Будем в основном пользоваться первым обозначением.

Таблица истинности, по определению:

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

Импликация соответствует связке “если …, то …”, и обозначается стрелкой \(a \rightarrow b\), или \(a \Rightarrow b\)

Таблица истинности, по определению:

Импликация, на первый взгляд, имеет не очевидное определение: как вдруг из ложных условий получается истинное следствие. Однако, в математике это никакая не новость. Например, возьмем очевидно ложное утверждение “один равен двум”:

\[1 = 2\] \[2 = 1\]

Складывая эти равенства, получим очевидно истинный результат:

\[3=3.\]

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

Эквивалентность
логическая операция, ставящая в соответствие двум элементарным высказываниям новое высказывание, являющееся истинным тогда и только тогда, когда оба исходных высказывания одновременно истинны или одновременно ложны.

Эквивалентность соответствует связке “тогда и только тогда, когда”, и обозначается \(a \Leftrightarrow b\), или \(a \equiv b\), или \(a \sim b\), или \(a \leftrightarrow b\). Будем в основном пользоваться первыми двумя обозначениями.

Таблица истинности, по определению:

Инверсия, или отрицание
логическая операция, ставящая в соответствие элементарному высказыванию новое высказывание, являющееся истинным тогда и только тогда, исходное ложно.

Инверсия соответствует связке “не”, и обозначается \(\neg a\), или \(\;\overline{a}\;\), или \(!a\). Будем в основном пользоваться первыми двумя обозначениями.

Таблица истинности, по определению:

В заключение, таблица истинности основных логических операций:

00100011
01101110
10001100
11011011

Законы алгебры логики

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

Логическая переменная
Переменная, значением которой может быть любое высказывание. Обозначать будем маленькими латинскими буквами.
Логическая формула
любая переменная, а так же любая из констант “0” (“ложь”) и “1” (“истина”)
Любая комбинация логических формул, составленная с помощью логических операций.
Эквивалентные формулы
такие формулы, которые зависят от одного и того же набора переменных, и при одинаковых значениях этих переменных, формулы так же имеют одинаковые значения. Обозначать будем знаком равенства.

Существуют следующие “законы” алгебры логики, определяющие некий набор эквивалентных формул:

Законы коммутативности
\[x \,\&\,y = y \,\&\,x\] \[x \vee y = y\vee x\]
Законы ассоциативности
\[ (x \,\&\,y) \,\&\,z = x \,\&\,(y \,\&\,z)\] \[ (x \vee y) \vee z = x \vee(y \vee z)\]
Законы поглощения
\[x\vee 0 = x\] \[x\,\&\,1 = x\]
Законы дистрибутивности
\[ x\,\&\,(y\vee z) = (x\,\&\,y) \vee(x\,\&\,z)\] \[ x\vee(y\,\&\,z) = (x \vee y) \,\&\,(x\vee z)\]
Закон противоречия
\[ x \,\&\,\;\overline{x}\; = 0\]
Закон исключения третьего
\[ x \vee\;\overline{x}\; = 1\]
Закон равносильности
\[ x \,\&\,x = x\] \[ x \vee x = x \]
Закон двойного отрицания
\[\;\overline{\;\overline{x}\;}\; = x \]
Законы де Моргана
\[ \;\overline{x\,\&\,y}\; = \;\overline{x}\; \vee\;\overline{y}\; \] \[ \;\overline{x\vee y}\; = \;\overline{x}\; \,\&\,\;\overline{y}\; \]
Законы поглощения
\[ x\vee(x\,\&\,y) = x\] \[ x\,\&\,(x\vee y) = x\]

Все перечисленные законы элементарно доказываются составлением таблиц истинности.

Например, первый закон де Моргана:

0001111
0101101
1001011
1110000

3 и 6 столбец одинаковы, следовательно, соответствующие формулы эквивалентны.

Введем еще одно определение

Тавтология
логическая формула, которая всегда истинна.

Например, тавтологией является формула, выражающая закон исключения третьего.

Оказывается, алгебра логики хорошо подходит для решения логических задач. Решение логических задач, конечно, умеренно бессмысленное времяпрепровождение (исключая случаи, когда на их примере рассматриваются более сложные вопросы), однако это хороший способ поработать с алгеброй логики и осмыслить основные концепции.

Итак, формальный способ решения логических задач:

  1. Из условий задачи выделяются простые высказывания и обозначаются как логические переменные.
  2. Условия задачи записываются в виде логических формул
  3. Составляется единое логическое выражение, соответствующее условию задачи. По условию задачи оно является истинным.
  4. Полученное выражение упрощается, либо составляется таблица истинности для него (либо и то, и другое)
  5. Выбирается решение задачи (случаи, когда условие истинно)
  6. Решение формулируется в исходных терминах задачи.

Пример: (источник)

На весеннем фестивале, четыре садовника показывали выращенные ими розы.

Всего розы были четырех цветов и у каждого садовника было по две розы.

Известно, что

  • У первого была желтая роза
  • У второго не было красной розы
  • У третьего была синяя роза, но не было зеленой
  • У одного из садовников с зеленой розой не было красной
  • Ни у одного из садовников с желтой розой не было зеленой
  • Ни у кого нет роз двух одинаковых цветов

Введем переменные, в которых название переменной соответствует цвету, а индекс – садовнику (номеру). Это автоматически учитывает условие “Ни у кого нет роз двух одинаковых цветов”. Тогда условия задачи запишутся в виде:

  • \(y_1\)
  • \(\;\overline{r_2}\;\)
  • \(b_3 \,\&\,\;\overline{g_3}\;\)
  • \((g_1\rightarrow\;\overline{r_1}\;) \oplus(g_2\rightarrow\;\overline{r_2}\;)\oplus(g_3\rightarrow\;\overline{r_3}\;)\oplus(g_4\rightarrow\;\overline{r_4}\;)\)
  • \((y_1\rightarrow\;\overline{g_1}\;) \,\&\,(y_2\rightarrow\;\overline{g_2}\;)\,\&\,(y_3\rightarrow\;\overline{g_3}\;)\,\&\,(y_4\rightarrow\;\overline{g_4}\;)\)

Дополнительно, у каждого садовника по условиям задачи по две розы: Поэтому, если у садовника есть розы двух цветов, то роз двух других цветов у него нет. Учтем подразумеваемые импликации постфактум.

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

Рассматривая последнее условие:

\((y_1\rightarrow\;\overline{g_1}\;) (y_2\rightarrow\;\overline{g_2}\;)(y_3\rightarrow\;\overline{g_3}\;)(y_4\rightarrow\;\overline{g_4}\;)\)

Первая импликация истинна, только если \(\;\overline{g_1}\;\) истинно. Предпоследняя импликация истинна всегда, \(\;\overline{g_3}\;\). Можем переписать в виде:

\(y_1 \;\overline{g_1}\; (y_2\rightarrow\;\overline{g_2}\;) (y_4\rightarrow\;\overline{g_4}\;)\)

Рассмотрим предпоследнее условие

\[
(g_1 \rightarrow\;\overline{r_1}\;)
\oplus(g_2 \rightarrow\;\overline{r_2}\;)
\oplus(g_3 \rightarrow\;\overline{r_3}\;)
\oplus(g_4 \rightarrow\;\overline{r_4}\;)
\]

Первая импликация всегда истинна, поскольку \(\;\overline{g_1}\;\), вторая всегда истинна, поскольку \(\;\overline{r_2}\;\), третья всегда истинна, поскольку \(\;\overline{g_3}\;\). Получаем:

\[
1
\oplus 1
\oplus 1
\oplus(g_4 \rightarrow\;\overline{r_4}\;)
\]

\[
1 \oplus(g_4 \rightarrow\;\overline{r_4}\;)
\]

Легко показать, что \(1 \oplus x = \;\overline{x}\;\). Тогда условие принимает вид

\[
\;\overline{g_4 \rightarrow\;\overline{r_4}\;}\;
\]

Импликацию можно представить в виде \(x \rightarrow y = \;\overline{x}\; \vee y\)

Применяя закон де Моргана,

\[
r_4 g_4
\]

Записывая все условия вместе:

\[
y_1 \;\overline{g_1}\;
\;\overline{r_2}\;
(\;\overline{y_2}\; \vee\;\overline{g_2}\;)
(\;\overline{y_4}\; \vee\;\overline{g_4}\;)
b_3 \;\overline{g_3}\;
g_4 r_4
\]

Учитывая \(g_4 (\;\overline{y_4}\; \vee\;\overline{g_4}\;) = g_4 \;\overline{y_4}\;\),

\[
y_1 \;\overline{g_1}\;
\;\overline{r_2}\;
(\;\overline{y_2}\; \vee\;\overline{g_2}\;)
b_3 \;\overline{g_3}\;
\;\overline{y_4}\;
g_4 r_4
\]

Известно, что зеленые розы должны быть у двух садовников:

\[
\;\overline{g_1}\; \;\overline{g_2}\; g_3 g_4
\vee\;\overline{g_1}\; g_2 \;\overline{g_3}\; g_4
\vee\;\overline{g_1}\; g_2 g_3 \;\overline{g_4}\;
\vee g_1 \;\overline{g_2}\; \;\overline{g_3}\; g_4
\vee g_1 \;\overline{g_2}\; g_3 \;\overline{g_4}\;
\vee g_1 g_2 \;\overline{g_3}\; \;\overline{g_4}\;
\]

А так как \(\;\overline{g_3}\;\) и \(\;\overline{g_1}\;\)

\[
\;\overline{g_1}\; g_2 \;\overline{g_3}\; g_4
\]

Получаем \(g_2\), тогда \(g_2 (\;\overline{y_2}\; \vee\;\overline{g_2}\;) = g_2 \;\overline{y_2}\;\)

Аналогично для желтых:

\[
y_1 \;\overline{y_2}\; y_3 \;\overline{y_4}\;
\]

Получаем \(y_3\). Поскольку \(y_3 b_3\), можно утверждать \(\;\overline{r_3}\; \;\overline{g_3}\;\)

Для красных тогда:

\[
r_1 \;\overline{r_2}\; \;\overline{r_3}\; r_4
\]

Получаем \(r_1\). Поскольку \(r_1 y_1\), можем утверждать \(\;\overline{b_1}\; \;\overline{g_1}\;\)

Для синих:

\[
\;\overline{b_1}\; b_2 b_3 \;\overline{b_4}\;
\]

Получаем \(b_2\).

Итого

\[
y_1 r_1
g_2 b_2
b_3 y_3
g_4 r_4
\]

Логические операции — Циклопедия

Информатика. Выпуск 6. Алгебра логики. Основные логические операции. Ведущая — Меркушева Людмила Владимировна, ассистент кафедры информационных систем и технологий МГИУ // LiveMSIU

Лекция: Основы алгебры логики — Логические операции // NAUCHI.ru

Логические операции (логические связи) — это элементы формального языка, позволяющие составлять правильные выражения на том языке путем объединения более простых.

В классической логике высказываний логические операции — это отрицание, конъюнкция, дизъюнкция, импликация, в таком порядке выполнения. В теории множеств этим базовым логическим операциям соответствуют операции над множествами. В логике предикатов конъюнкции соответствует квантор всеобщности, дизъюнкции — квантор существования.

В традиционной нотации логическим операциям назначают собственные знаки-символы: унарная операция отрицания префиксным зна́ком ¬, бинарные операции и, или и влечёт — инфиксными знаками ∧, ∨ и →, соответственно. Атомарные (аксиоматически задаваемые) высказывания обозначаются знаками-константами, — заглавными или строчными латинскими буквами: например, A, B, p.

При помощи такой нотации записываются логические законы, например свойство ассоциативности дизъюнкции: ((a∨b)∨c) ⇔(a∨(b∨c)). Законы де Моргана: ¬(a∧b)=¬a∨¬b, ¬(a∨b)=¬a∧¬b.

Результат вычисления каждой операции в логике высказываний равен константам ⊤ (1, истинно) и ⊥ (0, ложно).

Для каждой операции может быть составлена таблица истинности, показывающая, какое значение будет возвращать операция при тех или иных значениях операндов. Обычно таблицы составляются для бинарных операций (количество операндов равно двум), но может быть составлена и для сколь угодно сложного выражения.

[править] Основные операции

[править] Конъюнкция

Логическое умножение, выражение «AND», обозначается знаком «∧».

Таблица истинности для пары операндов — 1000. Конъюнкция возвращает 1 только тогда, когда оба операнда равны 1, иначе 0.

[править] Дизъюнкция

Логическое сложение, выражение «OR», обозначается знаком «⋁». Также называется «слабой дизъюнкцией».

Таблица истинности для пары операндов — 1110. Возвращает 0 только тогда, когда оба операнда равны 0, иначе 1.

[править] Отрицание

Инверсия, негация, выражение «NOT», обозначается знаком «¬».

Возвращает противоположный знак: для 0 — 1, для 1 — 0.

[править] Второстепенные операции

[править] Сильная дизъюнкция

Исключающая дизъюнкция, выражение «XOR», обозначается символами «⊻» или «⊕».

Таблица истинности для пары операндов — 0110. Возвращает 1 только тогда, когда только один из них равен 1, а второй равен 0.

Может быть определена через основные операции: (A ⊻ B) = ((A ∧ ¬ B) ⋁ (¬ A ∧ B)).

[править] Эквивалентность

Тождество, равенство, выражение «EQ», обозначается символами «↔», «⇔» или «≡».

Таблица истинности для пары операндов — 1001. Возвращает 1 только тогда, когда оба операнда равны одновременно 0 или 1.

Может быть определена через основные операции: (A ⇔ B) = ((A ∧ B) ⋁ (¬ A ∧ ¬ B)).

[править] Выражение «НЕ-ИЛИ»

Иначе стрелка Пирса, выражение «NOR», обозначается символом «↓».

Таблица истинности для пары операндов — 0001. Возвращает 1 только тогда, когда оба операнда одновременно равны 0.

Может быть определена через основные операции: (A ↓ B) = (¬ A ∧ ¬ B)

Также через NOR могут быть определены основные логические функции.

[править] Импликация

Выражает зависимость причины и следствия, обозначается символами «⇒», «→» или «⊃».

Таблица истинности для пары операндов — 1011. То есть возвращает ложь только тогда, когда первый операнд равен 1, а второй — 0.

Может быть определена через основные операции: (A → B) = (¬ A ⋁ B).

[править] Штрих Шеффера

Записывается обычно как «|»

Таблица истинности — 1110. Возвращает 0 только тогда, когда оба операнда равны 1.

Можно определить через основные операции как ¬(A ∧ B)

[править] Базовая логика в программировании

Формальная логика широко применяется в алгоритмических языках, например языках программирования. В них широко применяются условные выражения if-then-else, в блоке if которых вычисляется истинность логического выражения (например простейшее выражение вроде $var1 == 5 && !$var2 эквивалентно логическому выражению A ∧ ¬ B, при A: «$var1 == 5» и B: «$var2 определено и имеет ненулевое значение»). В языках программирования (основанных на Си) приняты обозначения:

  • && — конъюнкция,
  • || — дизъюнкция,
  •  ! — отрицание,
  • == — эквиваленция.

Что такое логическая операция?

Обновлено: 16.11.2019 компанией Computer Hope

Circuit diagram of an OR gate created only with NAND gates

Логическая операция — это специальный символ или слово, которое соединяет две или более фраз информации. Чаще всего он используется для проверки того, является ли определенная связь между фразами истинной или ложной.

В вычислениях логические операции необходимы, потому что они моделируют способ, которым информация проходит через электрические цепи, например, внутри ЦП. Эти типы операций называются логическими операциями.

Элементы в схеме, которые ведут себя в соответствии с булевой логикой, называются логическими вентилями.

Фундаментальные логические операции

Следующие семь логических операций принимают входные данные, которые являются истинными (1) или ложными (0), и создают одно выходное значение, которое также является истинным или ложным.

Большинство этих операций может принимать более двух входов, за исключением операции НЕ, которая принимает только один вход. Ниже приведены примеры использования только одного или двух входов, что обычно происходит внутри компьютера.

Операции перечислены ниже. Щелкните ссылку операции, чтобы узнать больше.

И

Логическая операция И возвращает истину, только если любой из ее входов истинен. Если любой из входов ложен, выход также ложен.

В компьютерном программировании операция И обычно записывается как && (два амперсанда).

В булевой алгебре операцию И для двух входов A и B можно записать как AB .

Ниже приведена таблица истинности для операции И и принципиальная схема логического элемента И.

AND logic gate circuit diagram

И
А B AB
0 0 0
1 0 0
0 1 0
1 1 1

ИЛИ

Логическая операция ИЛИ возвращает истину, если любой из ее входов верен. Если все входы ложны, выход также ложен.

В компьютерном программировании операция ИЛИ обычно записывается как || (две вертикальные полосы).

В булевой алгебре значение ИЛИ двух входов A и B можно записать как A + B .

Запись

Не путайте операцию ИЛИ с арифметическим сложением, даже если они обе используют символ « + ». Это разные операции.

Ниже приведена таблица истинности для операции ИЛИ и принципиальная схема логического элемента ИЛИ.

OR logic gate circuit diagram

ИЛИ
А B А + В
0 0 0
1 0 1
0 1 1
1 1 1

НЕ

Логическая операция НЕ возвращает истину, если ее вход ложен, и ложь, если ее вход истинен.

В компьютерном программировании операция НЕ обычно записывается как ! (восклицательный знак).

В булевой алгебре значение НЕ входа A может быть записано как (A с дополнительным знаком).

Ниже приведена таблица истинности для операции НЕ и принципиальная схема логического элемента НЕ.

NOT logic gate circuit diagram

NAND

Логическая операция И-НЕ (обозначающая «НЕ И») возвращает истину, если любой из ее входов ложен, и ложь, если любой из ее входов истинен.

Совет

NAND Flash — это тип флэш-памяти на основе логических вентилей NAND.

В булевой алгебре значение И-НЕ двух входов A и B может быть записано как AB overscore (AB с дополнительным знаком).

NAND отличается тем, что является одним из двух «универсальных» логических вентилей, потому что любая другая логическая операция может быть создана с использованием только вентилей NAND. (Другой универсальный логический вентиль — ИЛИ.)

Ниже приведена таблица истинности для операции И-НЕ и принципиальная схема логического элемента И-НЕ.

NAND logic gate circuit diagram

NAND
А B ___
AB
0 0 1
1 0 1
0 1 1
1 1 0

НОР

Логическая операция ИЛИ-ИЛИ (обозначающая «НЕ ИЛИ») возвращает истину, если любой из ее входов ложен, и ложь, если любой из ее входов истинен.

Совет

NOR Flash — это тип флэш-памяти, основанный на логических вентилях NOR.

В булевой алгебре значение NOR двух входов A и B может быть записано как A plus B, overscore (A + B с лишним знаком).

NOR отличается тем, что является одним из двух «универсальных» логических вентилей, потому что любая другая логическая операция может быть создана с использованием только вентилей NOR. (Другой универсальный логический элемент — NAND.)

Ниже приведена таблица истинности для операции ИЛИ-ИЛИ и принципиальная схема логического элемента ИЛИ-НЕ.

NOR logic gate circuit diagram

НОР
А B _____
А + В
0 0 1
1 0 0
0 1 0
1 1 0

XOR

Логическая операция XOR (что означает «Исключающее ИЛИ») возвращает истину, если один из ее входов отличается, и ложь, если все они одинаковы.Другими словами, если его входные данные представляют собой комбинацию истинного и ложного, вывод XOR будет истинным. Если все его входы истинны или все ложны, выход XOR ложен.

В булевой алгебре значение XOR двух входов A и B может быть записано как A⊕B (символ XOR, ⊕, похож на знак плюс внутри круга).

Ниже приведена таблица истинности для операции XOR и ее принципиальная схема.

XOR logic gate circuit diagram

XOR
А B A⊕B
0 0 0
1 0 1
0 1 1
1 1 0

XNOR

Логическая операция XNOR (что означает «Исключительное НЕ ИЛИ») возвращает истину, если один из ее входов одинаков, и ложь, если любой из них отличается.Другими словами, если его входные данные представляют собой комбинацию истинного и ложного, на выходе XNOR будет ложно. Если все его входы истинны или все ложны, выход XNOR истинен.

В булевой алгебре значение XNOR двух входов A и B можно записать как A circle-plus B, overscore (символ XOR, ⊕, похож на знак плюс внутри круга с линией поверх всего).

Ниже приведена таблица истинности для операции XNOR и ее принципиальная схема.

XNOR logic gate circuit diagram

XNOR
А B _____
A⊕B
0 0 1
1 0 0
0 1 0
1 1 1

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

.

Арифметика, сравнение, логика и многое другое.

Что такое операторы в Python?

Операторы — это специальные символы в Python, которые выполняют арифметические или логические вычисления. Значение, с которым работает оператор, называется операндом.

Например:

  >>> 2 + 3
5  

Здесь + — оператор, выполняющий сложение. 2 и 3 — операнды, а 5 — результат операции.


Арифметические операторы

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

Оператор Значение Пример
+ Добавить два операнда или унарный плюс х + у + 2
Вычесть правый операнд из левого или унарный минус х — у- 2
* Умножение двух операндов х * у
/ Разделить левый операнд на правый (всегда получается число с плавающей запятой) х / у
% Модуль — остаток от деления левого операнда на правый x% y (остаток от x / y)
// Деление этажа — деление на целое число с поправкой на левую часть числовой строки х // у
** Экспонента — левый операнд в степени правого x ** y (x в степени y)

Пример 1: Арифметические операторы в Python

  х = 15
у = 4

# Вывод: x + y = 19
print ('х + у =', х + у)

# Вывод: x - y = 11
print ('х - у =', х-у)

# Вывод: x * y = 60
print ('х * у =', х * у)

# Вывод: x / y = 3.75
печать ('х / у =', х / у)

# Вывод: x // y = 3
print ('x // y =', x // y)

# Вывод: x ** y = 50625
print ('х ** у =', х ** у)  

Выход

  х + у = 19
х - у = 11
х * у = 60
х / у = 3,75
х // у = 3
х ** у = 50625  

Операторы сравнения

Операторы сравнения используются для сравнения значений. Он возвращает либо True , либо False в зависимости от условия.

Оператор Значение Пример
> Больше — Истина, если левый операнд больше правого x> y
< Меньше чем — Истина, если левый операнд меньше правого х <у
== Equal to — Истина, если оба операнда равны х == у
! = Not equal to — Истина, если операнды не равны х! = У
> = Больше или равно — Истина, если левый операнд больше или равен правому x> = y
<= Меньше или равно — Истина, если левый операнд меньше или равен правому х <= у

Пример 2: Операторы сравнения в Python

  х = 10
у = 12

# Вывод: x> y ложно
print ('x> y is', x> y)

# Вывод: x  = y равно False
print ('x> = y is', x> = y)

# Вывод: x <= y is True
print ('x <= y is', x <= y)  

Выход

  x> y ложно
x  = y ложно
x <= y истинно  

Логические операторы

Логические операторы - это операторы и , или , , а не .

Оператор Значение Пример
и Истинно, если оба операнда верны x и y
или Истинно, если любой из операндов истинен x или y
не Истинно, если операнд ложный (дополняет операнд) не x

Пример 3: Логические операторы в Python

  x = верно
y = ложь

print ('x и y есть', x и y)

print ('x или y равно', x или y)

print ('not x is', not x)  

Выход

  x и y ложно
x или y истинно
not x is False  

Вот таблица истинности для этих операторов.


Побитовые операторы

Побитовые операторы действуют с операндами, как если бы они были строками двоичных цифр. Они работают по крупицам, отсюда и название.

Например, 2 - это 10 в двоичной системе, а 7 - это 111 .

В таблице ниже: Пусть x = 10 ( 0000 1010 в двоичном формате) и y = 4 ( 0000 0100 в двоичном формате)

Оператор Значение Пример
и Побитовое И x & y = 0 ( 0000 0000 )
| Побитовое ИЛИ x | у = 14 ( 0000 1110 )
~ Побитовое НЕ ~ х = -11 ( 1111 0101 )
^ Побитовое исключающее ИЛИ х ^ у = 14 ( 0000 1110 )
>> Побитовый сдвиг вправо х >> 2 = 2 ( 0000 0010 )
<< Побитовый сдвиг влево x << 2 = 40 ( 0010 1000 )

Операторы присваивания

Операторы присваивания используются в Python для присвоения значений переменным.

a = 5 - простой оператор присваивания, который присваивает значение 5 справа переменной a слева.

В Python есть различные составные операторы, например a + = 5 , которые добавляют к переменной, а затем назначают то же самое. Это эквивалентно a = a + 5 .

Оператор Пример Эквивалент
= х = 5 х = 5
+ = х + = 5 х = х + 5
- = х - = 5 х = х - 5
* = х * = 5 х = х * 5
/ = х / = 5 х = х / 5
% = х% = 5 х = х% 5
// = х // = 5 х = х // 5
** = х ** = 5 х = х ** 5
& = x & = 5 x = x & 5
| = х | = 5 x = x | 5
^ = х ^ = 5 х = х ^ 5
>> = х >> = 5 х = х >> 5
<< = x << = 5 х = х << 5

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

Язык

Python предлагает некоторые специальные типы операторов, такие как оператор идентификации или оператор членства.Они описаны ниже с примерами.

Операторы идентификации

- это , а - не - операторы идентификации в Python. Они используются для проверки того, находятся ли два значения (или переменные) в одной и той же части памяти. Две равные переменные не означают, что они идентичны.

Оператор Значение Пример
это Истинно, если операнды идентичны (относятся к одному и тому же объекту) x истинно
не Истинно, если операнды не идентичны (не относятся к одному и тому же объекту) x не соответствует действительности

Пример 4: Операторы идентификации в Python

  х1 = 5
y1 = 5
x2 = 'Привет'
y2 = 'Привет'
x3 = [1,2,3]
y3 = [1,2,3]

# Вывод: Ложь
печать (x1 не y1)

# Вывод: True
печать (x2 - y2)

# Вывод: Ложь
print (x3 is y3)  

Выход

  Ложь
Правда
Ложь  

Здесь мы видим, что x1 и y1 являются целыми числами с одинаковыми значениями, поэтому они равны и идентичны.То же самое и с x2 и y2 (струны).

Но x3 и y3 - это списки. Они равны, но не идентичны. Это потому, что интерпретатор размещает их в памяти отдельно, хотя они равны.


Операторы членства

в и не в - это операторы членства в Python. Они используются для проверки того, найдено ли значение или переменная в последовательности (строка, список, кортеж, набор и словарь).

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

Оператор Значение Пример
дюйм Истинно, если значение / переменная найдено в последовательности 5 дюймов x
не в Истинно, если значение / переменная не найдена в последовательности 5 не в x

Пример № 5: Операторы членства в Python

  x = 'Привет, мир'
y = {1: 'a', 2: 'b'}

# Вывод: True
print ('H' в x)

# Вывод: True
print ('привет' не в x)

# Вывод: True
печать (1 в г)

# Вывод: Ложь
print ('а' в y)  

Выход

  Правда
Правда
Правда
Ложь  

Здесь 'H' находится в x , но 'hello' отсутствует в x (помните, Python чувствителен к регистру).Аналогично, 1 является ключевым, а 'a' - значением в словаре y . Следовательно, 'a' в y возвращает False .

.

операторов Python


Операторы Python

Операторы используются для выполнения операций с переменными и значениями.

Python делит операторы на следующие группы:

  • Арифметические операторы
  • Операторы присвоения
  • Операторы сравнения
  • Логические операторы
  • Операторы идентификации
  • Операторы членства
  • Побитовые операторы

Арифметические операторы Python

Арифметические операторы используются с числовыми значениями для выполнения общих математических операций:


Операторы присваивания Python

Операторы присваивания используются для присвоения значений переменным:



Операторы сравнения Python

Операторы сравнения используются для сравнения двух значений:


Логические операторы Python

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

Оператор Описание Пример Попробовать
и Возвращает True, если оба утверждения верны x <5 и x <10 Попробуй »
или Возвращает True, если одно из утверждений истинно x <5 или x <4 Попробуй »
не Обратный результат, возвращает False, если результат верен нет (x <5 и x <10) Попробовать »

Операторы идентификации Python

Операторы идентичности используются для сравнения объектов не в том случае, если они равны, а в том случае, если они на самом деле являются одним и тем же объектом с одним и тем же местом в памяти:

Оператор Описание Пример Попробовать
это Возвращает True, если обе переменные являются одним и тем же объектом x is y Попробуй »
не Возвращает True, если обе переменные не являются одним и тем же объектом x не y Попробовать »

Операторы членства Python

Операторы принадлежности используются для проверки того, представлена ​​ли последовательность в объекте:

Оператор Описание Пример Попробовать
дюйм Возвращает True, если последовательность с указанным значением присутствует в объекте х дюйм Попробуй »
не в Возвращает True, если последовательность с указанным значением отсутствует в
объект
x не в y Попробуй »

Побитовые операторы Python

Побитовые операторы используются для сравнения (двоичных) чисел:

Оператор Имя Описание
и И Устанавливает каждый бит в 1, если оба бита равны 1
| ИЛИ Устанавливает каждый бит в 1, если один из двух битов равен 1
^ XOR Устанавливает каждый бит в 1, если только один из двух битов 1
~ НЕ Инвертирует все биты
<< Нулевой сдвиг влево Сдвиг влево, вводя нули справа и позволяя крайним левым битам упасть
от
>> Подпись правая смена Сдвиньте вправо, вставив копии самого левого бита слева, и позвольте
отваливаются крайние правые биты


.

Логические операции с коротким замыканием - Логические операторы MATLAB: Короткое замыкание && ||

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

Из-за свойств логического И и ИЛИ результатом логического выражения является
иногда полностью определяется до оценки всех условий. Логический
Оператор и возвращает логическое значение 0
( ложь ), если хотя бы одно условие в выражении
ложный.Логический оператор или возвращает логический
1 ( истинно ), если хотя бы одно условие в
выражение верно. Когда оценка логического выражения заканчивается раньше
встретив одно из этих значений, говорят, что выражение имеет
замкнут накоротко .

Например, в выражении A && B MATLAB ® вообще не оценивает условие B , если условие
- ложь.Если A ложно, то значение
из B не меняет результат операции.

При поэлементном использовании и и |
операторы в контексте , если или , а
выражение цикла (а только в этом контексте), они используют
короткое замыкание для оценки выражений.

Примечание

Всегда используйте && и ||
операторы для включения оценки короткого замыкания.Использование и
и | оператора короткого замыкания могут привести к неожиданному
результаты, когда выражения не вычисляются до логических скаляров.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *