- •Предисловие
- •Введение
- •Часть первая глава 1 теоретические основы информатики
- •Введение
- •§ 1. Информатика как наука и как вид практической деятельности
- •1.1. История развития информатики
- •1.2. Информатика как единство науки и технологии
- •1.3. Структура современной информатики
- •1.4. Место информатики в системе наук
- •1.5. Социальные аспекты информатики
- •1.6. Правовые аспекты информатики
- •1.7. Этические аспекты информатики
- •Контрольные вопросы
- •§ 2. Информация, ее виды и свойства
- •2.1. Различные уровни представлений об информации
- •2.2. Непрерывная и дискретная информация
- •2.3. Единицы количества информации: вероятностный и объемный подходы
- •Вероятностный подход
- •Объемный подход
- •2.4. Информация: более широкий взгляд
- •2.5. Информация и физический мир
- •§ 3. Системы счисления
- •3.1. Позиционные системы счисления
- •3.2. Двоичная система счисления
- •3.3. Восьмеричная и шестнадцатиричная системы счисления
- •§ 4. Кодирование информации.
- •4.1. Абстрактный алфавит
- •4.2. Кодирование и декодирование
- •4.3. Понятие о теоремах шеннона
- •4.4. Международные системы байтового кодирования
- •§ 5. Элементы теории графов
- •5.1. Основные понятия
- •5.2. Представление графов
- •§ 6. Алгоритм и его свойства
- •6.1. Различные подходы к понятию «алгоритм»
- •6.2. Понятие исполнителя алгоритма
- •6.3. Графическое представление алгоритмов
- •6.4. Свойства алгоритмов
- •6.5. Понятие алгоритмического языка
- •Контрольные вопросы
- •§7. Формализация понятия «алгоритм»
- •7.1. Постановка проблемы
- •7.2. Машина поста
- •73. Машина тьюринга
- •7.4. Нормальные алгоритмы маркова
- •7.5. Рекурсивные функции
- •Контрольные вопросы и задания
- •§ 8. Принципы разработки алгоритмов и программ для решения прикладных задач
- •8.1. Операциональный подход
- •8.2. Структурный подход
- •8.3. Новейшие методологии разработки программ для эвм
- •Контрольные вопросы и задания
- •§ 9. Структуры данных
- •9.1. Данные и их обработка
- •9.2. Простые (неструктурированные) типы данных
- •9.3. Структурированные типы данных
- •Контрольные вопросы и задания
- •§ 10. Понятие об информационном моделировании
- •10.1. Моделирование как метод решения прикладных задач
- •10.2. Основные понятия информационного моделирования
- •10.3. Связи между объектами
- •Контрольные вопросы и задания
- •§ 11. Некоторые кибернетические аспекты информатики
- •11.1. Предмет кибернетики
- •11.2. Управляемые системы
- •11.3. Функции человека и машины в системах управления
- •Контрольные вопросы и задания
- •§ 12. Понятие искусственного интеллекта
- •12.1. Направления исследований и разработок в области систем искусственного интеллекта
- •12.2. Представление знаний в системах искусственного интеллекта
- •12.3. Моделирование рассуждений
- •12.4. Интеллектуальный интерфейс информационной системы
- •12.5. Структура современной системы решения прикладных задач
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 1
- •Глава 2 программное обеспечение эвм
- •Введение
- •§ 1. Операционные системы
- •1.1. Назначение и основные функции операционных систем
- •1.2. Понятие файловой системы
- •1.3. Операционные системы для компьютеров типа ibm pc
- •1.4. Оболочки операционных систем
- •Контрольные вопросы и задания
- •§ 2. Понятие о системе программирования
- •2.1. Основные функции и компоненты
- •2.2. Трансляция программ и сопутствующие процессы
- •Контрольные вопросы
- •§3. Прикладное программное обеспечение общего назначения
- •3.1. Классификация
- •3.2. Инструментальные программные средства общего назначения
- •3.3. Инструментальные программные средства специального назначения
- •3.4. Программные средства профессионального уровня
- •3.5. Организация «меню» в программных системах
- •Контрольные вопросы ч задания
- •§ 4. Системы обработки текстов
- •4.1. Элементы издательского дела
- •4.2. Текстовые редакторы
- •4.3. Издательские системы Общая характеристика
- •Настольная издательская система ТеХ
- •§ 5. Системы компьютерной графики
- •5.1. Принципы формирования изображений на экране
- •5.2. Изобразительная графика
- •5.3. Графические редакторы
- •5.4. Деловая графика
- •5.5. Инженерная графика
- •5.6. Научная графика
- •Контрольные вопросы и упражнения
- •§ 6. Базы данных и системы управления базами данных
- •6.1. Понятие информационной системы
- •6.2. Виды структур данных
- •6.3. Виды баз данных
- •6.4. Состав и функции систем управления базами данных
- •6.5. Примеры систем управления базами данных
- •Контрольные вопросы и задания
- •§ 7. Электронные таблицы
- •7.1. Назначение и основные функции табличных процессоров
- •7.2. Электронные таблицы supercalc
- •7.3. Электронные таблицы excel
- •§8. Интегрированные программные средства
- •8.1. Принципы построения интегрированных программных систем
- •8.2. Интегрированный пакет ms-works
- •§ 9. Экспертные системы
- •Контрольные вопросы и задания
- •§ 10. Инструментальные программные средства для решения прикладных математических задач
- •10.1. Назначение программ
- •10.2. Пакет mathcad
- •10.3. Система аналитических преобразований reduce
- •§ 11. Компьютерное тестирование
- •11.1. Технология проектирования компьютерных тестов предметной области
- •Оценка соответствия
- •11.2. Типы компьютерных тестов
- •11.3. Инструментальные тестовые оболочки
- •11.4. Пример теста по школьному курсу информатики
- •§12. Компьютерные вирусы
- •12.1. Что такое компьютерный вирус
- •12.2. Разновидности компьютерных вирусов
- •12.3. Антивирусные средства
- •Контрольные вопросы и задания
- •§ 13. Компьютерные игры
- •13.1. Виды и назначение компьютерных игр
- •13.2. Обзор компьютерных игр
- •Контрольные вопросы
- •Глава 3 языки и методы программирования
- •Введение
- •§ 1. История развития языков программирования
- •§2. Языки программирования высокого уровня
- •2.1. Понятие о языках программирования высокого уровня
- •2.2. Метаязыки описания языков программирования
- •23. Грамматика языков программирования
- •§3. Паскаль как язык структурно-ориентированного программирования
- •3.1. Введение
- •Контрольные вопросы
- •3.2. Основные конструкции языка
- •Контрольные вопросы
- •3.3. Структуры данных
- •3.4. Процедуры и функции
- •3.5. Работа с файлами
- •3.6. Динамические информационные структуры
- •Контрольные вопросы
- •3.7. Работа с графикой
- •Var gd, gm: integer; {переменные gd и gm определяют драйвер и режим}
- •Контрольные вопросы и задания
- •3.8. Турбо-оболочки. Версии паскаля
- •Контрольные вопросы
- •3.9. Руководство пользователю турбо-паскаля
- •§4. Методы и искусство программирования
- •4.1. Проектирование программ
- •Контрольные вопросы и задания
- •4.2. Основные принципы разработки и анализа алгоритмов
- •Задания
- •4.3. Методы построения алгоритмов, ориентированные на структуры данных
- •Контрольные задания
- •4.4. Рекурсивные алгоритмы
- •Контрольные задания
- •4.5. Важнейшие невычислительные алгоритмы (поиск и сортировка)
- •If f then write('найден элемент на ',m, ' месте') else write('такого элемента в массиве нет ');
- •Контрольные вопросы и задания
- •§ 5. Бейсик как язык операционально-проблемно-ориентированного программирования
- •5.1. Введение в бейсик
- •Контрольные вопросы
- •5.2. Базовые операторы
- •Контрольные вопросы ч задания
- •5.3. Музыкальные возможности
- •Контрольные вопросы и задания
- •5.4. Графические возможности
- •Контрольные вопросы и задания
- •5.5. Обработка символьной информации
- •Контрольные вопросы и задания
- •5.6. Подпрограммы
- •Контрольные вопросы
- •5.7. Работа с файлами
- •5.8. Средства и методы организации диалога
- •Контрольные задания
- •5.9. Версии бейсика
- •5.10. Бейсик и паскаль
- •§ 6. Введение в язык программирования си
- •6.1. Общая характеристика языка и пример программы на си
- •6.2. Элементы си: алфавит, идентификаторы, литералы, служебные слова
- •6.3. Типы данных и операции в языке си. Выражения
- •6.4. Операторы. Управляющие конструкции языка
- •6.5. Структура программы на си. Понятие о функциях
- •6.6. Классы памяти
- •6.7. Функции вводa-вывода
- •6.8. Директивы препроцессора
- •6.9. Си и паскаль
- •§ 7. Основы логического программирования на языке пролог
- •7.1. Общие сведения
- •7.2. Алгоритм выполнения программ на прологе
- •7.3. Рекурсия
- •7.4. Предикат отсечения и управление логическим выводом в программах
- •7.5. Обработка списков
- •7.6. Решение логических задач на прологе
- •Контрольные вопросы и задания
- •§ 8. Введение в функциональное программирование на языке лисп
- •8.1. Назначение и общая характеристика языка
- •8.2. Основные элементы программы на лиспе. Списки
- •8.3. Функции
- •8.4. Формы. Управляющие конструкции в лисп-программе
- •8.5. Рекурсия и цикл в программах на лиспе
- •8.6. Ввод-вывод данных
- •8.7. Пример программирования на лиспе
- •8.8. Свойства символов
- •Контрольные вопросы и задания
- •§9. Введение в объектно-ориентированное программирование
- •9.1. Основные положения
- •9.2. Основы объектного программирования в системе турбо-паскаль
- •9.3. Оболочка turbo-vision
- •9.4.* Среда объектного визуального программирования delphi
- •9.8. Система объектного программирования smalltalk
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 3
- •Часть вторая глава 4 вычислительная техника
- •Введение
- •§ 1. История развития вычислительной техники
- •Начальный этап развития вычислительной техники
- •Начало современной истории электронной вычислительной техники
- •Поколения эвм
- •1.4. Персональные компьютеры
- •1.5. И не только персональные компьютеры...
- •1.6. Что впереди?
- •Контрольные вопросы
- •§2. Архитектура эвм
- •2.1. О понятии «архитектура эвм»
- •1.2. Классическая архитектура эвм II принципы фон неймана
- •2.3. Совершенствование и развитие внутренней структуры эвм
- •2.4. Основной цикл работы эвм
- •2.5. Система команд эвм и способы обращения к данным
- •Контрольные вопросы
- •§3. Архитектура микропроцессоров
- •3.1. История развития микропроцессоров
- •3.3. Внутренняя организация микропроцессора
- •3.3. Работа микропроцессора с памятью. Методы адресации
- •3.4. Форматы данных
- •3.5. Обработка прерываний
- •3.6. Работа микропроцессора с внешними устройствами
- •3.7. Пример: система команд процессоров семейства pdp
- •Контрольные вопросы и задания
- •§4. Учебная модель микрокомпьютера
- •4.1. Структура учебного микрокомпьютера
- •4.2. Система команд
- •4.3. Адресация данных
- •4.4. Работа с внешними устройствами
- •4.5. Примеры программ
- •4.6. Некоторые справочные данные по е-97
- •Контрольные вопросы и задания
- •§ 5. Внешние устройства эвм: физические принципы и характеристики
- •5.1. Внешние запоминающие устройства
- •5.2. Устройства ввода информации
- •5.3. Устройства вывода информации
- •Контрольные вопросы и задания
- •§ 6. Логические основы функционирования эвм
- •6.1. Логика высказываний. Элементарные логические функции
- •6.2. Схемная реализация элементарных логических операций. Типовые логические узлы
- •63. Пример электронной реализации логического элемента
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 4
- •Глава 5 компьютерные сети и телекоммуникации введение
- •§ 1. Локальные сети
- •1.1. Аппаратные средства
- •1.2. Конфигурации локальных сетей и организация обмена информацией
- •1.3. Локальные сети учебного назначения
- •Контрольные вопросы
- •§2. Операционные системы локальных сетей
- •Контрольные вопросы ч задания
- •§3. Глобальные сети
- •3.1. Общие принципы организации
- •3.2. Аппаратные средства и протоколы обмена информацией
- •3.3. Электронная почта
- •3.4.1. Адресация и виды информации в Internet
- •3.4.2. Доступ к информации в Internet
- •3.4.3. Язык разметки гипертекстов html
- •3.4.4. Программа-оболочка Internet Explorer
- •3.4.5. Другие информационные системы в Internet
- •§ 4. Представление об операционной системе unix
- •§ 5. Использование компьютерных сетей в образовании
- •5.1. Телекоммуникации как средство образовательных информационных технологий
- •5.2. Персональный обмен сообщениями
- •5.3. Информационное обеспечение
- •5.4. Совместное решение задач
- •Глава 6 информационные системы введение
- •§ 1. Банки информации
- •1.1. Банки данных
- •1.2. Банки документов
- •1.3. Банк педагогической информации
- •§ 2. Базы данных в структуре информационных систем
- •2.1. Основные понятия
- •2.2. Проектирование баз данных
- •2.3. Представление об языках управления реляционными базами данных типа dBase
- •2.3.1. Основные элементы субд типа dBase
- •2.3.2. Создание структуры файлов базы данных
- •2.3.3. Командный язык субд
- •2.3.4. Ввод данных в базу и редактирование
- •2.3.5. Дополнительные операции
- •2.3.6. Организация системы меню
- •2.3.7. Пример создания информационной системы с помощью субд типа dBase
- •§ 3. Автоматизированные информационные системы
- •3.1. Автоматизированные системы управления
- •3.2. Информационные системы управления
- •3.2.1. Общие принципы
- •3.2.2. Информационные системы управления в образовании
- •3.3. Автоматизированные системы научных исследований
- •3.4. Системы автоматизированного проектирования
- •3.5. Геоинформационные системы
- •Контрольные вопросы
- •§4. Экспертные системы
- •Контрольные вопросы и задания
- •§ 5. Компьютерные обучающие системы
- •5.1. Основные принципы новых информационных технологий обучения
- •5.2. Типы обучающих программ
- •5.3. Компьютерное тестирование
- •5.4. Перспективные исследования в области компьютерного обучения
- •Глава 7 компьютерное математическое моделирование введение
- •§ 1. О разновидностях моделирования
- •§2. Понятие о компьютерном математическом моделировании
- •2.1. Математическое моделирование и компьютеры
- •2.2. Этапы и цели компьютерного математического моделирования
- •2.3. Классификация математических моделей
- •2.4. Некоторые приемы программирования
- •§3. Моделирование физических процессов
- •3.1. Физика и моделирование
- •3.2. Свободное падение тела с учетом сопротивления среды
- •3.3. Движение тела, брошенного под углом к горизонту. Законы подобия
- •3.4. Движение тела с переменной массой: взлет ракеты
- •3.5. Движение небесных тел
- •3.6. Движение заряженных частиц
- •3.7. Колебания математического маятника
- •3.8. Моделирование явлений и процессов в приближении сплошной среды
- •3.9. Моделирование процесса теплопроводности
- •Контрольные вопросы и задания
- •§ 4. Компьютерное моделирование в экологии
- •4.1. Экология и моделирование
- •4.2. Модели внутривидовой конкуренции
- •4.3. Логистическая модель межвидовой конкуренции
- •4.4. Динамика численности популяций хищника и жертвы
- •4.5. Имитационное моделирование динамики популяций
- •Контрольные вопросы и задания
- •§5. Глобальные модели развития человечества
- •§ 6. Моделирование случайных процессов
- •6.1. Техника стохастического моделирования
- •6.2. Моделирование случайных процессов в системах массового обслуживания
- •6.3. Различные примеры моделирования случайных процессов
- •Контрольные вопросы и задания
- •§7. Компьютерное математическое моделирование в экономике
- •7.1. Постановка зaдaчи линейного программирования
- •7.2. Симплекс-метод
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 7
- •Содержание
- •§4. Методы и искусство программирования 261
- •§ 5. Бейсик как язык операционально-проблемно-ориентированного программирования 290
- •§ 6. Введение в язык программирования си 306
-
Поколения эвм
В истории вычислительной техники существует своеобразная периодизация ЭВМ по поколениям. В ее основу первоначально был положен физико-технологический принцип: машину относят к тому или иному поколению в зависимости от используемых в ней физических элементов или технологии их изготовления. Границы поколений во времени размыты, так как в одно и то же время выпускались машины совершенно разного уровня. Когда приводят даты, относящиеся к поколениям, то скорее всего имеют в виду период промышленного производства; проектирование велось существенно раньше, а встретить в эксплуатации весьма экзотические устройства можно и сегодня.
В настоящее время физико-технологический принцип не является единственным при определении принадлежности той или иной ЭВМ к поколению. Следует считаться и с уровнем программного обеспечения, с быстродействием, другими факторами, основные из которых сведены в прилагаемую табл. 4.1.
Следует понимать, что разделение ЭВМ по поколениям весьма относительно. Первые ЭВМ, выпускавшиеся до начала 50-х годов, были «штучными» изделиями, на которых отрабатывались основные принципы; нет особых оснований относить их к какому-либо поколению. Нет единодушия и при определении признаков пятого поколения. В середине 80-х годов считалось, что основной признак этого (будущего) поколения - полновесная реализация принципов искусственного интеллекта. Эта задача оказалась значительно сложнее, чем виделось в то время, и ряд специалистов снижают планку требований к этому этапу (и даже утверждают, что он уже состоялся). В истории науки есть аналоги этого явления: так, после успешного запуска первых атомных электростанций в середине 50-х годов ученые объявили, что запуск многократно более мощных, дающих дешевую энергию, экологически безопасных термоядерных станций, вот-вот произойдет; однако, они недооценили гигантские трудности на этом пути, так как термоядерных электростанций нет и по сей день.
В то же время среди машин четвертого поколения разница чрезвычайно велика, и поэтому в табл. 4.1 соответствующая колонка разделена на на две: А и Б. Указанные в верхней строчке даты соответствуют первым годам выпуска ЭВМ. Многие понятия, отраженные в таблице, будут обсуждаться в последующих разделах учебника; здесь ограничимся кратким комментарием.
Чем младше поколение, тем отчетливее классификационные признаки. ЭВМ первого, второго и третьего поколений сегодня, в конце 90-х годов - в лучшем случае музейные экспонаты. Машина первого поколения - десятки стоек, каждая размером с большой книжный шкаф, наполненных электронными лампами, лентопротяжными устройствами, громоздкие печатающие агрегаты, и все это на площади сотни квадратных метров, со специальными системами охлаждения, источниками питания, постоянно гудящее и вибрирующее (почти как в цехе машиностроительного завода). Обслуживание - ежечасное. Часто выходящие из строя узлы, перегорающие лампы, и вместе с тем невиданные, волшебные возможности для тех, кто, например, занят математическим моделированием. Быстродействие до 1000 оп/с и память на 1000 чисел делало доступным решение задач, к которым раньше нельзя было и подступиться.
Приход полупроводниковой техники (первый транзистор был создан в 1948 г., а первая ЭВМ с их использованием - в 1956 г.) резко изменил вид машинного зала -более нормальный температурный режим, меньший гул (лишь от внешних устройств) и, самое главное, возросшие возможности для пользователя. Впрочем, непосредственного пользователя к машинам первых трех поколений почти никогда
Таблица 4.
Поколения ЭВМ
Показатель
|
Поколения ЭВМ
|
|||||
Первое 1951-1954
|
Второе 1958-I960
|
Третье 1965-1966
|
Четвертое
|
Пятое ?
|
||
А 1976-1979 |
Б 1985-? |
|||||
Элементная база процессора
|
Электронные лампы |
Транзисторы
|
Интграль-ные схемы (ИС)
|
Большие ИС (БИС)
|
СвербольшиеИС (СБИС)
|
+Оптоэлек-троника +Криоэлек-троника |
Элементная база ОЗУ
|
Электронно-лучевые трубки
|
Феррито-вые сердечники
|
Ферритовые сердечники
|
БИС
|
СБИС
|
СБИС
|
Максмальная емкость ОЗУ, байт
|
102
|
101
|
104
|
105
|
107
|
108 (?)
|
Максимальное быстродействие процессора (оп/с)
|
104
|
106
|
107
|
108
|
109 +Многопро-цессорность
|
1012 , +Многопро-цессорность
|
Языки программирования
|
Машинный код
|
+ Ассемблер
|
+ Процедурные языки высокого уровня (ЯВУ)
|
+ Новые процедурные ЯВУ
|
+Непроце-дурные ЯВУ
|
+ Новые непрцедур-ные ЯВУ
|
Средства связи пользователя с ЭВМ |
Пульт управления и перфокарты |
Перфокарты и перфоленты |
Алфавитно- цифровой терминал |
Монохром- ный графиче- ский дисплей, клавиатура |
Цветной + графический дисплей, клавиатура, «мышь» и др. |
Устройства голосовой связи с ЭВМ |
не подпускали - около них колдовали инженеры, системные программисты и операторы, а пользователь чаще всего передавал в узкое окошечко или клал на стеллаж в соседнем помещении рулон перфоленты или колоду перфокарт, на которых была его программа и входные данные задачи. Доминировал для машин первого и второго поколении монопольный режим пользования машиной и/или режим пакетной обработки; в третьем поколении добавился более выгодный экономически и более удобный для пользователей удаленный доступ - работа через выносные терминалы в режиме разделения времени.
Уже начиная со второго поколения, машины стали делиться на большие, средние и малые по признакам размеров, стоимости, вычислительных возможностей. Так, небольшие отечественные машины второго поколения («Наири», «Раздан», «Мир» и др.) с производительностью порядка 104 оп/с были в конце 60-х годов вполне доступны каждому вузу, в то время как упомянутая выше БЭСМ-6 имела профессиональные показатели (и стоимость) на 2 - 3 порядка выше.
В начале 70-х годов, с появлением интегральных технологий в электронике, были созданы микроэлектронные устройства, содержащие несколько десятков транзисторов и резисторов на одной небольшой (площадью порядка 1 см2 ) кремниевой подложке. Без пайки и других привычных тогда в радиотехнике действий на них «выращивались» электронные схемы, выполняющие функции основных логических узлов ЭВМ (триггеры, сумматоры, дешифраторы, счетчики и т.д.). Это позволило перейти к третьему поколению ЭВМ. техническая база которого - интегральные схемы.
При продвижении от первого к третьему поколению радикально изменились возможности программирования. Написание программ в машинном коде для машин первого поколения (и чуть более простое на Ассемблере) для большей части машин второго поколения является занятием, с которым подавляющее большинство современных программистов знакомятся при обучении в вузе, а потом забывают. Появление процедурных языков высокого уровня и трансляторов с них было первым шагом на пути радикального расширения круга программистов. Научные работники и инженеры сами стали писать программы для решения своих задач.
Уже в третьем поколении появились крупные унифицированные серии ЭВМ. Для больших и средних машин в США это прежде всею семейство IBM 360/370. В СССР 70-е и 80-е годы были временем создания унифицированных серии: ЕС (единая система) ЭВМ (крупные и средние машины), СМ (система малых) ЭВМ и «Электроника» (серия микро-ЭВМ). В их основу были положены американские прототипы фирм IBM и DEC (Digital Equipment Corporation). Были созданы и выпущены десятки моделей ЭВМ, различающиеся назначением и производительностью. Их выпуск был практически прекращен в начале 90-х годов, но многие из них еще используются в самых разных сферах деятельности, включая образование (например, компьютеры ДВК, БК, а также УКНЦ - аналоги мини-ЭВМ типа PDP-11 фирмы DEC).
Рис. 4.6. ЭВМ третьего поколения