Логические операторы это специальные символы (или сочетания символов), которые изменяют или комбинируют логические значения типа Boolean — true и false. Их используют чтобы создавать сложные условия, например в циклах.
Логические операторы
Оператор НЕ (!, not)
Выражение вида !true равно false и наоборот. ! — унарный оператор (применяется к одному операнду), он помещается перед операндом.
Оператор И (&&, and)
Выражение вида a && b будет равно true только тогда, когда и а и b равны true.
Оператор ИЛИ (||, or)
Выражение a || b будет равно true, когда или a, или b (или оба) равен true.
Оператор исключающее ИЛИ (^, xor)
Выражение a ^ b будет равно true, когда только один из операндов имеет значение true. Подробно о применении xor рассказывается в статье «Практика применения XOR в программировании»
Оператор эквивалентности ==
Выражение a == b будет равно true, когда a и b имеют одинаковые значения.
Оператор неравенства !=
Выражение a != b будет равно true, когда a и b имеют разные значения.
Приоритет логических операторов
- Оператор эквивалентности — ==, оператор неравенства — !=.
- Оператор отрицания — !.
- Оператор И — &&.
- Оператор исключающее ИЛИ — ^.
- Оператор ИЛИ — ||.
Предлагаем вам пройти тест и узнать, насколько хорошо вы разобрались с логическими операторами:
Теги: xor, or, and, not, логические операции, исключающее или, бит, битовые операции
В этой статье мы поговорим о некоторых битовых операциях. Рассмотрим основные из них: XOR (исключающее ИЛИ), AND (И), NOT (НЕ) а также OR (ИЛИ).
Как известно, минимальной единицей измерения информации является бит, который хранит одно из 2-х значений: 0 (False, ложь) либо 1 (True, истина). Таким образом, битовая ячейка может одновременно находиться лишь в одном из двух возможных состояний.
Для манипуляций с битами используют определённые операции — логические или булевые. Они могут применяться к любому биту, вне зависимости от того, какое у него значение — ноль или единица. Что же, давайте посмотрим на примеры использования трёх основных логических операций.
Логическая операция AND (и)
AND обозначается знаком &.
Оператор AND выполняется с 2-мя битами, возьмём, к примеру, a и b. Результат выполнения операции AND равен 1, если a и b равняются 1. В остальных случаях результат равен 0. Например, с помощью AND вы можете узнать, чётное число или нет.
Посмотрите на таблицу истинности операции AND:
Логическая операция OR (ИЛИ)
Обозначается знаком |.
Оператор OR также выполняется с 2-мя битами (a и b). Результат равен 0, если a и b равны 0, иначе он равен 1. Смотрим таблицу истинности.
Логическая операция XOR (исключающее ИЛИ)
Оператор XOR обозначается ^.
XOR выполняется с 2-мя битами (a и b). Результат выполнения операции XOR (исключающее ИЛИ) равен 1, когда один из битов b или a равен 1. В остальных ситуациях результат применения оператора XOR равен 0.
Таблица истинности логической операции для XOR (исключающее ИЛИ) выглядит так:
Используя XOR (исключающее ИЛИ), вы можете поменять значения 2-х переменных одинакового типа данных, не используя временную переменную. А ещё, посредством XOR можно зашифровать текст, например:
String msg = "This is a message"; char[] message = msg.toCharArray(); String key = ".*)"; String encryptedString = new String(); for(int i = 0; i< message.length; i++){ encryptedString += message[i]^key.toCharArray()[i%key.length()]; }Согласен, XOR — далеко не самый надёжный метод шифрования, но это не значит, что его нельзя сделать частью какого-либо шифровального алгоритма.
Логическая операция NOT (НЕ)
Это побитовое отрицание, поэтому выполняется с одним битом и обозначается ~.
Результат зависит от состояния бита. Если он в нулевом состоянии, то итог операции — единица и наоборот. Всё предельно просто.
Эти 4 логические операции следует запомнить в первую очередь, т. к. с их помощью можно получить практически любой возможный результат. Также существуют такие операции, как << (побитовый сдвиг влево) и >> (побитовый сдвиг вправо).
На уроке рассмотрен материал для подготовки к огэ по информатике, решение задания 3
3-е задание: «Значение логического выражения»
Уровень сложности — базовый,
Максимальный балл — 1,
Примерное время выполнения — 3 минуты.
* до 2020 г — это задание № 2 ОГЭ
Содержание:
- Объяснение 3 задания ОГЭ по информатике
- ОГЭ информатика разбор задания 3
- Актуальное
- Тренировочные
- Для подготовки к решению 3 задания ОГЭ по информатике следует вспомнить знаки сравнения. В логических выражениях используются следующие знаки сравнения:
- В логических выражениях участвуют всего два значения выражений: ИСТИНА и ЛОЖЬ.
- Рассмотрим результат выполнения логических выражений для двух высказываний — А и Б:
- Если отрицание НЕ стоит перед скобкой с выражением, то НЕ ставится перед каждой частью выражения в скобках и при этом операция внутри скобок меняется:
> |
больше |
< |
меньше |
= |
равно |
≥ |
больше или равно |
≤ |
меньше или равно |
1 | А ИЛИ Б = ИСТИНА → | если А=истина И Б=истина |
2 | если А=истина И Б=ложь | |
3 | если А=ложь И Б=истина | |
4 | А ИЛИ Б = ЛОЖЬ → | если А=ложь И Б=ложь |
Вывод: логическое выражение с операцией ИЛИ легче проверить «на ложь»:
с операцией ИЛИ результатом будет ЛОЖЬ только в одном единственном случае, — когда оба выражения — А и Б — ложны
1 | А И Б = ИСТИНА → | если А=истина И Б=истина |
2 | А И Б = ЛОЖЬ → | если А=истина И Б=ложь |
3 | если А=ложь И Б=истина | |
4 | если А=ложь И Б=ложь |
Вывод: логическое выражение с операцией И легче проверить «на истинность»:
с операцией И результатом будет ИСТИНА только в одном единственном случае, — когда оба выражения — А и Б — истинны
Исходные значения | Результат | |
---|---|---|
1 | НЕ А если А=истина |
А = ЛОЖЬ |
НЕ(5 > 0) | 5 ≤ 0 | |
2 | НЕ А если А=ложь |
А = ИСТИНА |
НЕ(-2 > 0) | -2 ≤ 0 | |
3 | НЕ (НЕ А) | = А |
1 | НЕ |
2 | выражение в скобках |
3 | И |
4 | ИЛИ |
1 | НЕ (А ИЛИ Б) | НЕ А И НЕ Б |
2 | НЕ (А И Б) | НЕ А ИЛИ НЕ Б |
ОГЭ информатика разбор задания 3
Подробный видеоразбор по ОГЭ 3 задания:
📹 Видеорешение на RuTube здесь
Актуальное
Значение логического выражения
Разбор задания 3.7. Демонстрационный вариант ОГЭ 2022 г ФИПИ:
Напишите наименьшее число x, для которого истинно высказывание:
(x > 16) И НЕ (x нечётное)
✍ Решение:
- Выполним первую по приоритету операцию — операцию НЕ:
НЕ (x нечётное) результат: x чётное
(x > 16) И (x чётное)
(x > 16) И (x чётное) = ИСТИНА истина истина
Ответ: 18
Разбор задания 3.12:
Напишите наименьшее число x, для которого ложно высказывание:
(x ≤ 15) ИЛИ НЕ (x нечётное)
✍ Решение:
- Выполним первую по приоритету операцию — операцию НЕ:
НЕ (x нечётное) результат: x чётное
(x ≤ 15) ИЛИ (x чётное) = 0 (ложь)
(x ≤ 15) ИЛИ (x чётное) = ЛОЖЬ ложь ложь
Ответ: 17
Тренировочные
Разбор задания 3.1:
Для какого из приведённых значений числа X ложно высказывание:
НЕ (X < 6) ИЛИ (X < 5) ?
1) 7
2) 6
3) 5
4) 4
Подобные задания для тренировки
✍ Решение:
- Выполним первую по приоритету операцию — операцию НЕ:
НЕ (X < 6) (X < 6) - ложь, значит результат: X ≥ 6
(X ≥ 6) ИЛИ (X < 5)
(X ≥ 6) ИЛИ (X < 5) = ЛОЖЬ ложь ложь
1. (X ≥ 6) = ЛОЖЬ => X < 6 2. (X < 5) = ЛОЖЬ => X ≥ 5
5 < 6 и 5 ≥ 5
Ответ: 3
Разбор задания 3.2:
Для какого из приведённых значений числа X истинно высказывание:
(X < 8) И НЕ (X < 7) ?
1) 9
2) 8
3) 7
4) 6
Подобные задания для тренировки
✍ Решение:
- Выполним первую по приоритету операцию — операцию НЕ:
НЕ (X < 7) (X < 7) - ложь, значит результат: X ≥ 7
(X < 8) И (X ≥ 7)
(X < 8) И (X ≥ 7) = ИСТИНА истина истина
1. (X < 8) = ИСТИНА => X < 8 2. (X ≥ 7) = ИСТИНА => X ≥ 7
7 < 8 и 7 ≥ 7
Ответ: 3
Разбор задания 3.3:
Для какого из приведённых имён ЛОЖНО высказывание:
НЕ ((Третья буква согласная) И (Последняя буква гласная)) ?
1) Анна
2) Елена
3) Павел
4) Егор
Подобные задания для тренировки
✍ Решение:
- Обратим внимание на то, что в заданном выражении операция НЕ относится ко всей общей скобке.
- Выполним первую по приоритету операцию — операцию НЕ, по таблице 6 для НЕ перед скобкой с выражением имеем:
НЕ ((Третья буква согласная) И (Последняя буква гласная)) = = (НЕ(Третья буква согласная) ИЛИ НЕ(Последняя буква гласная))
1. НЕ(Третья буква согласная) => Третья буква НЕ согласная 2. НЕ(Последняя буква гласная) => Последняя буква НЕ гласная
(Третья буква не согласная) ИЛИ (Последняя буква не гласная)
(Третья буква не согласная) ИЛИ (Последняя буква не гласная) = ЛОЖЬ ложь ложь
1. (Третья буква не согласная) = ЛОЖЬ => Третья буква согласная 2. (Последняя буква не гласная) = ЛОЖЬ => Последняя буква гласная
Третья буква "н" согласная и Последняя буква "а" гласная
Ответ: 1
Разбор задания 3.4:
Для какого из приведённых имён ИСТИННО высказывание:
НЕ ((число > 50) ИЛИ НЕ(число четное)) ?
1) 43
2) 50
3) 61
4) 72
Подобные задания для тренировки
✍ Решение:
- Обратим внимание на то, что в заданном выражении операция НЕ относится ко всей общей скобке.
- Выполним первую по приоритету операцию — операцию НЕ в малых скобках:
НЕ(число четное) => число нечетное
НЕ ((число > 50) ИЛИ (число нечетное)) = = (НЕ(число > 50) И НЕ(число нечетное))
1. НЕ(число > 50) => число <= 50 2. НЕ(число нечетное) => число четное
(число <= 50) И (число четное)
(число <= 50) И (число нечетное) = ИСТИНА истина истина
Ответ: 2
Разбор задания 3.5.:
Для какого из приведённых слов ЛОЖНО высказывание:
(последняя буква согласная) ИЛИ НЕ ((первая буква согласная) И (вторая буква гласная)) ?
1) Тигр
2) Выдра
3) Енот
4) Краб
✍ Решение:
- Обратим внимание на то, что в заданном выражении операция НЕ относится ко всей общей скобке.
- Выполним первую по приоритету операцию — операцию НЕ, по таблице 6 для НЕ перед скобкой с выражением имеем:
НЕ ((первая буква согласная) И (вторая буква гласная)) = = (НЕ(первая буква гласная) ИЛИ НЕ(вторая буква гласная))
1. НЕ(первая буква согласная) => первая буква гласная 2. НЕ(вторая буква гласная) => вторая буква согласная
(первая буква гласная) ИЛИ (вторая буква согласная)
(последняя буква согласная) ИЛИ (первая буква гласная) ИЛИ (вторая буква согласная)
(последняя буква согласная) ИЛИ (первая буква согласная) ИЛИ ложь ложь (вторая буква согласная) = ЛОЖЬ ложь
1. (последняя буква согласная) = ЛОЖЬ => последняя буква гласная 2. (первая буква гласная) = ЛОЖЬ => первая буква согласная 3. (вторая буква согласная) = ЛОЖЬ => вторая буква гласная
Ответ: 2
Разбор задания 3.6:
Для какого из приведённых слов верно высказывание:
(первая буква гласная) И ((последняя буква согласная) ИЛИ (вторая буква согласная)) ?
1) АИДА
2) СЕРГЕЙ
3) СТЕПАН
4) АРТЕМ
Подобные задания для тренировки
✍ Решение:
- Обратим внимание на то, что в заданном выражении находятся большие скобки, с которых необходимо начать решение.
- Внешняя операция, т.е. последняя по приоритету — это операция И. Рассмотрим ее подробней, разделив общее высказывание на две части относительно этой операции:
(первая буква гласная) И ((последняя буква согласная) ИЛИ (вторая буква согласная))
(первая буква гласная) И ((последняя буква согласная) ИЛИ (вторая буква согласная)) истина истина
((последняя буква согласная) ИЛИ (вторая буква согласная)) истина ИЛИ истина
(первая буква гласная) И (или первая или вторая буква в слове согласная) истина истина
Ответ: 4
Осуществление поиска в готовой базе данных по сформулированному условию
* до 2020 г — это задание № 12 ОГЭ
Разбор задания 3.8:
Ниже в табличной форме представлен фрагмент базы данных «Отправление поездов дальнего следования»:
Пункт назначения | Категория поезда | Время в пути | Вокзал |
---|---|---|---|
Рига | скорый | 15:45 | Рижский |
Ростов | фирменный | 17:36 | Казанский |
Самара | фирменный | 14:20 | Казанский |
Самара | скорый | 17:40 | Казанский |
Самара | скорый | 15:56 | Казанский |
Самара | скорый | 15:56 | Павелецкий |
Самара | фирменный | 23:14 | Курский |
Санкт-Петербург | скорый | 8:00 | Ленинградский |
Санкт-Петербург | скорый | 4:00 | Ленинградский |
Саратов | скорый | 14:57 | Павелецкий |
Саратов | пассажирский | 15:58 | Павелецкий |
Саратов | скорый | 15:30 | Павелецкий |
Сколько записей в данном фрагменте удовлетворяют условию:
(Категория поезда = «скорый») ИЛИ (Вокзал = «Павелецкий»)?
✍ Решение:
- В условии находится логическая операция ИЛИ, которая истинна тогда, кода хоть одно из логических выражений истинно. Для нашего случая это говорит о том, что нужно посчитать те строки, в которых:
1. Категория поезда = «скорый» и Вокзал = любой 2. Категория поезда = «скорый» и Вокзал = «Павелецкий» 3. Категория поезда = любой и Вокзал = «Павелецкий»
Ответ: 9
Разбор задания 3.9:
Ниже в табличной форме представлен фрагмент базы данных «Отправление поездов дальнего следования»:
Пункт назначения | Категория поезда | Время в пути | Вокзал |
---|---|---|---|
Балаково | скорый | 20:22 | Павелецкий |
Бийск | скорый | 61:11 | Казанский |
Бишкек | скорый | 121:20 | Казанский |
Благовещенск | пассажирский | 142:06 | Ярославский |
Брест | скорый | 14:19 | Белорусский |
Валуйки | фирменный | 14:57 | Курский |
Варна | скорый | 47:54 | Киевский |
Волгоград | скорый | 18:50 | Павелецкий |
Волгоград | скорый | 24:50 | Курский |
Воркута | пассажирский | 48:19 | Ярославский |
Воркута | пассажирский | 48:19 | Ярославский |
Гродно | скорый | 16:34 | Белорусский |
Сколько записей в данном фрагменте удовлетворяют условию:
(Категория поезда = «скорый») И (Время в пути > 40:00)?
✍ Решение:
- В условии находится логическая операция И, которая истинна только тогда, кода оба (все) выражения истинны. Для нашего случая это говорит о том, что нужно посчитать те строки, в которых:
Категория поезда = «скорый» и Время в пути > 40:00 одновременно
Ответ: 3
Разбор задания 3.10:
Ниже в табличной форме представлен фрагмент базы данных «Отправление поездов дальнего следования»:
Пункт назначения | Категория поезда | Время в пути | Вокзал |
---|---|---|---|
Балаково | скорый | 20:22 | Павелецкий |
Бийск | скорый | 61:11 | Казанский |
Бишкек | скорый | 121:20 | Казанский |
Благовещенск | пассажирский | 142:06 | Ярославский |
Брест | скорый | 14:19 | Белорусский |
Валуйки | фирменный | 14:57 | Курский |
Варна | скорый | 47:54 | Киевский |
Волгоград | скорый | 18:50 | Павелецкий |
Волгоград | скорый | 24:50 | Курский |
Воркута | пассажирский | 48:19 | Ярославский |
Воркута | пассажирский | 48:19 | Ярославский |
Гродно | скорый | 16:34 | Белорусский |
Сколько записей в данном фрагменте удовлетворяют условию:
(Пункт назначения = «Волгоград») ИЛИ (Категория поезда = «пассажирский») И (Время в пути < 50:00)?
В ответе укажите одно число — искомое количество записей.
✍ Решение:
- В условии находятся две логических операции: И и ИЛИ. Первой всегда выполняется операция И, затем добавляются записи для операции ИЛИ.
- Операция И истинна только тогда, кода оба (все) выражения истинны.
(Категория поезда = «пассажирский») И (Время в пути < 50:00) одновременно
(Пункт назначения = «Волгоград») добавить к предыдущему результату
Ответ: 4
Разбор задания 3.11:
Ниже в табличной форме представлен фрагмент базы данных «Отправление поездов дальнего следования»:
Пункт назначения | Категория поезда | Время в пути | Вокзал |
---|---|---|---|
Махачкала | скорый | 39.25 | Павелецкий |
Махачкала | скорый | 53.53 | Курский |
Мурманск | скорый | 35.32 | Ленинградский |
Мурманск | скорый | 32.50 | Ленинградский |
Мурманск | пассажирский | 37.52 | Ленинградский |
Мурманск | пассажирский | 37.16 | Ленинградский |
Назрань | пассажирский | 40.23 | Павелецкий |
Нальчик | скорый | 34.55 | Казанский |
Нерюигри | скорый | 125.41 | Казанский |
Новосибирск | скорый | 47.30 | Ярославский |
Нижневартовск | скорый | 52.33 | Казанский |
Нижний Тагил | фирменный | 31.36 | Ярославский |
Сколько записей в данном фрагменте удовлетворяют условию:
НЕ (Вокзал = «Ленинградский») И (Время в пути > 50.00)?
✍ Решение:
- В условии находятся две логических операции: НЕ и И.
- Первой всегда выполняется операция НЕ, затем добавляются записи для операции И.
- Операция НЕ обозначает обратное высказывание:
НЕ(Вокзал = «Ленинградский») то же самое, что (Вокзал ≠ «Ленинградский»)
(Вокзал ≠ «Ленинградский») И (Время в пути > 50.00) одновременно
Ответ: 3
План урока:
Алгебра логики и решение задач
Основные операции
Сравнение операций, первоочередность
Диаграммы Эйлера-Венна
Законы алгебры логики
Электросхемы и таблицы истинности
Универсальный подход помогает решать разнотипные задачи, даже не вникая в условие детально. Именно для этого нужны логические задачи и универсальные способы решения. Существует множество подходов, но наиболее распространены 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.
Бит — это минимальная единица измерения объёма информации, так как она хранит одно из двух значений — 0 (False) или 1 (True). False и True в переводе на русский ложь и истина соответственно. То есть одна битовая ячейка может находиться одновременно лишь в одном состоянии из возможных двух. Напомню, два возможных состояния битовой ячейки равны — 1 и 0.
Есть определённые операции, для манипуляций с битами. Эти операции называются логическими или булевыми операциями, названные в честь одного из математиков — Джорджа Буля (1815-1864), который способствовал развитию этой области науки.
Все эти операции могут быть применены к любому биту, независимо от того, какое он имеет значение — 0(нуль) или 1(единицу). Ниже приведены основные логические операции и примеры их использования.
Логическая операция И (AND)
Обозначение AND: &
Логическая операция И выполняется с двумя битами, назовем их a и b. Результат выполнения логической операции И будет равен 1, если a и b равны 1, а во всех остальных (других) случаях, результат будет равен 0. Смотрим таблицу истинности логической операции and.
a(бит 1) | b(бит 2) | a(бит 1) & b(бит 2) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Логическая операция ИЛИ (OR)
Обозначение OR: |
Логическая операция ИЛИ выполняется с двумя битами (a и b). Результат выполнения логической операции ИЛИ будет равен 0, если a и b равны 0 (нулю), а во всех остальных (других) случаях, результат равен 1 (единице). Смотрим таблицу истинности логической операции OR.
a(бит 1) | b(бит 2) | a(бит 1) | b(бит 2) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Логическая операция исключающее ИЛИ (XOR).
Обозначение XOR: ^
Логическая операция исключающее ИЛИ выполняется с двумя битами (a и b). Результат выполнения логической операции XOR будет равен 1 (единице), если один из битов a или b равен 1 (единице), во всех остальных случаях, результат равен 0 (нулю). Смотрим таблицу истинности логической операции исключающее ИЛИ.
a(бит 1) | b(бит 2) | a(бит 1) ^ b(бит 2) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Логическая операция НЕ (not)
Обозначение NOT: ~
Логическая операция НЕ выполняется с одним битом. Результат выполнения этой логической операции напрямую зависит от состояния бита. Если бит находился в нулевом состоянии, то результат выполнения NOT будет равен единице и наоборот. Смотрим таблицу истинности логической операции НЕ.
a(бит 1) | ~a(отрицание бита) |
---|---|
0 | 1 |
1 | 0 |
Запомните эти 4 логические операции. Используя эти логические операции, мы можем получить любой возможный результат. Подробно об использовании логических операций в С++ читаем тут.