- •1. Системы счисления
- •Десятичная система счисления
- •Двоичная система счисления
- •Восьмеричная и шестнадцатеричная системы счисления
- •Перевод чисел из любой системы счисления в десятичную
- •Перевод чисел из десятичной системы счисления в любую другую
- •2. Алгебра логики
- •2.1. Логические операции
- •Инверсия
- •Конъюнкция
- •Дизъюнкция
- •Эквиваленция (равнозначность)
- •Импликация
- •Антиконъюнкция
- •Антидизъюнкция
- •2.2. Нормальные формы
- •Конъюнктивная нормальная форма
- •Дизъюнктивная нормальная форма
- •3. Применение средств алгебры логики для описания функционирования устройств компьютера
- •Логические схемы
- •Построение логических схем
- •4. Практическая работа 1. Системы счисления
- •Вопросы для самоконтроля
- •5. Практическая работа 2. Алгебра логики
- •Решение логических задач средствами алгебры логики
- •Индивидуальное задание к модулю 1. Построение логических схем по заданным булевым выражениям
- •Приложение 1. Практическое занятие 1 «Системы счисления»
- •Приложение 2. Практическое занятие 2 «Алгебра логики»
- •Приложение 3. Индивидуальное задание. Модуль №1
- •Приложение 4
- •6. Введение в алгоритмизацию
- •7. Знакомство со средой Турбо Паскаль
- •7.1. Общие сведения
- •7.2. Запуск Турбо-Паскаля на выполнение
- •7.4. Работа с текстовым редактором Турбо-Паскаля
- •Клавиши перемещения курсора
- •Работа с блоками текста
- •8. Основы алгоритмизации
- •8.1. Алгоритм
- •8.2. Алгоритмические структуры
- •Самоконтроль
- •9.1. Алфавит языка
- •9.2. Арифметические выражения и правила их записи
- •Знаки операций
- •Операции div и mod
- •9.3. Типы данных
- •Целые типы
- •Логический тип
- •Символьный тип
- •Строковый тип
- •Вещественный тип
- •9.4. Стандартные функции
- •9.5. Структура программы на языке Паскаль
- •9.6. Описательная часть программы
- •9.7. Исполнительная часть программы
- •9.8. Оператор присваивания
- •9.9. Операторы ввода-вывода
- •Оператор ввода
- •Оператор вывода
- •9.10. Комментарии в программе
- •Самоконтроль
- •Задание
- •Пример программы линейной структуры
- •Приложение 1. Таблица вариантов задания №2
- •10. Ветвления
- •10.1. Операторы условия и перехода
- •Логический оператор
- •Операции отношения
- •Логические операции
- •10.2. Оператор выбора
- •Самоконтроль
- •Задание
- •Пример программы разветвленной структуры
- •Приложение 1. Таблица вариантов задания 3
- •11.2. Оператор цикла с постусловием
- •11.3. Оператор цикла с предусловием
- •11.4. Вложенные циклы
- •11.5. Оператор прерывания цикла
- •Самоконтроль
- •Задание
- •Пример программы циклической структуры
- •Приложение 1. Таблица вариантов задания 4
- •12. Операции с индексированными переменными
- •12.1. Массивы одномерные
- •12.2. Описание массивов
- •Ввод элементов массива
- •Вывод элементов массива
- •12.3. Обработка одномерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки одномерного массива
- •Приложение 1. Таблица вариантов задания 5
- •13. Двумерные массивы
- •13.1. Матрицы
- •13.2. Описание двумерного массива
- •Ввод элементов двумерного массива
- •Вывод элементов двумерного массива
- •13.3. Обработка двумерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки двумерного массива
- •Приложение 1. Таблица вариантов задания 6
- •Структура программы, содержащей процедуру (функцию)
- •14.2. Процедуры
- •14.3. Вложенные процедуры
- •Директива forward
- •14.4. Функции
- •Самоконтроль
- •Задание
- •Пример программы с использованием подпрограмм
- •Приложение 1. Таблица вариантов задания 7
- •15. Обработка строк текста
- •15.1. Символьные переменные
- •Фрагмент таблицы ASCII-кодов букв латинского алфавита
- •Фрагмент таблицы ASCII-кодов букв русского алфавита
- •15.2. Функции обработки символьных переменных
- •15.3. Строковые переменные
- •15.4. Функции обработки строковых переменных
- •15.5. Процедуры обработки строковых переменных
- •15.6. Примеры обработки строковых переменных
- •Самоконтроль
- •16. Структурированные типы данных
- •Записи
- •Самоконтроль
- •Задание
- •Пример программы использования массива записей
- •Приложение 1
- •Приложение 2. Таблица вариантов ИДЗ 2
3. Применение средств алгебры логики для описания функционирования устройств компьютера
Для описания того, как функционируют аппаратные средства компьютера очень удобен
математический аппарат алгебры логики, поскольку основной системой счисления в
компьютере является двоичная, в которой используются цифры «1» и «0».
Следовательно, одни и те же устройства компьютера могут применяться для обработки и хранения как числовой информации, представленной в двоичной системе счисления, так и логических переменных; на этапе конструирования аппаратных средств алгебра логики позволяет значительно упростить логические функции, описывающие функционирование схем компьютера, и, следовательно, уменьшить число элементарных логических элементов, из десятков тысяч которых состоят основные узлы компьютера.
Данные и команды в памяти компьютера и в регистрах процессора представляются в виде
двоичных последовательностей различной структуры и длины.
Существуют различные физические способы кодирования двоичной информации, но чаще всего единица кодируется более высоким уровнем напряжения, чем ноль.
В логической схеме компьютера выделяют логические элементы. Логический элемент компьютера – это часть электронной логической схемы, которая реализует элементарную логическую формулу.
Логическими элементами компьютеров являются электронные схемы «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-НЕ» и другие (называемые также вентилями), а также триггер. С помощью этих схем можно реализовать любую логическую формулу, описывающую работу устройств компьютера.
Каждый логический элемент имеет свое условное обозначение, которое выражает его логическую формулу, но не указывает на то, какая именно электронная схема в нем реализована. Это упрощает запись и понимание сложных логических схем.
Схема «И» реализует конъюнкцию двух или более логических значений. Условное обозначение на структурных схемах схемы «И» с двумя входами представлено на рис. 5.
Рис. 5. схема «И»
На выходе схемы «И» значение «1» будет тогда и только тогда, когда на всех входах будут «1». Когда хотя бы на одном входе будет «0», на выходе также будет «0».
Операция конъюнкции на функциональных схемах обозначается знаком «&» (читается как «амперсэнд»), являющимся сокращенной записью английского слова and.
Схема «ИЛИ» реализует дизъюнкцию двух или более логических значений. Условное обозначение схемы «ИЛИ» представлено на рис. 6.
Рис. 6. Схема «ИЛИ»
Значение дизъюнкции равно «1», если сумма значений операндов больше или равна «1». Когда хотя бы на одном входе схемы «ИЛИ» будет «1», на её выходе также будет «1».
17
Операция дизъюнкции на функциональных схемах обозначается знаком «1».
Схема «НЕ» (инвертор) реализует операцию отрицания. Условное обозначение схемы НЕ представлено на рис. 7.
Рис. 7. Схема «НЕ»
Если на входе схемы – «0», то на выходе будет «1». Когда на входе – «1», на выходе будет
«0».
Схема «И-НЕ» состоит из элемента «И» и инвертора и осуществляет отрицание результата схемы «И». Условное обозначение схемы «И-НЕ» представлено на рисунке 8. Таблица истинности схемы «И-НЕ» – это таблица 5.
Рис. 8. Схема «И-НЕ» Таблица истинности схемы «И-НЕ»
Таблица 5
|
|
|
|
|
х |
у |
|
х у |
|
|
|
|
|
|
0 |
0 |
|
1 |
|
|
|
|
|
|
0 |
1 |
|
1 |
|
|
|
|
|
|
1 |
0 |
|
1 |
|
|
|
|
|
|
1 |
1 |
|
0 |
|
|
|
|
|
|
Схема «ИЛИ-НЕ» состоит из элемента «ИЛИ» и инвертора и осуществляет отрицание результата схемы «ИЛИ». Условное обозначение схемы «ИЛИ-НЕ» представлено на рис. 9, а таблица истинности схемы ИЛИ-НЕ – это табл. 6.
Рис. 9. Схема «ИЛИ-НЕ» Таблица истинности схемы «ИЛИ-НЕ»
Таблица 6
|
|
|
|
|
х |
у |
|
х у |
|
|
|
|
|
|
0 |
0 |
|
1 |
|
|
|
|
|
|
18
0 |
1 |
0 |
|
|
|
1 |
0 |
0 |
|
|
|
1 |
1 |
0 |
|
|
|
Логические схемы
Логическая схема – это схематическое изображение некоторого устройства, состоящего из переключателей и соединяющих их проводников, а также из входов и выходов, на которые подаётся и с которых снимается электрический сигнал.
Каждый переключатель имеет только два состояния: замкнутое и разомкнутое. Переключателю Х поставим в соответствие логическую переменную х, которая принимает значение 1 в том и только в том случае, когда переключатель Х замкнут и схема проводит ток; если же переключатель разомкнут, то х равен нулю.
Две схемы называются равносильными, если через одну из них проходит ток тогда и только тогда, когда он проходит через другую (при одном и том же входном сигнале).
Из двух равносильных схем более простой считается та схема, функция проводимости которой содержит меньшее число логических операций или переключателей.
При рассмотрении переключательных схем возникают две основные задачи: синтез и анализ схемы.
СИНТЕЗ СХЕМЫ по заданным условиям ее работы сводится к следующим трём этапам:
1.составлению функции проводимости по таблице истинности, отражающей эти условия;
2.упрощению этой функции;
3.построению соответствующей схемы.
АНАЛИЗ СХЕМЫ сводится к:
1.определению значений её функции проводимости при всех возможных наборах входящих в эту функцию переменных.
2.получению упрощённой формулы.
Построение логических схем
Как правило, построение и расчет любой схемы осуществляется начиная с ее выхода. Допустим, задано булево выражение:
F = BA + B A + C B.
Первый этап: выполняется логическое сложение, логическую операцию ИЛИ, считая входными переменными функции B A, B A и C B:
B A
1
B A F
C B
Второй этап: к входам элемента ИЛИ подключаются логические элементы И, входными переменными которых являются уже A, B, C и их инверсии:
19