1 Логические основы компьютеров © К.Ю. Поляков, Тема 1. Логические выражения и операции
2 Булева алгебра Двоичное кодирование – все виды информации кодируются с помощью 0 и 1. Задача – разработать оптимальные правила обработки таких данных. Джордж Буль разработал основы алгебры, в которой используются только 0 и 1 (алгебра логики, булева алгебра). Почему «логика»? Результат выполнения операции можно представить как истинность (1) или ложность (0) некоторого высказывания.
3 Логические высказывания Логическое высказывание – это повествовательное предложение, относительно которого можно однозначно сказать, истинно оно или ложно. Высказывание или нет? Сейчас идет дождь. Жирафы летят на север. История – интересный предмет. У квадрата – 10 сторон и все разные. Красиво! В городе N живут 2 миллиона человек. Который час?
4 Обозначение высказываний A – Сейчас идет дождь. B – Форточка открыта. простые высказывания (элементарные) Составные высказывания строятся из простых с помощью логических связок (операций) «и», «или», «не», «если … то», «тогда и только тогда» и др. Любое высказывание может быть ложно (0) или истинно (1). ! A и B A или не B если A, то B не A и B A тогда и только тогда, когда B Сейчас идет дождь и открыта форточка. Сейчас идет дождь или форточка закрыта. Если сейчас идет дождь, то форточка открыта. Сейчас нет дождя и форточка открыта. Дождь идет тогда и только тогда, когда открыта форточка.
5 Операция НЕ (инверсия) Если высказывание A истинно, то «не А» ложно, и наоборот. Ане А таблица истинности операции НЕ также:, not A (Паскаль), ! A (Си) Таблица истинности логического выражения Х – это таблица, где в левой части записываются все возможные комбинации значений исходных данных, а в правой – значение выражения Х для каждой комбинации.
6 Операция И (логическое умножение, конъюнкция) ABА и B 1 0 также: A·B, A B, A and B (Паскаль), A && B (Си) конъюнкция – от лат. conjunctio соединение A B Высказывание «A и B» истинно тогда и только тогда, когда А и B истинны одновременно.
7 Операция ИЛИ (логическое сложение, дизъюнкция) ABА или B 1 0 также: A+B, A B, A or B (Паскаль), A || B (Си) дизъюнкция – от лат. disjunctio разъединение Высказывание «A или B» истинно тогда, когда истинно А или B, или оба вместе.
8 Операция «исключающее ИЛИ» Высказывание «A B» истинно тогда, когда истинно А или B, но не оба одновременно. AB А B 0 0 также: A xor B (Паскаль), A ^ B (Си) сложение по модулю 2: А B = (A + B) mod 2 арифметическое сложение, 1+1=2 остаток
9 A A = (A B) B = Свойства операции «исключающее ИЛИ» A 0 = A 1 = A 0 ? AB А B A
10 Импликация («если …, то …») Высказывание «A B» истинно, если не исключено, что из А следует B. A – «Работник хорошо работает». B – «У работника хорошая зарплата». ABА B
11 Импликация («если …, то …») «Если Вася идет гулять, то Маша сидит дома». A – «Вася идет гулять». B – «Маша сидит дома». Маша может пойти гулять (B=0), а может и не пойти (B=1)! ABА B А если Вася не идет гулять? ?
12 Эквиваленция («тогда и только тогда, …») Высказывание «A B» истинно тогда и только тогда, когда А и B равны. ABА B
13 Базовый набор операций С помощью операций И, ИЛИ и НЕ можно реализовать любую логическую операцию. ИЛИИ НЕ базовый набор операций Сколько всего существует логических операции с двумя переменными? ?