Page 1
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
1
Логические основы компьютеров
§ 18. Логика и компьютер
§ 19. Логические операции
§ 20. Диаграммы
§ 21. Упрощение логических выражений
§ 22. Синтез логических выражений
§ 23. Предикаты и кванторы
§ 24. Логические элементы компьютера
§ 25. Логические задачи Задачи ЕГЭ
Page 2
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
2
Логические основы
компьютеров§ 18. Логика и компьютер
Page 3
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
3
Логика, высказывания
Аристотель(384-322 до н.э.)
Логика (др.греч. λογικος) – это наука о том, как правильно рассуждать, делать выводы, доказывать утверждения.
Формальная логика отвлекается от конкретного содержания, изучает только истинность и ложность высказываний.
Логическое высказывание – это повествовательное предложение, относительно которого можно однозначно сказать, истинно оно или ложно.
Page 4
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
4
Высказывание или нет?
Сейчас идет дождь.
Жирафы летят на север.
История – интересный предмет.
У квадрата – 10 сторон и все разные.
Красиво!
В городе N живут 2 миллиона человек.
Который час?
Page 5
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
5
Логика и компьютерДвоичное кодирование – все виды информации
кодируются с помощью 0 и 1.
Задача – разработать оптимальные правила обработки таких данных.
Почему «логика»?Результат выполнения операции можно представить как истинность (1) или ложность (0) некоторого высказывания.
Джордж Буль разработал основы алгебры, в которой используются только 0 и 1(алгебра логики, булева алгебра).
Page 6
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
6
Логические основы
компьютеров§ 19. Логические операции
Page 7
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
7
Обозначение высказыванийA – Сейчас идет дождь.
B – Форточка открыта. } простые высказывания (элементарные)
простые высказывания (элементарные)
Составные высказывания строятся из простых с помощью логических связок (операций) «и», «или», «не», «если … то», «тогда и только тогда» и др.
Любое высказывание может быть ложно (0) или истинно (1).
!
A и B
A или не B
если A, то B
A тогда и только тогда, когда B
Сейчас идет дождь и открыта форточка.
Сейчас идет дождь или форточка закрыта.
Если сейчас идет дождь, то форточка открыта.
Дождь идет тогда и только тогда, когда открыта форточка.
Page 8
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
8
Операция НЕ (инверсия)
Если высказывание A истинно, то «не А» ложно, и наоборот.
А не А
1
0
0
1таблица
истинности операции НЕ
таблица истинности операции НЕ
также , , not A (Паскаль),
! A (Си)
также , , not A (Паскаль),
! A (Си)
Таблица истинности логического выражения Х – это таблица, где в левой части записываются все возможные комбинации значений исходных данных, а в правой – значение выражения Х для каждой комбинации.
A A¬
Page 9
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
9
Операция ИВысказывание «A и B» истинно тогда и только тогда, когда А и B истинны одновременно.
220 В
A и BA
B
Page 10
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
10
Операция И (логическое умножение, конъюнкция)
A B А и B
1
0
также: A·B, A ∧ B,A and B
(Паскаль), A && B (Си)
также: A·B, A ∧ B,A and B
(Паскаль), A && B (Си)0 0
0 11 01 1
0
1
2
3
00
конъюнкция – от лат. conjunctio — соединение
A ∧ B
Page 11
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
11
Операция ИЛИ (логическое сложение, дизъюнкция)
Высказывание «A или B» истинно тогда, когда истинно А или B, или оба вместе.
220 В
A или B
A B
Page 12
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
12
Операция ИЛИ (логическое сложение, дизъюнкция)
A B А или B
1
0
также: A+B, A ∨ B,A or B (Паскаль),
A || B (Си)
также: A+B, A ∨ B,A or B (Паскаль),
A || B (Си)
0 00 11 01 1
11
дизъюнкция – от лат. disjunctio — разъединение
Page 13
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи13
В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции «ИЛИ» в запросе используется символ |, а для логической операции «И» – &.1) принтеры & сканеры & продажа2) принтеры & продажа3) принтеры | продажа4) принтеры | сканеры | продажа
1 2 3 41 2 3 4
Page 14
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
14
Операция «исключающее ИЛИ»Высказывание «A ⊕ B» истинно тогда, когда истинно А или B, но не оба одновременно (то есть A ≠ B).
«Либо пан, либо пропал».
A B А ⊕ B
0
0
также: A xor B (Паскаль),
A ^ B (Си)
также: A xor B (Паскаль),
A ^ B (Си)0 00 11 01 1
11
сложение по модулю 2: А ⊕ B = (A + B) mod 2
арифметическое сложение, 1+1=2
арифметическое сложение, 1+1=2
остатокостаток
Page 15
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
15
Свойства операции «исключающее ИЛИ»
A ⊕ A =
(A ⊕ B) ⊕ B = A ⊕ 0 =
A ⊕ 1 =
A 0
BABABA ⋅+⋅=⊕
?
A B А ⊕ B0 0
0 1
1 0
1 1
BA ⋅ BA ⋅ BABA ⋅+⋅0010
0100
0110
0110
A
Page 16
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
16
Импликация («если …, то …»)Высказывание «A → B» истинно, если не исключено, что из А следует B.
A – «Работник хорошо работает».
B – «У работника хорошая зарплата».
A B А → B
0 0
0 1
1 0
1 1
BABA +=→
1
110
Page 17
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
17
Импликация («если …, то …»)
«Если Вася идет гулять, то Маша сидит дома».
A – «Вася идет гулять».
B – «Маша сидит дома».
Маша может пойти гулять (B=0), а может и не пойти (B=1)!
A B А → B
0 0 1
0 1 1
1 0 0
1 1 1
А если Вася не идет гулять?
?1BA =→
Page 18
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
18
Эквивалентность («тогда и только тогда, …»)
Высказывание «A ↔ B» истинно тогда и только тогда, когда А и B равны.
A B А ↔ B
0 0 1
0 1 0
1 0 0
1 1 1
BABABABA ⋅+⋅=⊕=↔
Page 19
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
19
Базовый набор операций
С помощью операций И, ИЛИ и НЕ можно реализовать любую логическую операцию.
ИЛИИ НЕ
базовый набор операций
Сколько всего существует логических операции с двумя переменными?
?
Page 20
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
20
Штрих Шеффера, «И-НЕ»
A B А | B
0 0 1
0 1 1
1 0 1
1 1 0
A|AA =Базовые операции через «И-НЕ»:
B)|(A|B)|(AB|ABA ==⋅
B)|(B|A)|(AB|ABA ==+
BAB|A ⋅=
Page 21
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
21
Стрелка Пирса, «ИЛИ-НЕ»
A B А ↓ B
0 0 1
0 1 0
1 0 0
1 1 0
Базовые операции через «ИЛИ-НЕ»:
BABA +=↓
Самостоятельно…!
Page 22
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
22
ФормализацияПрибор имеет три датчика и может работать, если два из них исправны. Записать в виде формулы ситуацию «авария».
A – «Датчик № 1 неисправен».
B – «Датчик № 2 неисправен».
C – «Датчик № 3 неисправен».
Аварийный сигнал:
X – «Неисправны два датчика». X – «Неисправны датчики № 1 и № 2» или
«Неисправны датчики № 1 и № 3» или
«Неисправны датчики № 2 и № 3».
CBCABAX ⋅+⋅+⋅=логическая формула
логическая формула
Формализация – это переход к записи на формальном языке!
!
Page 23
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
23
Вычисление логических выражений
CBCABAX ⋅+⋅+⋅=
Порядок вычислений:•скобки•НЕ•И•ИЛИ, исключающее ИЛИ•импликация•эквивалентность
A B
+
•
+
B C
•
A С
•
1 4 2 5 3
Page 24
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
24
Составление таблиц истинности
A B A·B X0 0
0 1
1 0
1 1
BBABAX +⋅+⋅=
0
1
2
3
0100
BA ⋅ B0001
1010
1111
Логические выражения могут быть:• тождественно истинными (всегда 1, тавтология)
• тождественно ложными (всегда 0, противоречие)
• вычислимыми (зависят от исходных данных)
Page 25
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
25
Составление таблиц истинности
A B C A·B A·C B·C X0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
CBCABAX ⋅+⋅+⋅=
0
1
2
3
4
5
6
7
00000011
00000101
00010001
00010111
Page 26
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи (таблица истинности)26
Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F. Какое выражение соответствует F? 1) ¬X ∧ ¬Y ∧ ¬Z 2) X ∧ Y ∧ Z3) X ∨ Y ∨ Z4) ¬X ∨ ¬Y ∨ ¬Z
X Y Z F
1 0 0 1
0 0 0 1
1 1 1 01) 2) 3) 4)
1) 2) 3) 4)
ZYX ⋅⋅ZYX ⋅⋅
ZYX ++ZYX ++
Упрощённый способ подбора:
Page 27
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи (таблица истинности)27
X Y Z F
1 0 0 1
0 0 0 1
1 1 1 00ZYX =++
Упрощённый способ подбора:1)один нуль ⇒ операция «ИЛИ»2)получить 0, применив «НЕ» к слагаемым:
1 1 1
X Y Z F
1 0 1 0
0 1 0 1
1 1 1 0
1) одна единица ⇒ операция «И»2) получить 1, применив «НЕ» к
сомножителям:
1ZYX =⋅⋅0 1 0
Page 28
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
28
Логические основы
компьютеров§ 20. Диаграммы
Page 29
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
29
Диаграммы Венна (круги Эйлера)
A
B
A
BA
A A·B
A
B
A+B
A⊕B A→B A↔B
A
B
A
B
Page 30
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
30
Диаграмма с тремя переменными
ХочуМогу
Надо
1
2 3 4
56
7
8
HXM 1 ⋅⋅= HXM 5 ⋅⋅=
HXM 2 ⋅⋅= HXM 6 ⋅⋅=
HXM 3 ⋅⋅= HXM 7 ⋅⋅=
HXM 4 ⋅⋅= HXM8 ⋅⋅=
=+ 4 3 HX4 3 ⋅=+HXMHXM ⋅⋅+⋅⋅
Логические выражения можно упрощать! Логические выражения можно упрощать!!
Page 31
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Известно количество сайтов, которых находит поисковый сервер по следующим запросам :
Сколько сайтов будет найдено по запросу огурцы | помидоры
Задачи31
Запрос Количество сайтов
огурцы 100помидоры 200огурцы & помидоры 50
Page 32
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи32
NA|B = NA+ NB
A B
A B
NA|B = NA+ NB – NA&BNA|B = NA+ NB – NA&B
огурцы | помидорыогурцы | помидоры
50
огурцыогурцы помидоры
помидоры100 200
огурцы & помидорыогурцы & помидоры
250
Page 33
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Известно количество сайтов, которых находит поисковый сервер по следующим запросам :
Сколько сайтов будет найдено по запросу Динамо & Спартак & Рубин
Задачи33
ЗапросКоличество
сайтов
Динамо & Рубин 320Спартак & Рубин 280(Динамо | Спартак) & Рубин 430
Общее условие с & можно отбросить ! Общее условие с & можно отбросить !!
Page 34
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Известно количество сайтов, которых находит поисковый сервер по следующим запросам :
Сколько сайтов будет найдено по запросу Динамо & Спартак
Задачи34
ЗапросКоличество
сайтов
Динамо 320Спартак 280Динамо | Спартак 430
Ответ: 320 + 280 – 430 = 170170
Page 35
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Некоторый сегмент сети Интернет состоит из 1000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:
Сколько сайтов будет найдено по запросу (принтер | сканер) & мониторесли по трем следующим запросам найдено:принтер | сканер – 450 сайтов, принтер & монитор – 40 сайтовсканер & монитор – 50 сайтов.
Задачи36
Ключевое словоКоличество сайтов, для которых данное слово является ключевым
сканер 200принтер 250монитор 450
Page 36
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи37
А (сканер) B (принтер)
NA|B = NA+ NB – NA&BNA|B = NA+ NB – NA&B
принтер | сканер
принтер | сканер
450
сканерсканер принтерпринтер200 250
00
сканер принтер
монитор 909040 + 50 =
принтер & монитор = 40
сканер & монитор = 50 50 40
(принтер | сканер) & монитор = ?(принтер | сканер) & монитор = ?
Page 37
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Сложная задача38
Ниже приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета: мезозой 500 кроманьонец 600 неандерталец 700 мезозой | кроманьонец 800 мезозой | неандерталец 1000 неандерталец & (мезозой | кроманьонец) 200
Сколько страниц будет найдено по запросу кроманьонец & (мезозой | неандерталец)
Page 38
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
39
Логические основы
компьютеров§ 21. Упрощение логических
выражений
Page 39
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
40
Законы алгебры логики
название для И для ИЛИ
двойного отрицания
исключения третьего
операции с константами
повторения
поглощения
переместительный
сочетательный
распределительный
законы де Моргана
AA =0AA =⋅ 1AA =+
A1A0,0A =⋅=⋅ 11AA,0A =+=+
AAA =⋅ AAA =+
AB)AA =+⋅ ( ABAA =⋅+ABBA ⋅=⋅ ABBA +=+
CB)AC)BA ⋅⋅=⋅⋅ (( CB)AC)BA ++=++ ((
C)AB)ACBA +⋅+=⋅+ (( CABAC)BA ⋅+⋅=+⋅ (
BABA +=⋅ BABA ⋅=+
Page 40
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
41
Упрощение логических выраженийШаг 1. Заменить операции ⊕→↔ на их выражения
через И, ИЛИ и НЕ:
Шаг 2. Раскрыть инверсию сложных выражений по формулам де Моргана:
Шаг 3. Используя законы логики, упрощать выражение, стараясь применять закон исключения третьего.
BABABA
BABA
BABABA
⋅+⋅=↔
+=→
⋅+⋅=⊕
BABA,BABA ⋅=++=⋅
Page 41
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
42
Упрощение логических выражений
HXMHXMQ ⋅⋅+⋅⋅= HX)MM ⋅⋅+= ( HX ⋅=
C)(AB)(AA)(BX →⋅+⋅→=C)A(B)(AA)B( +⋅+⋅+=
C)A(BAA)B( +⋅⋅⋅+=C)A(B)AAAB( +⋅⋅⋅+⋅=
C)A(BAB +⋅⋅⋅=C)A(AB +⋅⋅=
AB ⋅=
раскрыли →
раскрыли →
формула де Морганаформула де Моргана
распределительныйраспределительный
исключения третьегоисключения третьего
повторенияповторения
поглощенияпоглощения
Page 42
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи (упрощение)43
Какое логическое выражение равносильно выражению A ∧ ¬(¬B ∨ C)? 1) ¬A ∨ ¬B ∨ ¬C 2) A ∧ ¬B ∧ ¬C 3) A ∧ B ∧ ¬C 4) A ∧ ¬B ∧ C
1) 2) 3) 4)
1) 2) 3) 4)
CBA ++CBA ⋅⋅
CBA ⋅⋅
=+⋅ C)B(A =⋅⋅ CBA CBA ⋅⋅
CBA ⋅⋅
Page 43
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
44
Логические уравнения
1CBABA =⋅⋅+⋅
A=0, B=1, C – любое2 решения: (0, 1, 0), (0, 1, 1)
A=0, B=1, C – любое2 решения: (0, 1, 0), (0, 1, 1)
1BA =⋅ или 1CBA =⋅⋅
A=1, B=0, C=1A=1, B=0, C=1
Всего 3 решения!!1MLKNLMLK =⋅⋅+⋅⋅+⋅
K=1, L=1, M и N – любые
4 решения
K=1, L=1, M и N – любые
4 решения
M=1, L=1, N=1,K – любое2 решения
M=1, L=1, N=1,K – любое2 решения
K=1, L=1, M=0,N – любое2 решения
K=1, L=1, M=0,N – любое2 решения
1N)MKL =⋅+⋅ ( Всего 5 решений!
!
Page 44
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
45
Логические основы
компьютеров§ 22. Синтез логических
выражений
Page 45
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Синтез логических выражений46
A B X0 0 1
0 1 1
1 0 0
1 1 1
Шаг 1. Отметить строки в таблице, где X = 1.
Шаг 2. Для каждой из них записать логическое выражение, которое истинно только для этой строки.
Шаг 3. Сложить эти выражения и упростить результат.
BA ⋅BA ⋅
BA ⋅
BABABAX ⋅+⋅+⋅= BAB)BA ⋅++⋅= (
BAA ⋅+= B)AA)A +⋅+= (( BA +=
распределительныйраспределительный
исключения третьего
исключения третьего
исключения третьего
исключения третьегораспределительныйраспределительный
Page 46
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Синтез логических выражений (2 способ)47
A B X0 0 1
0 1 1
1 0 0
1 1 1
Шаг 1. Отметить строки в таблице, где X = 0.
Шаг 2. Для каждой из них записать логическое выражение, которое истинно только для этой строки.
Шаг 3. Сложить эти выражения и упростить результат, который равен .
Шаг 4. Сделать инверсию.
BA ⋅
BAX ⋅= BA +=
X
Когда удобнее применять 2-ой способ??⇒⋅= BAX
Page 47
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Синтез логических выражений (3 способ)48
A B X0 0 0
0 1 1
1 0 0
1 1 1
Шаг 1. Отметить строки в таблице, где X = 0.
Шаг 2. Для каждой из них записать логическое выражение, которое ложно только для этой строки.
Шаг 3. Перемножить эти выражения и упростить результат.
BA +
B)A(B)(AX +⋅+=
BA +
BBBAABAA ⋅+⋅+⋅+⋅=BA)A(B ++⋅= B=
Page 48
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Синтез логических выражений49
A B C X0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
CBA ⋅⋅CBA ⋅⋅CBA ⋅⋅CBA ⋅⋅
CBA ⋅⋅
CBA ⋅⋅
CBACBA
CBACBA
CBACBAX
⋅⋅+⋅⋅+
⋅⋅+⋅⋅+
⋅⋅+⋅⋅=
B)B(CA
C)CBA
C)CBA
+⋅⋅+
+⋅⋅+
+⋅⋅=
(
(
CABABA ⋅+⋅+⋅=
CAA
CAB)BA
⋅+=
⋅++⋅= (
CAC)AA)A +=+⋅+= ((
Page 49
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Синтез логических выражений (2 способ)50
A B C X0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
CBA ⋅⋅
CBA ⋅⋅
CBACBAX ⋅⋅+⋅⋅=B)B(CA +⋅⋅=
CACAX +=⋅=
CA ⋅=
3-й способ – самостоятельно.
!
Page 50
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
51
Логические основы
компьютеров§ 23. Предикаты и кванторы
Page 51
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Предикаты52
Предикат (логическая функция) – это утверждение, содержащее переменные.
Предикат-свойство – от одной переменной:
P(N) = «В городе N живут более 2 млн человек»P(Москва) = 1P(Якутск) = 0
Простое(x) = «x – простое число»
Спит(x) = «x всегда спит на уроке»
Предикат-отношение – от нескольких переменных:
Больше(x, y) = «x > y»
Живет(x, y) = «x живет в городе y»
Любит(x, y) = «x любит y»
Page 52
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Предикаты и кванторы53
0)()P( >= xx
1)(),P( =+= yxyx
Предикаты задают множества:
Предикаты, которые всегда истинны:
0)()P( ≥= 2xx для всех вещественных чисел
«Для любого допустимого x утверждение P(x) истинно»:
)P(xx∀высказывани
е
высказывание
кванторквантор
Квантор – знак, обозначающий количество.
=∀ А (all – все) =∃ E (exists – существует)
Page 53
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Кванторы54
Какой квантор использовать?« … моря соленые».« … кошки серые».« … числа чётные».« … окуни – рыбы».« … прямоугольники – квадраты».« … квадраты – прямоугольники».
Истинно ли высказывание?
0)()P( >= xx
∀
∀
∀∃∃
∃
при)P(xx∀0)()P( >= xxпри)P(xx∃0)()P( ≥= 2xxпри)P(xx∀0)()P( ≥= 2xxпри)P(xx∃
Page 54
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Кванторы55
Дано:A = «Все люди смертны» = 1.B = «Сократ – человек» = 1.Доказать:C = «Сократ смертен» = 1.Доказательство:
P(x) = «x – человек» Q(x) = «x – смертен»A = 1:
при «x =Сократ»
B = 1:
по свойствам импликации
)Q()(P( )xxx →∀1) Q() P( =→Сократ Сократ
1) P( =Сократ
1) Q( =Сократ
A B А → B
0 0 1
0 1 1
1 0 0
1 1 1
Page 55
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Несколько кванторов56
)P( yxx ,∀ – предикат от переменной y
Квантор связывает одну переменную:
)P( yxy ,∃ – предикат от переменной x
Два квантора связывают две переменных:
)P( yxyx ,∃∀ – высказывание «для любого x
существует y, при котором P(x,y)=1»
)P( yxyx ,∀∃ – высказывание «существует x, такой
что при любом y верно P(x,y)=1»
Сравните два последних высказывания при:
0)()P( =+= yxyx, 0)()P( =⋅= yxyx,
Page 56
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Отрицание57
НЕ «для любого x выполняется P(x)» ⇔ «существует x, при котором не выполняется P(x)»
)()( xxxx PP ∃=∀
НЕ «существует x, при котором выполняется P(x)» ⇔ «для любого x не выполняется P(x)»
)()( xxxx PP ∀=∃
Page 57
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
58
Логические основы
компьютеров§ 24. Логические элементы
компьютера
Page 58
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Логические элементы компьютера59
& 1
1&
НЕ
A AA
BBA ⋅
A
B
A
B
A
B
И ИЛИ
ИЛИ-НЕИ-НЕ
значок инверсии
значок инверсии
BA +
BA +BA ⋅
Page 59
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Логические элементы компьютера60
Любое логическое выражение можно реализовать на элементах И-НЕ или ИЛИ-НЕ.
A A&
И:НЕ:
&A
BBA ⋅ & BA ⋅
ИЛИ:
AAAAA ⋅=+= BABA ⋅=⋅
BABA ⋅=+
A
B
BA +&
&&
A
B
Page 60
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Составление схем61
CBABAX ⋅⋅+⋅=
последняя операция - ИЛИпоследняя операция - ИЛИ
BA ⋅
CBA ⋅⋅ X&
1
&& BA ⋅C
A
C
B
A
ИИ
B
A
B
Page 61
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Триггер (англ. trigger – защёлка)62
Триггер – это логическая схема, способная хранить 1 бит информации (1 или 0). Строится на 2-х элементах ИЛИ-НЕ или на 2-х элементах И-НЕ.
SQ
R
1
1основной
выход
вспомогательный выход
reset, сброс
set, установка
обратные связи
S R Q режим
0 0
0 1
1 0
1 1
Q
Q
Q хранение
запрещен
1
1
0
0
сброс
установка 1
0 0
Q
Page 62
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Триггер – таблица истинности63
SQ
R
1
1
обратные связи
S R Q режим
0 0
0 1
1 0
1 1
Q
Q
Q хранение
запрещен
1
1
0
0
сброс
установка 1
0 0
Q
1
0
1 0
0 0 1
Q0
Q
Q Q
Page 63
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Полусумматор64
Полусумматор – это логическая схема, способная складывать два одноразрядных двоичных числа.
ΣA
B
S
P
сумма
перенос
A B P S0 0
0 1
1 0
1 1
0 0
0 1
0 1
1 0BAP ⋅=
BABABAS ⋅+⋅=⊕=
&1
BABAS ⋅+⋅=BA ⋅
A
A
&
B
BA ⋅
&P
BBA ⋅
Схема на 4-х элементах?
?
Page 64
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Сумматор65
Сумматор – это логическая схема, способная складывать два одноразрядных двоичных числа с переносом из предыдущего разряда.
ΣA
BS
P
сумма
переносCперенос
A B C P S0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Page 65
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Многоразрядный сумматор66
это логическая схема, способная складывать два n-разрядных двоичных числа.
11-nn aa a =A
11-nn bbb =B
11-nn ccc =C
+
pперенос
pперенос
Σ1a
1b
1c
02p 3p
2cΣ2a
2bΣna
nb
nc
np
Page 66
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
67
Логические основы
компьютеров§ 25. Логические задачи
Page 67
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Метод рассуждений68
Задача 1. Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты договора, представленные каждой из стран. Отвечая затем на вопрос журналистов: «Чей именно проект был принят?», министры дали такие ответы:
Россия — «Проект не наш (1), проект не США (2)»;США — «Проект не России (1), проект Китая (2)»;Китай — «Проект не наш (1), проект России (2)».
Один из них оба раза говорил правду; второй – оба раза говорил неправду, третий один раз сказал правду, а другой раз — неправду. Кто что сказал?
(1) (2)
Россия
США
Китай
проект России (?)
– +
– –
+ +
(1) (2)
Россия
США
Китай
проект США (?)
+
–
(1) (2)
Россия
США
Китай
проект Китая (?)
+–
+
+
+ +
Page 68
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Табличный метод69
Задача 2. Дочерей Василия Лоханкина зовут Даша, Анфиса и Лариса. У них разные профессии и они живут в разных городах: одна в Ростове, вторая – в Париже и третья – в Москве. Известно, что
• Даша живет не в Париже, а Лариса – не в Ростове,• парижанка – не актриса,
• в Ростове живет певица,• Лариса – не балерина.
Париж Ростов Москва Певица Балерина Актриса
Даша
Анфиса
Лариса
0
0 0
В каждой строке и в каждом столбце может быть только одна единица!
!
0 1
0
001 0 0
1
1
0 1 0
0 1
• Много вариантов.• Есть точные данные.
• Много вариантов.• Есть точные данные.
Page 69
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики70
Задача 3. Следующие два высказывания истинны:1. Неверно, что если корабль A вышел в море, то корабль C – нет.2. В море вышел корабль B или корабль C, но не оба вместе.
Определить, какие корабли вышли в море.
… если корабль A вышел в море, то корабль C – нет. 1CA =→
1. Неверно, что если корабль A вышел в море, то корабль C – нет. 0CA =→ 1CA =→
2. В море вышел корабль B или корабль C, но не оба вместе.
1=⊕CB
Решение:
( ) 1C)(BCA =⊕⋅→
1C 0,B1,A ===
( ) 1C)BC(BCA =⋅+⋅⋅+
1C)BC(BCA =⋅+⋅⋅⋅
1BCA =⋅⋅
Page 70
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики71
Задача 4. Когда сломался компьютер, его хозяин сказал «Память не могла выйти из строя». Его сын предположил, что сгорел процессор, а винчестер исправен. Мастер по ремонту сказал, что с процессором все в порядке, а память неисправна. В результате оказалось, что двое из них сказали все верно, а третий – все неверно. Что же сломалось?
Решение:A – неисправен процессор, B – память, C – винчестер
хозяин: 1B0,B == сын: мастер:1CA =⋅ 1BA =⋅
Если ошибся хозяин: 1BACABX1 =⋅⋅⋅⋅=
Если ошибся сын: 1BACABX2 =⋅⋅⋅⋅=
Если ошибся мастер: 1BACABX3 =⋅⋅⋅⋅=1)BACABX3 =+⋅⋅⋅= (
1CABX3 =⋅⋅=0C
0B
1A
===
Page 71
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики72
Задача 5. На вопрос «Кто из твоих учеников изучал логику?» учитель ответил: «Если логику изучал Андрей, то изучал и Борис. Однако неверно, что если изучал Семен, то изучал и Борис». Кто же изучал логику?
Решение: A – логику изучал Андрей, B – Борис, C – Семен
«Если логику изучал Андрей, то изучал и Борис».
0BC =→
1 способ: 1)BC(B)(A =→⋅→
1C
0B
0A
===
1BA =→
«Неверно, что если изучал Семен, то изучал и Борис».
1BC =→
1)BC(B)A( =+⋅+
1BCB)A( =⋅⋅+
1BCA =⋅⋅
Page 72
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики73
Задача 5. На вопрос «Кто из твоих учеников изучал логику?» учитель ответил: «Если логику изучал Андрей, то изучал и Борис. Однако неверно, что если изучал Семен, то изучал и Борис». Кто же изучал логику?
Решение: A – логику изучал Андрей, B – Борис, C – Семен
«Если логику изучал Андрей, то изучал и Борис».
0BC =→2 способ:
1C
0B
0A
===
1BA =→
«Неверно, что если изучал Семен, то изучал и Борис».
С B С → B
0 0 1
0 1 1
1 0 0
1 1 11C
0B
==
A B A → B
0 0 1
0 1 1
1 0 0
1 1 1
Page 73
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики74
Задача 6. Суд присяжных пришел к таким выводам:• если Аськин не виновен или Баськин виновен, то виновен
Сенькин• если Аськин не виновен, то Сенькин не виновенВиновен ли Аськин?
Решение: A – виновен Аськин, B – Баськин, C – Сенькин
«Если Аськин не виновен или Баськин виновен, то виновен Сенькин».
1CA =→
1CB)A( =→+
«Если Аськин не виновен, то Сенькин не виновен».
1)CA(C)B)A(( =→⋅→+
1)C(AC))BA(( =+⋅++
1)C(AC)B(A =+⋅+⋅0A = 1CC =⋅
Аськин виновенАськин
виновен
Page 74
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики75
Задача 6б. Суд присяжных пришел к таким выводам:• если Аськин не виновен или Баськин виновен, то виновен
Сенькин• если Аськин не виновен, то Сенькин не виновенВиновен ли Баськин?
Решение: A – виновен Аськин, B – Баськин, C – Сенькин
1)C(AC)B(A =+⋅+⋅0B = 1A =
1)C(AC)B(A =+⋅+⋅1B = 1AC =⋅
Не получили противоречия: возможно, что и виновен
Не получили противоречия: возможно, что и виновен
Page 75
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Использование алгебры логики76
Задача 6в. Суд присяжных пришел к таким выводам:• если Аськин не виновен или Баськин виновен, то виновен
Сенькин• если Аськин не виновен, то Сенькин не виновенВиновен ли Сенькин?
Решение: A – виновен Аськин, B – Баськин, C – Сенькин
1)C(AC)B(A =+⋅+⋅0C = 1BA =⋅
1)C(AC)B(A =+⋅+⋅1C = 1A =
Не получили противоречия: возможно, что и виновен
Не получили противоречия: возможно, что и виновен
Page 76
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
77
Логические основы
компьютеровЗадачи ЕГЭ
Page 77
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи ЕГЭ78
Для какого из указанных значений X истинно высказывание ¬((X > 2)→(X > 3))? 1) 1 2) 2 3) 3 4) 4
Укажите, какое логическое выражение равносильно выражению A ∧ ¬(¬B ∨ C).
1) ¬A ∨ ¬B ∨ ¬C 2) A ∨ ¬B ∨ ¬C3) A ∧ B ∧ ¬C4) A ∧ ¬B ∧ C
3)(X2)(X >→>
1) 2) 3) 4)
1) 2) 3) 4)
CBA ++
C)B(A +⋅CBA ++
CBA ⋅⋅
13)(X2)(X =>→> 03)(X2)(X =>→>⇒0BA =→ 0B 1,A ==⇒
≤>
3X
2X 3X =⇒
CBA ⋅⋅
Page 78
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи ЕГЭ (2)79
Каково наибольшее целое число X, при котором истинно высказывание
(50 < X·X) → (50 > (X+1)·(X+1))В целых числах:
8XX 50 2 ≥⇔<6X8-71X1)(X 50 2 ≤≤⇔≤+⇔+>
AA BB
6 7 88- 7- 6-
⇒=→ 1BA
1B 1,A
1B 0,A
0B 0,A
======
7X max =⇒
Page 79
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи ЕГЭ (6)80
Перед началом Турнира Четырех болельщики высказали следующие предположения по поводу своих кумиров:
А) Макс победит, Билл – второй; В) Билл – третий, Ник – первый; С) Макс – последний, а первый – Джон.
Когда соревнования закончились, оказалось, что каждый из болельщиков был прав только в одном из своих прогнозов. Какое место на турнире заняли Джон, Ник, Билл, Макс? (В ответе перечислите подряд без пробелов места участников в указанном порядке имен.)
A B C
Джон 1
Ник 1
Билл 2 3
Макс 1 42231243124
11
44Ответ:
Page 80
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задачи ЕГЭ (7)81
На одной улице стоят в ряд 4 дома, в каждом из них живет по одному человеку. Их зовут Василий, Семен, Геннадий и Иван. Известно, что все они имеют разные профессии: скрипач, столяр, охотник и врач. Известно, что (1) Столяр живет правее охотника. (2) Врач живет левее охотника. (3) Скрипач живет с краю. (4) Скрипач живет рядом с врачом. (5) Семен не скрипач и не живет рядом со скрипачом. (6) Иван живет рядом с охотником. (7) Василий живет правее врача. (8) Василий живет через дом от Ивана.Определите, кто где живет, и запишите начальные буквы имен жильцов всех домов слева направо. Например, если бы в домах жили (слева направо) Кирилл, Олег, Мефодий и Пафнутий, ответ был бы КОМП.
Page 81
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Задача Эйнштейна82
Условие: Есть 5 домов разного цвета, стоящие в ряд. В каждом доме живет по одному человеку отличной от другого национальности. Каждый жилец пьет только один определенный напиток, курит определенную марку сигарет и держит животное. Никто из пяти человек не пьет одинаковые напитки, не курит одинаковые сигареты и не держит одинаковых животных.
Известно, что:1. Англичанин живет в красном доме.2. Швед держит собаку. 3. Датчанин пьет чай. 4. Зеленой дом стоит слева от белого. 5. Жилец зеленого дома пьет кофе. 6. Человек, который курит Pallmall, держит птицу. 7. Жилец среднего дома пьет молоко. 8. Жилец из желтого дома курит Dunhill. 9. Норвежец живет в первом доме. 10. Курильщик Marlboro живет около того, кто держит кошку. 11. Человек, который содержит лошадь, живет около того, кто курит Dunhill.12. Курильщик Winfield пьет пиво. 13. Норвежец живет около голубого дома. 14. Немец курит Rothmans. 15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.
Вопрос: У кого живет рыба?
Page 82
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
83
Конец фильма
ПОЛЯКОВ Константин Юрьевичд.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург[email protected]
ЕРЕМИН Евгений Александровичк.ф.-м.н., доцент кафедры мультимедийной
дидактики и ИТО ПГГПУ, г. Пермь[email protected]
Page 83
Логические основы компьютеров, 10 класс
К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Источники иллюстраций84
1. ru.wikipedia.org 2. иллюстрации художников издательства «Бином»3. авторские материалы