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

cover
26263
Добро пожаловать в мир логических операций, где истина и ложь сочетаются в интригующих комбинациях! Мы НЕ допустим, чтобы ты скучал ИЛИ отвлекался. ЕСЛИ ты будешь внимательным, ТО поймешь логику.
24 июля 2023 г.
Содержание статьи

Виды логических операций

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


Логическая операция — это действие с операндами, которое возвращает новое логическое значение.


Существует три базовые логические операции:


  1. конъюнкция (И): логическое умножение, которое возвращает истину, если оба операнда истинны, и ложь в противном случае;
  2. дизъюнкция (ИЛИ): логическое сложение, которое возвращает истину, если хотя бы один из операндов истинен, и ложь в противном случае;
  3. отрицание (НЕ): возвращает противоположное значение операнда.


В дополнение к базовым операциям существуют также более сложные логические операции: эквивалентность (А равносильно В), импликация, то есть следствие (если А, то В), операция XOR (исключающее ИЛИ). 


Знания этих операций будет достаточно, чтобы решить задания в ОГЭ и ЕГЭ по информатике, поэтому, будем разбираться, что к чему.



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

Пусть никого не пугает страшное слово «конъюнкция» (если все же звучит страшно, предлагаем познакомиться с операцией поближе в статье). Нужно просто его запомнить, чтобы потом блеснуть среди айтишников глубокими знаниями. А также понимать, что конъюнкция — это логическое умножение, которое обозначается «И», «AND» или символом «&». Посмотрим, как оно работает на деле.


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


Пример:


Нужно найти все возможные значения x, для которых истинны два высказывания: x > 2, х < 5. 

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


Конъюнкция этих утверждений записывается так: (x > 2) & (х < 5).


Если x = 3 или x = 4, то результат конъюнкции выдаст логическую «истину», то есть «1».

Так как оба условия выполняются: и 3, и 4 больше 2 И меньше 5. 

Если x = 9, то результат конъюнкции выдаст логическую «ложь», то есть «0».

Так как одно из условий не выполняется: 9 больше 2, но не меньше 5.

Если x = 1, то результат конъюнкции тоже выдаст логическую «ложь», то есть «0».

Так как одно из условий не выполняется: 1 меньше 5, но не больше 2.



Дизъюнкция или логическое сложение

Теперь запоминаем слово «дизъюнкция» и его значение: это логическое сложение, оно обозначается как «ИЛИ» или символом «+». Об этой операции у нас тоже есть отдельная статья.


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


Пример:


Нужно найти все возможные значения x, для которых истинно хотя бы одно из двух высказываний: x > 2, х > 5. 

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


Дизъюнкция этих утверждений записывается так: (x > 2) + (х > 5).


Если x будет принимать значение от 3 до +∞, то результат дизъюнкции выдаст логическую «истину», то есть «1».

Так как выполняется хотя бы одно условие: 3 больше 2, а значит и все значения выше будут отвечать этому условию.

Если x = 1, то результат дизъюнкции выдаст логическую «ложь», то есть «0».

Так как ни одно из условий не выполняется: 1 меньше 2 и меньше 5.



Инверсия или логическое отрицание

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


Если утверждение «А» истинно, то его инверсия «неА» ложна. Если же утверждение «А» ложно, то его инверсия «неА» истинна. Таким образом, инверсия изменяет значение утверждения на противоположное.


Пример:


Посмотрим, как происходит инверсия: у нас есть выражение (x < 10) и мы будем полностью это отрицать — НЕ(x < 10). И в итоге получим, что инверсией будет выражение: x ≥ 10.


Мы имеем некий x, значение которого строго меньше 10. Инверсия меняет значение на противоположное: то есть x будет принимать значения, которые больше либо равны 10.



Эквивалентность или логическая равнозначность

С эквивалентностью все просто: это обычное равенство двух логических выражений, и обозначается операция символами «↔» или «≡». Еще ее называют логическим «ТОГДА И ТОЛЬКО ТОГДА», намекая, что никаких других вариантов быть не может, кроме полной равнозначности.


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


Пример:


Некий гражданин утверждает, что 2 ≡ 3. Но мы то знаем, что 2 не равно 3, так что смело можем утверждать, что утверждение гражданина — это ложь. А в качестве истины предоставить свой вариант: 2 ≡ 2.


То есть все предельно просто: если числа равны, то это истина, а если не равны, то это ложь.


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



Импликация или логическое следование

Импликация, которая также называется следованием, обозначается символом «→» и выражает логическую взаимосвязь «ЕСЛИ, ТО» между выражениями.


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


Пример:


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

Возьмем переменную «погода» со значениями «солнечно» или «дождливо». 

И переменную «иду гулять», которая может быть истинной или ложной. 


Мы можем записать записать наше условие с помощью импликации:

Погода = «солнечно» → Иду гулять = истина


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


Импликация делает невозможным вариант, при котором погода солнечная, а гулять ты не пойдешь. И правильно, обязательно надо гулять, если за окном светит солнце!



Операция XOR

Есть еще одна операция, которая будет придираться к результату, как строгий учители. Она так и назвается «Строгая дизъюнкция» или, чтобы не пугать людей, — XOR. Так называемое исключающее ИЛИ обозначают символом «⊕».


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


Пример:


Настроим бытовые приборы с помощью XOR?

У нас есть два выключателя: выключатель A и выключатель B. Если только один из выключателей включен (замкнут), то свет в комнате будет гореть. Если оба выключателя включены или оба выключены, то свет будет выключен.


Теперь мы можем представить это с помощью операции XOR: A ⊕ B


- Если выключатель A = включен, а выключатель B = выключен, операция XOR вернет истину, и свет будет гореть.

- Если выключатель A = выключен, а выключатель B = включен, операция XOR вернет истину, и свет будет гореть.

- Если выключатель A = включен и выключатель B = включен или выключатель A = выключен и выключатель B = выключен, операция XOR вернет ложь, и свет будет выключен.


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



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

Если в выражении присутствуют скобки, то они имеют самый высокий приоритет и выполняются первыми. 

Если скобок нет, то порядок будет следующим:


  1. Операция инверсии НЕ имеет самый высокий приоритет, выполняется первой.
  2. Затем выполняются операции конъюнкции И и дизъюнкции ИЛИ в порядке убывания приоритета. И имеет более высокий приоритет, чем ИЛИ.
  3. Операции импликации → и эквивалентности ≡ выполняются последними. Операция → имеет более высокий приоритет, чем операция ≡.

Проверь себя

Логическое сложение — это…


  1. конъюнкция;
  2. дизъюнкция;
  3. сложное и непонятное.


2. Найди наибольшее целое значение x, для которого истинно высказывание: (x > 5) & НЕ(х ≥ 10). 


  1. 9;
  2. +∞;
  3. 10.


3. В каком порядке выполнять операцию: (x > 4) ИЛИ НЕ(х ≤ 8)


  1. сначала дизъюнкция, затем отрицание;
  2. сначала отрицание, затем дизъюнкция;
  3. сначала отрицание, потом гнев, потом принятие.


Admin1