close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Логические
основы
компьютеров
1.
2.
3.
4.
5.
6.
Логические выражения и операции
Диаграммы
Преобразование логических выражений
Синтез логических выражений
Логические элементы компьютера
Логические задачи
© К.Ю. Поляков, 2007
1
2
Логические
основы
компьютеров
Тема 1. Логические выражения
и операции
© К.Ю. Поляков, 2007
Булева алгебра
Двоичное кодирование – все виды информации
кодируются с помощью 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
6
Операция НЕ (инверсия)
Если высказывание A истинно, то "не А" ложно, и
наоборот.
также: A ,
not A (Паскаль),
А
не А
! A (Си)
0
1
1
0
таблица
истинности
операции НЕ
Таблица истинности логического выражения Х – это
таблица, где в левой части записываются все
возможные комбинации значений исходных данных,
а в правой – значение выражения Х для каждой
комбинации.
7
Операция И (логическое умножение, конъюнкция)
Высказывание "A и B" истинно тогда и только тогда,
когда А и B истинны одновременно.
также: A·B, A  B,
A and B (Паскаль),
A
B
АиB
A && B (Си)
0
1
2
3
0
0
1
1
0
1
0
1
0
0
0
1
AB
конъюнкция – от лат. conjunctio — соединение
Операция ИЛИ (логическое сложение, дизъюнкция)
Высказывание "A или B" истинно тогда, когда истинно А
или B, или оба вместе.
также: A+B, A  B,
A or B (Паскаль),
A
B А или B
A || B (Си)
0
0
1
1
0
1
0
1
0
1
1
1
дизъюнкция – от лат. disjunctio — разъединение
8
9
Операция "исключающее ИЛИ"
Высказывание "A  B" истинно тогда, когда истинно А
или B, но не оба одновременно.
также:
A xor B (Паскаль),
A
B
АB
A ^ B (Си)
0
0
1
1
0
1
0
1
0
1
1
0
арифметическое
сложение, 1+1=2
остаток
сложение по модулю 2: А  B = (A + B) mod 2
Свойства операции "исключающее ИЛИ"
AA= 0
(A  B)  B = ?
A0= A
A1= A
A B  A  B  A B
A
0
0
1
1
B
0
1
0
1
A B
0
0
1
0
A B A  B  A B А  B
0
1
0
0
0
1
1
0
0
1
1
0
10
Импликация ("если …, то …")
Высказывание "A  B" истинно, если не
исключено, что из А следует B.
A – "Работник хорошо работает".
B – "У работника хорошая зарплата".
A
0
0
1
1
B
0
1
0
1
АB
1
1
0
1
A B  A B
11
Эквиваленция ("тогда и только тогда, …")
Высказывание "A  B" истинно тогда и только
тогда, когда А и B равны.
A
0
0
1
1
B
0
1
0
1
АB
1
0
0
1
A B  A B  A B  A  B
12
13
Базовый набор операций
С помощью операций И, ИЛИ и НЕ можно
реализовать любую логическую операцию.
И
ИЛИ
НЕ
базовый набор операций
?
Сколько всего существует логических операции
с двумя переменными?
14
Логические формулы
Система имеет три датчика и может работать, если два
из них исправны.
A – "Датчик № 1 неисправен".
B – "Датчик № 2 неисправен".
C – "Датчик № 3 неисправен".
Аварийный сигнал:
X – "Неисправны два датчика".
X – "Неисправны датчики № 1 и № 2" или
"Неисправны датчики № 1 и № 3" или
"Неисправны датчики № 2 и № 3".
X  A B  A  C  B C
логическая
формула
15
Составление таблиц истинности
X  A B  A B  B
0
1
2
3
A
B
A·B
A B
B
X
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
1
1
Логические выражения могут быть:
 тождественно истинными (всегда 1, тавтология)
 тождественно ложными (всегда 0, противоречие)
 вычислимыми (зависят от исходных данных)
16
Составление таблиц истинности
X  A B  A  C  B C
0
1
2
3
4
5
6
7
A
B
C
AB
AC
BC
X
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
1
1
17
Логические
основы
компьютеров
Тема 2. Диаграммы
© К.Ю. Поляков, 2007
18
Диаграммы Вена (круги Эйлера)
A
A
A
B
B
A·B
A
A+B
A
A
A
B
B
AB
AB
B
AB
19
Диаграмма МХН (Е.М. Федосеев)
Хочу
Могу
3
2
1
5
6
4
7
1  M  X H
5  M X  H
2  M X  H
6  M X  H
3  M X  H
7  M  X H
4  M  X  H 8  M  X H
8
Надо
3  4  M X H  M X H
!
3  4  X H
Логические формулы можно упрощать!
20
Логические
основы
компьютеров
Тема 3. Преобразование
логических выражений
© К.Ю. Поляков, 2007
21
Законы алгебры логики
название
для И
для ИЛИ
AA
двойного отрицания
AA  0
операции с
константами
A  0  0, A 1 A
A  A 1
A  0  A, A  1 1
повторения
A A  A
AA  A
исключения третьего
поглощения
переместительный
A (A  B)  A
A  B  B A
A  A B  A
A B  B  A
сочетательный
A  (B  C)  (A  B) C A  (B  C)  (A  B)  C
распределительный
A  B  C  (A  B)  (A  C) A (B  C)  A  B  A  C
правила де Моргана
A B  A  B
A B  A  B
Упрощение логических выражений
Шаг 1. Заменить операции  на их выражения
через И, ИЛИ и НЕ:
A B  A  B  A B
A B  A B
A  B  A B  A  B
Шаг 2. Раскрыть инверсию сложных выражений по
формулам де Моргана:
A B  A  B, A  B  A  B
Шаг 3. Используя законы логики, упрощать выражение,
стараясь применять закон исключения третьего.
22
Упрощение логических выражений
Q  M X  H  M  X  H  (M  M)  X  H  X H
X  (B  A)  (A  B) (A  C)
раскрыли 
 (B  A)  (A  B) (A  C)
формула де Моргана
 (B  A)  A  B  (A  C)
распределительный
 (B  A  A  A)  B  (A  C)
исключения третьего
 B  A  B  (A  C)
повторения
 B  A  (A  C)
поглощения
 BA
23
24
Логические уравнения
A B  A  B  C  1
A B  1
A=1, B=0, C=1
или
A=0, B=1, C – любое
2 решения: (0, 1, 0), (0, 1, 1)
A  B C 1
!
Всего 3 решения!
K L  ML N K L  M  1
K=1, L=1,
M и N – любые
4 решения
M=1, L=1, N=1,
K – любое
2 решения
L (K  M N)  1
K=1, L=1, M=0,
N – любое
2 решения
!
Всего 5 решений!
25
Логические
основы
компьютеров
Тема 4. Синтез логических
выражений
© К.Ю. Поляков, 2007
26
Синтез логических выражений
A B
X
0
0
1
1
1
1
0
1
0
1
0
1
AB
A B
AB
Шаг 1. Отметить строки в
таблице, где X = 1.
Шаг 2. Для каждой из них
записать логическое
выражение, которое истинно
только для этой строки.
Шаг 3. Сложить эти выражения и
упростить результат.
распределительный
X  A  B  A  B  A  B  A  (B  B)  A B
 A  A  B  (A  A)  (A  B)  A  B
исключения
третьего
распределительный
исключения
третьего
Синтез логических выражений (2 способ)
A B
X
0
0
1
1
1
1
0
1
0
1
0
1
A B
Шаг 1. Отметить строки в
таблице, где X = 0.
Шаг 2. Для каждой из них
записать логическое
выражение, которое истинно
только для этой строки.
Шаг 3. Сложить эти выражения и
упростить результат, который
равен X .
Шаг 4. Сделать инверсию.
X  A  B  X  A  B  A B
?
Когда удобнее применять 2-ой способ?
27
Синтез логических выражений
A
B C
X
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
X  A  B  C  A  B C
AB C
A  B C
A B C
A B  C
A  B C
A B C
 A B  C  A B  C
 A  B  C  A B  C
 A  B  (C  C)
 A  B  (C  C)
 A  C  ( B  B)
 A  B  A B  A  C
 A  (B  B)  A  C
 A  A C
 (A  A)  (A  C)  A  C
28
Синтез логических выражений (2 способ)
A
B C
X
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
X  A  B  C  A B C
 A  C  (B  B)
 A C
X  A C  A C
AB C
A B C
29
30
Логические
основы
компьютеров
Тема 5. Логические элементы
компьютера
© К.Ю. Поляков, 2007
31
Логические элементы компьютера
значок инверсии
A
A
A
&
B
НЕ
A
AB
B
И
A
&
B
A B
ИЛИ
A
1
B
И-НЕ
1
ИЛИ-НЕ
A B
A B
32
Логические элементы компьютера
Любое логическое выражение можно реализовать на
элементах И-НЕ или ИЛИ-НЕ.
И: A  B  A  B
НЕ: A  A  A  A  A
A
&
ИЛИ:
A
A
B
A
&
& A B
A
A B  A  B
&
B
&
&
B
A B
AB
33
Составление схем
последняя операция - ИЛИ
X  A B  A  B  C
И
A
B
C
A
B
&
A
B
& A B
C &
A B
AB C
1
X
34
Триггер (англ. trigger – защёлка)
Триггер – это логическая схема, способная хранить 1
бит информации (1 или 0). Строится на 2-х элементах
ИЛИ-НЕ или на 2-х элементах И-НЕ.
set, установка
S
1
1
R
reset, сброс
вспомогательный
выход
Q
S R Q Q
0 0 Q Q
режим
хранение
обратные связи
0 1
0
1
сброс
Q
1 0
1 1
1
0
0
0
установка 1
основной
выход
запрещен
35
Полусумматор
Полусумматор – это логическая схема, способная
складывать два одноразрядных двоичных числа.
A
B
Σ
S сумма
A
B
P
S
P перенос
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
P  A B
S  A B  A  B  A B
A
B
A
B
& A B
& A B
& AB
1
S  A  B  A B
P
?
Схема на 4-х
элементах?
36
Сумматор
Сумматор – это логическая схема, способная
складывать два одноразрядных двоичных числа с
переносом из предыдущего разряда.
A
B
перенос C
Σ
A
B
C
P
S
0
0
0
0
0
S сумма
0
0
1
0
1
P перенос
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
37
Многоразрядный сумматор
это логическая схема, способная складывать два
n-разрядных двоичных числа.

A
an an-1  a1
B
bn bn-1  b1
C  p cn cn-1  c1
перенос
a1
b1
0
c1
Σ
p2
a2
b2
Σ
c2
p3
an
bn

pn
cn
Σ
p
перенос
38
Логические
основы
компьютеров
Тема 6. Логические задачи
© К.Ю. Поляков, 2007
39
Метод рассуждений
Задача 1. Министры иностранных дел России, США и Китая обсудили за
закрытыми дверями проекты договора, представленные каждой из стран.
Отвечая затем на вопрос журналистов: "Чей именно проект был
принят?", министры дали такие ответы:
Россия — "Проект не наш (1), проект не США (2)";
США
— "Проект не России (1), проект Китая (2)";
Китай — "Проект не наш (1), проект России (2)".
Один из них оба раза говорил правду; второй – оба раза говорил
неправду, третий один раз сказал правду, а другой раз — неправду. Кто
что сказал?
проект США (?)
проект Китая (?)
(1) (2)
проект России (?)
(1) (2)
(1) (2)
Россия
+
–
Россия
+
+
Россия
–
+
США
+
–
США
+
+
США
–
Китай
+
–
+
Китай
Китай
40
Табличный метод
Задача 2. Дочерей Василия Лоханкина зовут Даша, Анфиса и Лариса. У
них разные профессии и они живут в разных городах: одна в Ростове,
вторая – в Париже и третья – в Москве. Известно, что
• Даша живет не в Париже, а Лариса – не в Ростове,
• парижанка – не актриса,
• Много вариантов.
• в Ростове живет певица,
• Есть точные данные.
• Лариса – не балерина.
Париж
Ростов
Москва
0
1
0
1
0
0
0
0
1
!
Даша
Анфиса
Лариса
Певица
Балерина
Актриса
1
0
0
0
1
0
0
0
1
В каждой строке и в каждом столбце может быть
только одна единица!
Задача Эйнштейна
Условие: Есть 5 домов разного цвета, стоящие в ряд. В каждом доме живет по одному
человеку отличной от другого национальности. Каждый жилец пьет только один
определенный напиток, курит определенную марку сигарет и держит животное.
Никто из пяти человек не пьет одинаковые напитки, не курит одинаковые сигареты
и не держит одинаковых животных.
Известно, что:
1. Англичанин живет в красном доме.
2. Швед держит собаку.
3. Датчанин пьет чай.
4. Зеленой дом стоит слева от белого.
5. Жилец зеленого дома пьет кофе.
6. Человек, который курит Pallmall, держит птицу.
7. Жилец среднего дома пьет молоко.
8. Жилец из желтого дома курит Dunhill.
9. Норвежец живет в первом доме.
10. Курильщик Marlboro живет около того, кто держит кошку.
11. Человек, который содержит лошадь, живет около того, кто курит Dunhill.
12. Курильщик Winfield пьет пиво.
13. Норвежец живет около голубого дома.
14. Немец курит Rothmans.
15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.
Вопрос: У кого живет рыба?
41
42
Использование алгебры логики
Задача 3. Следующие два высказывания истинны:
1. Неверно, что если корабль A вышел в море, то корабль C – нет.
2. В море вышел корабль B или корабль C, но не оба вместе.
Определить, какие корабли вышли в море.
Решение:
… если корабль A вышел в море, то корабль C – нет.
1. Неверно, что если корабль A вышел в
море, то корабль C – нет.
A C  0
2. В море вышел корабль B или корабль C, но не оба
вместе.
A  C  (BC)  1
A  C 1
A  C 1
B C  1
A  C  (B C  B C)  1
A  C (B C  B  C)  1
A  C B  1
A  1, B  0, C  1
43
Использование алгебры логики
Задача 4. Когда сломался компьютер, его хозяин сказал «Память не могла
выйти из строя». Его сын предположил, что сгорел процессор, а винчестер
исправен. Мастер по ремонту сказал, что с процессором все в порядке, а
память неисправна. В результате оказалось, что двое из них сказали все
верно, а третий – все неверно. Что же сломалось?
Решение:
A – неисправен процессор, B – память, C – винчестер
B  0, B  1
Если ошибся хозяин:
A C 1
X1  B  A  C  A  B  1
Если ошибся сын:
X2  B  A  C  A  B  1
хозяин:
Если ошибся мастер:
В общем случае:
сын:
мастер:
A B  1
A 1
B0
C0
X3  B  A  C  A  B  1
X3  B  A  C  (A  B)  1
X3  B  A  C  1
Несколько решений!
X1  X2  X3  1
!
Конец фильма
44
1/--страниц
Пожаловаться на содержимое документа