Логика – как наука. История развития логики.
Формы человеческого мышления
Слово логика
означает как совокупность правил, которым подчиняется процесс мышления, так и науку о правилах рассуждений. (Логика
– это наука правильно рассуждать, наука о законах и формах человеческого мышления). Логика, как наука о законах и формах мышления изучает абстрактное мышление как средство познания объективного мира.
Если теория алгоритмов – в некотором смысле мать
современных ЭВМ и программирования, то логика – их отец
.
Умение рассуждать, логически мыслить, давать ответы на поставленные вопросы играет очень важную роль в жизни человека. Выделение логических задач носит до некоторой степени условный характер. Трудно определить, какую задачу следует назвать логической. Кажется, любая задача является таковой, так как для её решения требуются определенные логические рассуждения. И это верно, но все же по традиции для тренировки именно логического мышления человеком придумано множество задач, в которых речь идет об объектах, вообще говоря, произвольной природы. Именно такими задачами и правилами их решения мы и займемся.
Но какое отношение логика имеет к вычислительной технике и программированию? Оказывается, самое непосредственное. Именно логика является теоретической основой современных ЭВМ и сложных управляющих систем. Она приобретает важное прикладное значение – особенно в области разработки специальных языков для баз данных и представления знаний. Используя методы и средства логической науки, ученые разрабатывают эффективные языки программирования.
Например, основой так называемого доказательного программирования является формальная логика. Общая идея здесь, как говорится, лежит на поверхности: если можно конструктивно, используя интуицию, доказать, что существуют объекты, удовлетворяющие некоторому данному условию, то, построив доказательство, можно построить по нему и программу вычисления соответствующего условия (функции).
Опять же, в основе так называемого логического программирования
лежат структуры логических доказательств.
Но особое значение логическая наука стала приобретать в вопросах, касающихся проблемы искусственного интеллекта
. Именно здесь разработчикам пришлось создать новую область логических исследований – логический анализ
.
Аристотель (384 – 322 гг. до н.э.) по праву считается основоположником логики. Он подверг анализу человеческое мышление и его формы: понятие
, суждение
, умозаключение
. В своих определениях Аристотель представляет логику как науку о выводе одних умозаключений из других сообразно их логической форме, поэтому логику Аристотеля называют формальной
. ( Он рассмотрел мышление со стороны строения, структуры, то есть с формальной стороны). (Формальная логика
– наука о законах и формах мышления).
В течение многих веков логика помогала математике стать строгой, последовательной наукой. Постепенно взаимная связь между математикой и логикой привела к тому, что логика оказалась под влиянием математики.
После падения античной цивилизации развитие математики, и особенно логики, замедлилось, потому что новые логические идеи нередко вступали в противоречие с формами мышления церкви. Любопытно отметить: первое, что было восстановлено из античной науки, - это именно логика Аристотеля.
Первые идеи использования общепринятых математических методов в логике появились в XVII в., в трудах французского философа и математика Рене Декарда
(1596-1650), немецкого философа и математика Вильгельма Лейбница
(1646 – 1716). Лейбниц впервые высказал мысль о возможности применения двоичной системы счисления в вычислительной математике. Он считал, что можно заменить простые рассуждения действиями со знаками и привел соответствующие правила
.
Но этим идеям Лейбница суждено было получить дальнейшее развитие лишь в середине XIX века в трудах другого великого математика Джорджа Буля
, отца писательницы Э. Войнович – автора романа «Овод». Он вывел для логических построений
Особую алгебру (алгебру логики). В отличие от обычной, в ней символами обозначают не числа, а высказывания
. Алгебру логики по другому называют булевой алгеброй.
Большой вклад в развитие математической логики также внесли Аугустус де Морган (1806-1871), Уильям Стенли Джевонс(1835-1882), Платон Сергеевич Порецкий(1846-1907), Чарлз Сандерс Пирс (1839-1914) и др.
Сегодня математическая логика нашла приложение в вопросах конструирования и применения вычислительной техники. В ЭВМ информация подвергается не только математической, но и логической обработке. Основу работы логических схем и устройств ЭВМ составляет специальный математический аппарат – раздел математической логики, называемой алгеброй логики.
Прежде чем перейти к изучению данной темы необходимо повторить следующие темы: информация, виды информации, способы получения информации и т.д.
Одной из форм получения информации является речь. Информацию человек может получить через вопросы и ответы. Каждый вопрос выражает потребность в знании определенных сведений об окружающем нас мире. Эти знания мы высказываем в форме суждений.
Основные формы абстрактного мышления:
- ПОНЯТИЯ,
- СУЖДЕНИЯ,
- УМОЗАКЛЮЧЕНИЯ.
Понятие
– форма мышления, в которой отражаются существенные признаки отдельного предмета или класса однородных предметов.
Примеры понятий
: Портфель, трапеция, ураганный ветер.
В понятиях «схватываются» сущность предметов, их внутреннее содержание.
Суждение
– это форма мышления, в которой что-либо утверждается или отрицается о предметах, их свойствах или отношениях. (Суждением
(высказыванием) называется всякое утверждение (или всякое предложение), о котором можно судить, истинно оно или ложно).
Суждение выражается в виде повествовательного предложения.
Суждение может быть простым или сложным.
Суждение считается простым
, если некая его часть не является суждением.
Сложные
суждения характеризуются тем, что образованы из нескольких суждений с помощью определенных способов соединения суждений.
Например: «Париж – столица Албании» -
простое суждение
А суждение: «Неверно, что Париж – столица Албании
» - сложное, потому что его часть является тоже суждением.
Море соленое. Снег бело-голубой. Земля плоская. В речке вода солёная. Океан пресноводный. 5*5=25.
Если наступят каникулы, то я поеду или к бабушке или в дом отдыха.
Сложные суждения чаще всего образуются как составные. Они получаются из простых или элементарных суждений с использованием связок «И», «ИЛИ», «ЕСЛИ…, ТО», «НЕ».
Суждения могут быть истинными или ложными. Непосредственно наблюдаемые факты мы обычно принимаем за истинные, а стремление выдать желаемое за действительное либо из-за ошибки в рассуждениях или предположениях – за ложные.
Суждения бывают частные и общие. Частные суждения выражают конкретные (частные) факты. Например: «7-2>3», «Луна – спутник Земли».
Общие суждения характеризуют свойства объектов или явлений.
Примеры общих суждений: Все фрукты полезны. У кошки четыре ноги, а сзади её хвост.
«В любом прямоугольном треугольнике есть угол в 900
», «Всякий человек
-млекопитающее».
Общее суждение называется тождественно (абсолютно) истинным, если оно справедливо для любого объекта, о котором говорится в суждении. Второе суждение верно для всех кошачьих. Суждение «Зимой идет снег
» не тождественно истинно, так как, например. 20 января 2003 года снег не шел.
Если из двух суждений выводится третье, то этот процесс называется умозаключеним
.
Умозаключени
е – прем мышления, посредством которого из исходного знания получается новое знание.
Возьмём первое суждение:
«Академик Ершов русифицировал язык Паскаль
»
Второе суждение:
«Язык Паскаль – структурный язык
».
Тогда вывод из этих суждений:
«Академик Ершов русифицировал структурный язык
» - будет умозаключением.
Цепочка взаимосвязных суждений, фактов, общих положений и умозаключений, получаемых из других суждений по определенным правилам есть рассуждения
.
Главная задача логики состоит в том, чтобы выявит, какие способы рассуждения правильные, а какие нет.
Вопросы:
Что такое логика? Какими формами человеческого мышления она занимается?
Приведите краткую историю развития математической логики.
Какова главная задача логики?
Какую роль играют знания логики в вычислительной технике и программировании? Где она имеет прямое приложение?
Высказывания в логике. Простые и сложные высказывания.
Логические операции. Таблицы истинности.
В основе логических схем и устройств ПК лежит специальный математический аппарат, использующий законы математической логики. Математическая логика изучает вопросы применения математических методов для решения логических задач и построения логических схем. Знание логики необходимо при разработке алгоритмов и программ, так как в большинстве языков программирования есть логические операции.
В математической логике суждения называют высказываниями. Алгебру логики иначе называют алгеброй высказываний
.
ВЫСКАЗЫВАНИЕ
– это повествовательное предложение, о котором можно сказать, истинно оно или ложно.
Например:
Земля – планета Солнечной системы - истинно
2+8<5 - ложно
5*5=25 - истинно
А вот примеры, не являющиеся высказываниями:
Уходя, гасите свет;
Да здравствует мыло душистое и полотенце пушистое.
Высказывания, приведенные выше, являются простыми. Сложные высказывания получаются путем объединения простых высказываний связками – союзами И, ИЛИ, и частицей НЕ. Значение истинности сложных высказываний зависит от истинности входящих высказываний и от объединения их связок.
Например, даны четыре простых высказывания:
На улице идет дождь;
На улице светит солнце;
На улице пасмурная погода;
На улице идет снег.
Составьте два сложных высказывания, одно из которых в любой ситуации будет ложно, а другое – всегда истинно, обязательно используя все предложенные простые высказывания.
Ответ: в одном случае объединим все высказывания союзом ИЛИ и получим истинное высказывание, в другом используя союз И, получим высказывание всегда ложное.
Эта задача может играть роль своеобразного теста – правильно ли понят материал, можно ли переходить к более сложным задачам.
В математической логике не рассматривается конкретное содержание высказывания, важно только, истинно оно или ложно. Поэтому высказывание можно представить некоторой переменной величиной, значением которой может быть только 0 или 1. если высказывание истинно, то его значение равно 1, если ложно – 0. Простые высказывания назвали логическими переменными, а сложные логическими функциями. Значения логической функции также только 0 или 1. для простоты записи высказывания обозначаются латинскими буквами А,В,С.
Например:
У кошки четыре ноги. А=1
Москва столица Франции В=0
Использование 0 и 1 подчеркивает некоторое соответствие между значениями логических переменных и функций в математической логике и цифрами в двоичной системе счисления. Это позволяет описывать работу логических схем ПК и проводить их анализ и синтез с помощью математического аппарата алгебры логики.
Любое устройство ПК, выполняющее действия над двоичными числами, можно рассмотреть как некий функциональный преобразователь.
Х
У F(X,Y,Z)
Z
Причем числа на входе (Х,У,Z) – значения входных логических переменных, а число на выходе – значение логической функции, которое получено в результате выполнения определенных операций. Таким образом, этот преобразователь реализует некоторую логическую функцию.
Значение логической функции для разных сочетаний входных переменных или, как это иначе называют, наборов входных переменных – обычно задаются специальной таблицей. Такая таблица называется таблицей истинности
. Количество наборов входных переменных (Q) можно определить по формуле.
Q=2n
где n – количество входных переменных.
В алгебре высказываний, как и в обычной алгебре, вводится ряд операций. Связки, И, ИЛИ и Не заменяются логическими операциями: коньюнкцией, дизьюнкцией
и инверсией
. Это основные логические операции, при помощи которых можно записать любую логическую функцию. Также имеются дополнительные логические операции импликация
и эквивалентность.
Логическая операция КОНЬЮНКЦИЯ
иначе называется ЛОГИЧЕСКОЕ
УМНОЖЕНИЕ
.
- соответствует союзу И,
- в программировании AND
- обозначается знаком ^
- обозначение логического элемента соответствующего логической операции И, соответствует знак &
?
Коньюнкция двух логических переменных истинна тогда и только тогда, когда оба высказывания истинны.
Это определение можно обобщить для любого количества логических переменных, объединенных коньюнкцией.
A^B^C = 1, только если А=1, В=1, С=1..
Таблица истинности коньюнкции
имеет следующий вид:
А В А^В
0 0 0
0 1 0
1 1 1
1 0 0
Из таблицы истинности следует, что операция коньюнкции (логическая операция «И») – это логическое умножение, которое ничем не отличается от традиционного умножения в обычной алгебре.
Например:
Пусть есть суждения А= «Сегодня хорошая погода»
В= «Коля пошел кататься на лыжах»
Тогда коньюнкция А^В есть суждение:
Х = «Сегодня хорошая погода и Коля пошел кататься на лыжах»
Если хотя бы одно из этих суждений ложно, то естественно построенное выше суждение Х ложно.
Логическая операция ДИЗЬЮНКЦИЯ
– иначе называется ЛОГИЧЕСКОЕ СЛОЖЕНИЕ
- соответствует союзу ИЛИ
,
- в логических элементах обозначается 1
- в программировании соответствует OR
- обозначается знаком /
Дизьюнкция двух логических переменных ложна тогда и только тогда, когда оба высказывания ложны.
Это определение можно обобщить для любого количества логических переменных, объединенных дизьюнкцией.
A/B/C = 0, только если А=0, В=0, С=0
Таблица истинности
дизьюнкции имеет следующий вид:
А В А/B
0 0 0
0 1 1
1 0 1
1 1 1
Из таблицы истинности следует, что операция, дизьюнкции (операция «ИЛИ») – логическое сложение – немного но отличается от обычного алгебраического сложения. А именно: отличается лишь последней строкой: 1+1=1. Результат этот также не совпадает со сложением двоичных чисел ( 1+1=10). Это следствие того, что 1 является не числом «один», а только символом смысл которого был пояснен выше. Если имеются две истинные величины, то результатом их сложения будет истинная величина, но не может быть ни дважды истинно, ни полуистинно! Именно поэтому 1+1=0.
Например: пусть даны два суждения:
А= «Снег пойдет ночью»
В= «Снег пойдет утром»
Тогда суждение Х=А+В= «Снег пойдет ночью или утром»
В этом примере связка «ИЛИ» играет объединяющую роль.
Приведем другой пример. Даны суждения:
А= «Он придет сегодня»
В= «Он придет завтра»
Суждение Х=А+В = «Он придет сегодня или завтра»
В этом случае связка «ИЛИ» играет только разъединительную роль (её можно заменить разделяющим либо).
Составное суждение со связкой «ИЛИ» считается истинным, если истинно хотя бы одно из составных суждений, и считается ложным, если ложны все его составляющие.
Логическая операция ИНВЕРСИЯ
– ОТРИЦАНИЕ
– операция «НЕ
»
- в программировании «NOT
»
- обозначается неА
или употребляется символ «-« над А
Имея суждение А, можно образовать новое суждение, которое читается как «неА» или неверно, что А.
Таблица истинности выглядит следующим образом:
А А
1 0
0 1
так как возможны только два значения переменной, то всегда
1 = 0 и 0 = 1
Пусть суждение А= «Мы любим информатику»
А = «Мы не любим информатику»
Отрицание А имеет значение «истинно», если исходное суждение ложно. И
наоборот, А имеет значение «ложно», если исходное суждение А истинно.
Логическая операция ИПЛИКАЦИЯ (от латинского
implication – тесно связывать) – Логическое следование
Обозначается так: А В,
А – условие. В – следствие.
Если А, то В:
Таблица истинности
А
|
В
|
А В
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
Вывод: результат будет ложным тогда и только тогда, когда из истинного высказывания (А) следует ложное следствие (В)
Логическая операция ЭКВИВАЛЕНТНОСТЬ (от лат.
Aequivalens – равноценное) – Логическое равенство.
Обозначается так: А В
Таблица истинности
А
|
В
|
А В
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
Вывод:
результат будет истинным тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны.
В алгебре высказываний любую логическую функцию можно выразить через основные логические операции, записать её в виде логического выражения и упростить, применяя законы логики и свойства логических операций. По формуле логической функции легко рассчитать её таблицу истинности. Необходимо только учитывать порядок выполнения логических операций (приоритет) и скобки. Операции в логическом выражении выполняются слева направо с учетом скобок.
Приоритет логических операций:
СКОБКИ,
ИНВЕРСИЯ,
КОНЬЮНКЦИЯ,
ДИЗЬЮНКЦИЯ.
ИМПЛИКАЦИЯ
ЭКВИВАЛЕНТНОСТЬ
Вопросы:
1. Какие бывают высказывания? Привести примеры различных высказываний.
2. Дать понятие логическим переменным и логическим функциям. Придумать примеры.
3. Выучить таблицы истинности и привести примеры.
Использование логики высказывания в технике.
Логические схемы на контактных элементах.
Логический элемент – это схема, реализующая логические операции И, ИЛИ, НЕ.
Рассмотрим реализацию логических элементов через электрические контактные схемы, знакомые из школьного курса физики. Контакты на схемах будем обозначать латинскими буквами.
1. Последовательное соединение контактов а в
а
2. Параллельное соединение контактов в
Составим таблицу зависимости состояния цепей от всевозможных комбинаций состояния контактов. Введем обозначения: 1-контакт замкнут, ток в цепи есть; 0-контакт разомкнут, тока в цепи нет.
А |
В |
Состояние цепи с последовательным соединением |
Состояние цепи с параллельным соединением |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Как видно, цепь с последовательным соединением соответствует логической операции И, т.к. ток в цепи появляется только при одновременном замыкании контактов А и В. цепь с параллельным соединением соответствует логической операции ИЛИ, т.к. ток в цепи появляется как при замыкании одного из контактов А или В, так и при одновременном их замыкании.
Логическая операция НЕ реализуется через контактную схему электромагнитного реле, принцип работы которого изучается в школьном курсе физики. Контакт неХ называется инверсией контакта Х; когда Х замкнут, неХ разомкнут, и наоборот.
Таблица истинности состояния инверсных контактов
Х |
неХ |
0 |
1 |
1 |
0 |
Любую электрическую схему можно разбить на цепочки из последовательно и параллельно соединенных контактов, которые мы назовем элементарными.
Упражнение 1
. Разбейте на элементарные цепочки схемы на рис. 1 и рис. 1.
Решение.
В схеме рис. 1 можно выделить цепи с последовательно соединенными контактами C,D,F и две параллельно соединенные цепи (1-цепь с контактами C,D,F; 2 –цепь с контактом А).
c d f b d
a
a c f
Рис. 1 Рис. 2
В схеме рис. 2 два параллельных соединения
B d
C И
F
Которые объединяются последовательно с контактом А в одну схему.
Задачи
3.1. Определите вид и число элементарных цепочек в электрических цепях.
А) Х
У
б) В
a
d
неХ c e
в) с
d
f
г) a
a b b
c
b
d
д) c x
a неХ
Чтение электрических схем
Важно уметь читать электрические схемы, т.е. определять их состояние (есть ток или нет тока) в зависимости от состояния контактов при подключенном источнике тока.
Упражнение 2. Дана схема: х
z
У
Состояние контактов задаются таблицей, в которой используются введенные ранее обозначения: 0 – контакт разомкнут, 1 – контакт замкнут. Требуется заполнить колонку состояния схемы.
х |
у |
z |
Состояние схемы |
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
Решение
. Первый случай (0; 1; 1). Замкнуты контакты У и Z, т.е. цепь для прохождения тока создана, состояние схемы –1. второй случай (1; 0; 1) аналогичен первому – ток будет проходить через замкнутые контакты Х и Z, состояние схемы –1. Третий случай (1; 1; 0), незамкнутый контакт Z создает обрыв в цепи, следовательно, ток проходить не будет, состояние схемы – 0.
Упражнение 3. В таблице задано состояние контактов схемы:
B a c
неВ
а |
в |
неВ |
с |
Состояние схемы |
1 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
Требуется заполнить последний столбец таблицы
Решение.
Первый случай (1; 1; 0; 1). Цепочка замкнутых контактов А, В, С создает путь для тока, состояние схемы – 1. Второй случай (1; 0; 1; 1). Верхняя цепочка параллельного соединения разорвана, но цепь для тока создается через замкнутый контакт неВ, в цепи будет ток, состояние схемы – 1. Третий случай (1; 1; 0; 0). Независимо от состояния контактов А, В, при разомкнутых контактах С и неВ тока в цепи не будет, состояние схемы – 0.
Задачи
3.2. Представьте, себе что к приведенным ниже схемам подключили источник питания и прибор для измерения тока., состояние контактов задается таблицей, определите показания прибора (есть ток или нет).
А)
А |
В |
С |
D |
ток |
1 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
|
0 |
1 |
1 |
0 |
А В С
D
Б)
А |
В |
С |
ток |
1 |
0 |
0 |
|
0 |
1 |
0 |
|
1 |
1 |
1 |
А
В
С
А |
неА |
В |
С |
ток |
1 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
В)
В
А
Не А
г)
А |
неА |
В |
С |
D |
ток |
1 |
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
1 |
А В
D C
неА
Составление формул логических функций
Каждой контактной схеме, составленной из параллельного или последовательного соединения контактов, соответствует логическая функция. При составлении логической функции следует помнить, что любая схема может быть описана как совокупность элементарных цепочек по следующему правилу:
А) последовательное соединение элементарных цепочек представляются как соединение описывающих их функций, связанных логической операцией И
.
Б) параллельные соединения элементарных цепочек выражаются как соединение описывающих их функций, связанных логической операцией ИЛИ
.
В D
Для схемы F сначала записываются логические формулы
A
E
элементарных цепочек В
А F(A,B) =A или
В
D
E F(D,E) = D или
E
А затем полученные формулы объединяются логической операцией и
F(A,B,F,DE) = (A или
B) и
F и
(D или
E)
Для схемы A
B
C
F
E
Записываются логические формулы каждой из параллелей F(A,B,C)=A и
В и
С,
F(E,F) = Е или
F; которые затем объединяются логической функцией или
F(A,B,C,E,F) = (А и
В и
С) или
(Е или
F).
Задачи
3.3.
Составьте формулы логических функций к схемам:
В неВ неВ
а) б) А В
А С неС
В) А неD Г) а b c
D f
Z
F
d) a b
c неC
z
x
ж) неУ
неZ
У неХ
Вопросы:
1.Дать определение логическому элементу.
2. Параллельные и последовательные соединения. Таблицы истинности.
3. Научится читать электрические схемы.
4. научится составлять формулы логических функций.
Логические элементы ПК. Построение логических схем.
Построение логических формул на основе логических схем.
Математическая логика с развитием ВТ оказалась в тесной взаимосвязи с вопросами конструирования и программирования ВТ. Алгебра логики нашла широкое применение первоначально при разработке релейно-контактных схем. Первым фундаментальным исследованием, обратившим внимание инженеров, занимавшихся проектированием ЭВМ, на возможность анализа электрических цепей с помощью булевой алгебры была опубликованная в декабре 1938 года статья американца Клода Шенона «Символический анализ релейно-контактных схем» После этой статьи проектирование ЭВМ не обходилось без применения булевой алгебры. Роль ключа в схемах вначале играли электромеханическое реле, затем использовались электронные лампы и транзисторы.
Использование контактных элементов для построения логических схем ЭВМ не оправдало себя ввиду низкой надежности, больших габаритов, большого энергопотребления и низкого быстродействия.
Развитие технологии позволило объединить несколько логических элементов на одной интегральной схеме. Появление электронных приборов (вакуумных и полупроводниковых) создало возможность построения логических элементов с быстродействием от 1 миллиона переключений в секунду и выше.
Логическая схема строится на основе объединения электронных элементов. Эти элементы реализуют конкретные логические операции и носят название ЛОГИЧЕСКИЕ
ЭЛЕМЕНТЫ.
На вход каждого элемента подаются сигналы, называемые входными. На выходе получаем выходной сигнал. Если есть сигнал - значит 1, если нет сигнала – 0. каждая логическая схема реализует определенную логическую функцию, а при подаче на её вход строго определенной комбинации входных сигналов мы должны получить на выходе вполне определенный результат – 0 или 1.
Логический элемент - это схема реализующая логические операции И, ИЛИ, НЕ.
Рассмотрим логические элементы, реализующие основные логические операции.
ИНВЕРТОР
– реализует операцию отрицания, или инверсию. В схемах изображается следующим образом:
Х Х
У инвертора один вход и один выход. Сигнал на выходе появляется тогда, когда на входе его нет, и наоборот.
КОНЬЮНКТОР
– реализует операцию коньюнкции. В схемах изображается следующим образом:
|
Х1
Х2 Х1 ^
X2 ^
X3…
Х3
У коньюнктора один выход и не менее двух входов. Сигнал на выходе появляется тогда и только тогда, когда на все входы поданы сигналы.
ДИЗЬЮНКТОР
– реализует операцию дизьюнкции. В схемах изображается следующим образом:
|
Х1
Х2 Х1 / Х2 / Х3 ….
Х3
У дизьюнктора один выход и не менее двух входов. Сигнал на выходе не появляется тогда и только тогда, когда на все входы не поданы сигналы.
Логические элементы, реализующие операции И, ИЛИ, НЕ, называются основными логическими элементами, та как с их помощью можно реализовать в виде логической схемы любую логическую функцию.
F(X,Y,Z) = X ^(Y /Z)
Х У Z
|
|
Х Х
F
У
Y /
Z
Z
Итак, процесс построения функциональных схем для разработки устройств ПК можно описать следующим образом:
1. На основе анализа функции, которое реализует устройство, составляется таблица истинности.
2. По этой таблице при помощи описанного ниже метода находят логическую функцию.
3. Производится минимизация логической функции.
4. По упрощенной логической функции строится функциональная логическая схема устройства.
Упражнение 1.
Постройте схему на логических полупроводниковых элементах, соответствующих логической формуле F(X,Y,Z) = (X и
Y) или
Z.
Решение.
|
|
Х
X и У S= (X и У) или Z = F(X,Y,Z)
У
Z
Входные сигналы Х, У, Z. Сигналы Х, У поступают на вход элемента и, с выхода и сигнал поступает совместно с сигналом Z на вход элемента или.
Выходной сигнал S =(Х и У) или Z соответствует заданной логической функции.
Упражнение 2.
Постройте схему, работа которой описывается логической формулой F(X,Y,Z) = (X и
У и
Z) или
не
Z.
Решение.
|
|
у
Х
X и
Y и
Z
S = (X и Y и Z) или неZ = F(X,Y,Z)
z неZ
Входные сигналы Х,У,Z подаются на вход схемы и
. Сигнал Z поступает на вход инвертора, на выходе не
Z. Сигналы с выхода схем и
и не
подаются на схему или
. Выходной сигнал S = (X и У и Z) или неZ.
Задача
Запишите логическую формулу, описывающую состояние схемы:
Х
У
Z
Постройте схемы, работа которых описывается логическими формулами:
а) F(A,B,C) = (A и В) или (В и С);
б) F(Х,У) = (X или У) и неУ;
Задания
1.
Запишите логическую формулу описывающую состояние схем:
а) б)
|
|
|
А
Х
В
|
|
У С
Z D
2. Постройте схемы работа которых описывается логическими формулами.
а) F(A,B,C,F) = (A или В) и С и (В или F);
б) F(A,B,C,F) = (A или В) или (С и (В или F));
Задачи 1
. В предложенных схемах запишите формулы выходных сигналов каждого логического элемента:
|
|
|
|
|
|
а) Х б) Х
У
У
Z
|
|
Х
|
|
Х г) У
в)
У
Z
Z
|
|
|
ж) Х
У
Z
Задача 2.
Постройте схему работа которой описывается логической формулой
F(A,B,C,D,F) = (C и D и А) или (В и F);
|
|
Задачи 3.
Запишите логическую формулу, описывающую состояние схемы, составьте таблицы истинности: Х
|
|
Х б)
А)
У У
Z Z
|
|
|
|
в) Х
г) Х
У
У
Z
Z
|
|
|
Задача 4.
Составьте логическую формулу и таблицу состояния схему:
Используя законы логики, упростите ее. Правильность преобразования проверьте таблицей истинности.
Задача 5.
Два друга собрали схему. В результате тестирования (проверки выходного сигнала от всевозможных комбинаций входных) оказалось, что выходной сигнал D в точности повторяет один из трех входных. Укажите какой.
|
A
|
B
|
|
C
Составление логических схем по заданным таблицам.
Правило составления остается таким же, как при работе с контактными схемами.
Упражнение 1.
По заданным таблицам истинности запишите функцию, составьте логические схемы.
а) б)
а |
в |
F(а, в) |
А |
В |
F(А,В) |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Решение.
А) Берем строки, в которых F(A, B) = 1. Это вторая и третьи строки.
F(A,B) = (A и не В) или (не А и В)
Упростить формулу нельзя. Проверим правильность полученной формулы по таблице истинности, в которую записываются значения промежуточных сигналов.
А |
В |
неА |
неВ |
А и неВ |
неА и В |
F(A, B) |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Значения F(A, B) в полученной и исходной таблицах совпадают при одних и тех же значениях входных сигналов, следовательно, формула верна. Строим схему:
|
|
|
А неА неА и В
А и неВ
В неВ
Б) Для записи формулы выходной функции f(A,B) берем первую, вторую, четвертую строки таблицы, в которой F(A,B) = 1. F(A, B) =(А и В) или (неА и В) или (неА и неВ). Используя законы логики, упростим выражение: F(А,В) = (А и В) или (неА и (В или неВ) = (А и В) или неА и 1 = (А и в) или неА = (А или неА) и (В или неА) = 1 и (В или неА) В или неА. Формула выходной функции по заданной таблице F(А,В) = В или неА. Проверим её таблицей истинности:
А |
В |
неА |
F(А,В) |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
Полученная таблица совпадает с исходной по значениям входных сигналов А, В и соответствующим им выходных. Строим схему:
|
А неА В или неА
Задача 1
.В комнате три выключателя - А, В, С:
А – при входе
В – над письменным столом;
С – над диваном.
Постройте схемы, которые позволяют включать свет следующим образом:
любым из следующих включателей
одновременно включением А и В или только С;
одновременно включением всех трех.
Задача 2.
В формуле, описывающей схему, допущены ошибки, исправьте их, упростите схему:
Х Z
У неХ
Z не
Z
неУ
F(X,Y,Z) = ((X или У) или (Z или неХ)) и (У и (неZ и неУ)).
Задача 4
Представьте, что к приведенной схеме подключили источник питания и прибор для измерения тока, состояние контактов задается таблицей, определите показания прибора (есть ток или нет):
А В С А
1 0 0 В
0 1 0 С
1 1 1
Задание
а) б)
|
|
||
X
|
x ch
|
У Y
Z Z
в)
|
X
Y
Задача 2.
Судейская коллегия состоящая из трех членов, выносит решение большинством голосов при тайном голосовании. Постройте такую схему, чтобы голосование каждого члена «за» производилось нажатием кнопки (включением выключателя) и в случае принятия решения загоралась сигнальная лампа.
Задача 3.
Представьте, что к приведенной схеме подключили источник питания и прибор для измерения тока, состояние контактов задается таблицей, определите показания прибора (есть ток или нет):
А неА В С
1 0 1 0
0 1 0 0
1 0 1 1
Законы логики
Если логическое выражение содержит большое число операций, то составлять для него таблицу истинности достаточно сложно, так как приходится перебирать большое количество вариантов. В таких случаях формулы удобно привести к нормальной короткой и понятной форме.
Формула имеет нормальную форму, если в ней отсутствуют знаки эквивалентности, импликации, двойного отрицания.
Для приведения формулы к нормальной форме используют законы логики и правила логических преобразований.
Законы логики
№ п/п
|
Закон логики
|
Математическая запись
|
Название закона
|
1 |
А = А(А=А) |
Закон тождества |
|
2 |
__ А & А = 0 |
__ А * А = 0 |
Закон непротиворечия |
3 |
__
А v A = 1 |
__
A + A = 1 |
Закон исключающего третьего |
4 |
==
А = А |
Закон двойного отрицания |
|
5 |
А & 0 = 0; A v 0 = A |
А * 0 = 0; А + 1 = А |
|
6 |
A & 1 =A; A v 1 = 1 |
A * 1 = A; A + 1 = 1 |
|
7 |
A & A = A; A v A =A |
A * A =A; A + A =A |
|
8 |
__ A v A =1 |
__ A + A =1 |
Законы Моргана |
9 |
________ __ (A B) =A & B |
||
10 |
__ A B = A v B |
||
11 |
A & (A v B) = A |
A * (A + B) = A |
Закон поглощения |
12 |
A v A & B =A |
A + A * B =A |
Закон поглощения |
13 |
__ __ A & (A v B) = A & B |
__ __ A * (A +B) = A * B |
|
14 |
__ A v A & = A v B |
__ A + A * B = A + B |
|
15 |
(A v B) v C = A v (B v C) (A & B) & C = A & (B & C) |
(A + B) + C = A + (B + C) (A * B) * C = A * (B * C) |
Правило ассоциативности |
16 |
(A & B) v (A & C) = A & (B v C) (A v B) & (A v C) = A v (B & C) |
(A*B) + (A*C) = A*(B+C) (A+B)*(A+C) = A+(B*C) |
Правило дистрибутивности |
17 |
A v A = A A & A = A |
A + A = A A * A = A |
Правило иденпотентности |
18 |
A v B = B v A A & B = B & A |
A + B = B + A A * B = B * A |
Правило коммутативности |
19 |
____ __ __ A = B=A&BvA&B = (A+B)&(A+B) |
Пример:
________________
Упростите логическое выражение _____
F = (A v B) (B v C)
Это логическое выражение необходимо привести к нормальной форме, т.к. в нём присутствует импликация и отрицание логической операции.
Избавимся от импликации и отрицания.
Воспользуемся формулой (9). Получится:
_________________
______ ========
(A v B) (B v C) = (A v B) & (B v C))
Применим закон двойного отрицания (4). Получим:
=======
(A v B) & (B v C) = (A v B) & (B v C)
Применим правило дистрибутивности (16). Получим:
(A v B) & (B v C) = (A v B) & B v (A v B) & C
Применим закон коммутативности (18) и дистрибутивности (16). Получим:
(A v B) & B v (A v B) & C = A & B v B & B v A & C v B v C
5. Применим (7). Получим:
A & B v B & B v A & C v B & C = A & B v B v A & C v B & C
6.Применим (16), т.е. вынесем за скобки В. Получим:
A & B v B v A & C v B & C = B &(A v 1) v A & C v B & C
7. Применим (6). Получим:
B &(A v 1) v A & C v B & C =B v A & C v B & C
8. Переставим местами слагаемые, сгруппируем и вынесем В за скобки. Получим:
B v A & C v B & C = B & (1 v C) v A & C
9. Применим (6). и получим ответ:
B & (1 v C) v A & C = B v A & C.
Ответ:
F = B v A & C
Закрепление изученного материала:
Упростите выражения:
_____ _____
F = A & B v B v C;
F = (A B) v (B A);
__
F = A & C v A & C;
Ответы:
_____ _____ __ _ _ __ __ __ _ _ _
1) F = A & B v B v C = A v B v B & C = B( 1v C) v A = A v B;
2) F = ((A B) v (B A) = A v B v B v A = (A v A) v (B v B) = 1 v 1 =1;
3) F = A & C v A & C = C &(A v A) = C;
Задание
Упростите логические выражения:
1) F = A v ( не A & B );
2) F = A & ( не A v B );
Использование логических устройств в вычислительной технике
Логические схемы имеют практическое применение в вычислительной технике. Они используются:
Для реализации выполнения математических операций. Что это значит? А значит это следующее. Своё название ( «компьютер») компьютер получил не сразу. Сначала данное устройство называлось электронно-вычислительная машина, т. е. одним из главных назначений ЭВМ было выполнение вычислительных операций. Занималось этим специальное устройство, которое называется процессор. Процессор можно сравнить с умом человека и именно процессор (так же, как и человек в «уме») выполнял ( и выполняет) все математические операции. Как он это делает? Рассмотрим ниже.
Для хранения информации. Как он это делает? Также рассмотрим ниже.
Итак, как процессор выполняет математические операции?
Прежде всего, обратите внимание на следующие компоненты:
· Каким образом должна быть представлена информация, чтобы с ней мог работать компьютер? ( В двоичном коде, т.е. в виде 0 и 1
).
· Чтобы компьютер мог выполнять математические операции с числами, в какой системе счисления они должны быть представлены? ( В двоичной
).
· Почему ? (Потому что двоичную систему счисления наиболее просто реализовать
в технических устройствах
)
· Какие сигналы подаются на входы логических вентилей? (0 и 1
)
Вывод:
таким образом в двоичной системе счисления и в алгебре логики информация представлена в виде двоичных кодов.
И второй момент. Для того чтобы максимально упростить работу компьютера, все математические операции (вычитание, деление, умножение и т . д.) сводятся к сложению.
Вспомнит таблицу сложения двоичных чисел. Запишем её в несколько иной форме.
А
|
В
|
S
|
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
1 |
0 |
Обратите внимание на дополнительный столбец. Его мы ввели потому, что при сложении происходит перенос в старший разряд. Обозначим его Р и закончим заполнение таблицы.
А
|
В
|
Р
|
S
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
Проанализируем полученный результат:
Таблице истинности какой логической функции аналогичен столбец Р? (Логическое умножение
).
Таблице истинности какой логической функции аналогичен столбец S? (Логическое сложения , кроме случая, когда на выходы подаются две единицы
).
Логическое выражение, по которому можно определить сумму S, записывается следующим образом: _______
S=(A v B) & (A & B)
Построим к этому логическому выражению логическую схему:
Проследим за прохождением сигнала через cхему:
С какого элемента можно снимать сигнал Р, если мы выяснили, что результат Р соответствует логическому умножению? (С первого вентиля, реализующего операцию
конъюнкции)
Полученная нами схема выполняет сложение двоичных одноразрядных чисел и называется полусумматором, т. к. не учитывает перенос из младшего разряда в старший (выход Р).
Для учёта переноса из младшего разряда необходимы два полусумматора.
Более «умным» является устройство, которое при сложении учитывает перенос из младшего разряда. Называется оно полный одноразрядный сумматор.
Сумматор – это логическая электронная схема, выполняющая сложение двоичных чисел. Сумматор является главной частью процессора.
Рассмотрим принц работы одноразрядного двоичного сумматора.
Одноразрядный сумматор должен иметь три входа: А, В – слагаемые и Р0
–перенос из предыдущего разряда и выходы: S – сумма и Р – перенос.
Нарисуем одноразрядный сумматор в виде единого функционального узла:
Построим таблицу сложения:
А
|
В
|
Р0
|
Р
|
S
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
Логические выражения для Р и S будут иметь следующий вид:
__
S = (A v B v P0
) & P0
v (A & B & P0
)
P = (A & B) v (A & P0
) v (B & P0
)
Но процессор, как правило, складывает многоразрядные двоичные числа. Например, 1012
+ 1102
= 10112
. Для того чтобы вычислить сумму n - разрядных двоичных чисел, необходимо использовать многоразрядный сумматор, в котором на каждый разряд ставится одноразрядный сумматор и выход – перенос сумматора младшего разряда подключается к выходу сумматора старшего разряда.
Пример:
Сложить числа 1012
+ 1102
=10112
Ответ записывается с конца :
1012
+1102
=10112
Триггер (
trigger – защёлка, спусковой крючок). – это устройство, позволяющее, запоминать, хранить и считывать информацию. Для обозначения этой схемы в английском языке чаще употребляется термин «
flip-
flop», что в переводе означает «хлопанье». Это звукоподражательное название электронной схемы указывает на её способность почти мгновенно переходить (перебрасываться) из одного электрического состояния в другое и наоборот.
Каждый триггер хранит 1 бит информации, т. е. он может находится в одном из двух устойчивых состояний – логический «0» или логическая «1».
Триггер способен почти мгновенно переходить из одного электрического состояния в другое и наоборот.
Логическая схема триггера выглядит следующим образом:
|
|
Обычная схема триггера выглядит так:
Входы триггера расшифровываются следующим образом – S (от английского Set – установка) и R – (Reset – сброс). Они используются для установки триггера в единичное состояние и сброса в нулевое. В связи с этим такой триггер называется RS -триггер.
Выход Q называется прямым, а противоположный – инверсный. Сигналы на прямом и инверсном выходах, конечно же, должны быть противоположны.
Рассмотрим как работает эта схема.
Пусть для определённости на вход S подан единичный сигнал, а R = 0.
Тогда независимо от состояния другого входа, который подсоединён к выходу Q (иначе говоря, вне зависимости от предыдущего состояния триггера), верхний по схеме элемент ИЛИ – Не получит на выходе 0 (результат ИЛИ, естественно, равен 1, но его инверсия – 0). Этот нулевой сигнал подаётся на вход другого логического элемента, где на втором входе R тоже установлен 0. в итоге после выполнения логических операций ИЛИ – НЕ над двумя входными нулями этот элемент получает на выходе 1, которую возвращает первому элементу на соответствующий вход. Последнее обстоятельство очень важно: теперь, когда на этом входе установилась 1, состояние другого входа, (S) больше не играет роли. Иными словами, если даже теперь убрать входной сигнал S, внутренне распределение уровней сохранится без изменений. Поскольку согласно нашим рассуждениям Q = 1, триггер перешёл в единичное состояние, и, пока не придут новые внешние сигналы, сохраняет его. Итак, при подаче сигнала на вход
S триггер триггер переходит в устойчивое единичное состояние.
При противоположной комбинации сигналов R =1 и S =0 вследствие полной симметрии схемы все происходит совершенно аналогично, но теперь на выходе Q уже получится 0. Иными словами, при подаче сигнала на вход
R - триггер сбрасывается в устойчивое нулевое состояние.
Особо отметим, что окончание действия сигнала в обоих случаях приводит к тому, что R=0 и S=0. мы видели, что при этом триггер сохраняет на выходе Q тот сигнал, который был установлен входным импульсом (S или R). Отсюда такой режим часто называют режимом хранения информации. Итак, при отсутствии входных сигналов триггер сохраняет последнее занесённое в него значение сколь угодно долго.
Оставшийся режим S=1 и R=1, когда сигнал подаётся на оба входа одновременно, считается запрещённым, поскольку в этом случае после снятия входных сигналов (особенно одновременно!) результат непредсказуем.
Можно заполнить следующую таблицу:
Вход
|
Вход
|
Выход
|
___
Выход
|
Режим регистра
|
1 |
0 |
1 |
0 |
Установка 1 |
0 |
1 |
0 |
1 |
Установка 0 |
0 |
0 |
Последние значения |
Хранение информации |
|
1 |
1 |
запрещено |
Итак, мы выяснили, как работает триггер.
Без преувеличения триггер является одним из существенных узлов при проектировании ЭВМ. Так как триггер может хранить только 1 бит информации, то несколько триггеров объединяют вместе.
Полученное устройство называется регистром. Регистры содержатся во всех вычислительных узлах компьютера – начиная с центрального процессора, памяти и заканчивая периферийными устройствами, и позволяют также обрабатывать информацию. В регистре может быть 8, 16, 32 или 64 триггера.
Вопросы
:
1. Назначение сумматора и триггера
2. Области использования сумматора и триггера