- •Предисловие
- •Введение
- •Часть первая глава 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. Операционные системы для компьютеров типаibmpc
- •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
- •Содержание
- •§ 6. Введение в язык программирования си 306
- •§ 4. Компьютерное моделирование в экологии 641
- •§5. Глобальные модели развития человечества 656
- •§ 6. Моделирование случайных процессов 660
- •§7. Компьютерное математическое моделирование в экономике 675
3.4. Программные средства профессионального уровня
Каждая прикладная программа этой группы ориентируются на достаточно узкую предметную область, но проникает в нее максимально глубоко. Так функционируют АСНИ- автоматизированные системы научных исследований, каждая из которых «привязана» к определенной области науки,САПР- системы автоматизированного проектирования, каждая из которых также работает в узкой области,АСУ- автоматизированные системы управления (которых в 60 - 70 годах были разработаны тысячи).
Наконец, еще раз подчеркнем не только условность предложенной выше классификации, но и наличие пересечений. Так, каждую конкретную экспертную систему вполне можно отнести к ППО профессионального уровня; принцип гипертекста реализован в ряде авторских систем и т.д.
3.5. Организация «меню» в программных системах
Прикладные программы нацелены на широкий круг пользователей (непрограммистов) и предполагают диалоговый режим работы человека с компьютером. Широкой популярностью пользуются программы, обладающие дружественным интерфейсом, т.е. таким, который не требует от пользователя больших усилий в работе со всеми необходимыми периферийными устройствами, специальных настроек компьютера и обладает удобной системой управления и диалога.
Интерактивный режим в прикладных программах осуществляется по двум принципам: «смотри и выбирай» и «подтверждай то, что я делаю». Программы не утрачивают работоспособности при ошибках пользователя, позволяют легко и безболезненно исправлять ошибочные действия путем их отмены, а также обращаться в любой момент к контекстной помощи. Все принципы дружественного интерфейса реализуются специальной системой интерактивного (диалогового) общения компьютерной программы и пользователя, называемой «пользовательским меню» или просто «меню».
«Меню» представляет набор команд, указаний и данных, который в любой момент доступен пользователю для выбора дальнейшего действия. Указатель (курсор) имеет возможность циклически сканировать меню и управляется клавишами со стрелками и/или манипулятором «мышь». Выбор команды осуществляется установкой курсора на его пункт и нажатием клавиши ввода <Enter>, или указанием стрелки «мыши» и двойным щелчком ее клавиши. Более быстрый выбор команды может быть осуществлен нажатием специальных клавиш или их комбинацией. Как правило, в них участвуют клавиши с буквой, с которой начинается название команды. По своей организации меню представляет иерархическую структуру с системой вложенных подменю («выплывающие», «ниспадающие», «оконные» и пр.) с возможностью возврата из любого пункта в главное (основное) меню.
Меню бывает текстовым и/или графическим с комментариями по каждому своему пункту. Прикладные программы дополнительно имеют функциональное клавишное меню для быстрого выполнения каких-либо команд («горячие клавиши» -«hotkey»). Например, функциональная клавишаF1 чаще используется для экстренного вызова справочной информации (Help- помощь), клавишаF2 - для сохранения данных во внешней памяти.
Фирмы-разработчики программных средств организуют программные меню по своим стандартам и единообразно. Так, например, фирма «Борланд» практикует свой фирменный интерфейс, который легко распознается всеми программистами и пользователями, работающими в системах программирования Турбо: Турбо-Паскаль, Турбо-Бейсик, Турбо-Си и т.п. (см. выше рис.2.10). В верхней части экрана дисплея в Турбо-программах помещается горизонтально главное меню, каждый пункт которого может иметь ниспадающее подменю. В нижней части помещаются команды для функциональных клавиш («горячие» клавиши), рядом - строка статуса, которая дает комментарии к выбираемым командам меню и некоторые параметры состояния прикладной программы.
Таким образом, меню - это некоторый перечень команд (функций), которые имеются в распоряжении пользователя на различных этапах работы с программной системой.
Исторически первым видом «меню» можно считать перечень команд в виде пронумерованного списка возможных функций
Например:
1 - редактирование текста;
2-трансляция программы;
3 - выход.
Оставалось лишь выбрать режим путем нажатия клавиши с его номером и клавиши <Ввод>.
Другой вариант такого меню - ненумерованный список команд, в котором выбор нужной команды осуществляется нажатием клавиши с первой буквой ее имени.
Например:
Редактирование текста;
Трансляция программ;
Выход.
Еще один схожий способ, бывший ранее популярным - наличие справа или слева от списка стрелки, движение которой по вертикали управляется клавишами ↓ и ↑. Установив стрелку против нужной строки и нажав клавишу <Ввод>, осуществляем выбор нужной команды.
Например:
Редактирование текста;
Трансляция программ; <=
Выход.
Подобный вид меню определялся уровнем развития аппаратной и программной частей компьютера и вынужденной необходимостью ориентации на алфавитно-цифровые (символьные) дисплеи.
Дальнейшее развитие числовых меню привело к символьным меню, в которых выбор заданной функции осуществлялся с помощью ввода соответствующего символа или с помощью функциональных клавиш клавиатурыFl,F2,F3 ...
Принципиальным шагом в организации эффективных пользовательских меню стало использование графических средств. Появилась возможность создать указатель (в разных программных средах - светящийся курсор, стрелка, выделенный прямоугольник и т.п.), перемещающийся с помощью клавиш со стрелками, а выбор пункта меню осуществлять нажатием специальной клавиши, как правило, ENTERили <Пробел>.
Один из признаков дружественности меню - когда подведение указателя к некоторому элементу меню отображает комментарий функционального назначения. Например, в пункте Текстможет появиться комментарий:
Операции над текстом в целом: считывание, запись, печать
Если выбрать этот пункт меню нажатием клавиши ввода ENTER, то появится подменю команд работы с текстом.
Подобный принцип иерархии в построении меню, который включает главное (основное меню) и дерево подменю, позаимствован из организации структуры директорий (каталогов) файловой системы компьютера. Теперь появилась возможность строить не только дружественный интерфейс, но и дизайн. Возникли меню с системой «ниспадающих», «всплывающих», «многооконных» и т.д. подменю.
Современные типы меню строятся с использованием графического и символьного режимов. Символьный принцип в меню используют для выбора быстрых команд. Соответствующим командам назначаются клавиши, их комбинации или функциональные клавиши Fl ... F12.
Существует определенная традиция действий «горячих»клавиш. В частности, в большинстве программ клавиша F2 сохраняет результаты работы, комбинацияALT+Xосуществляет выход из программы и т.д.
Значительные удобства пользователю предоставляет специальный манипулятор «мышь», который позволил серьезно облегчить и предоставить комфортные условия работы. Перемещая с помощью мыши указатель, можно одним нажатием кнопки мыши вызвать требуемую функцию.
Современные программные системы построены на интерактивных меню, использующих принцип «кнопки», которые требуют от пользователя минимальных знаний и действий. В них закладывается удобный и оптимальный для работы человека диалоговый режим. Меню содержат интерактивные формы:
• с шаблоном ответа
Продолжить?Y/N
• со справочником ответа
Какой цвет назначить: черный белый красный голубой
• с назначением параметров, рис. 2.12;
• многостраничные формы, рис. 2.13.
Рис. 2.12.Пример меню с назначением параметров (меню формы печати вWord)
Рис.2.13.Пример многостраничного меню (свойства обозревателяInternetExplorer4.0)
Интерфейс современных меню строится таким образом, чтобы запрос-ответ пользователя был однозначен, прост и удобен. В силу большой значимости систем организации меню, в большинстве инструментальных сред для разработки программ предусматриваются специальные процедуры и объекты создания меню. Особенное внимание им уделяется в системах управления базами данных (СУБД), авторских системах, в объектно-ориентированных языках программирования.
При работе е прикладными программами пользователю приходится сталкиваться в первую очередь с меню. От того, как он освоил работу с его пунктами, зависит эффективность использования информационной технологии.