- •Предисловие
- •Введение
- •Часть первая глава 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.2. Двоичная система счисления
Особая значимость двоичной системы счисления в информатике определяется тем, что внутреннее представление любой информации в компьютере является двоичным, т.е. описываемым наборами только из двух знаков (0 и 1).
Конкретизируем описанный выше способ в случае перевода чисел из десятичной системы в двоичную. Целая и дробная части переводятся порознь. Для перевода целой части (или просто целого) числа необходимо разделить ее на основание системы счисления и продолжать делить частные от деления до тех пор, пока частное не станет равным 0. Значения получившихся остатков, взятые в обратной последовательности, образуют искомое двоичное число. Например:
Остаток
25 : 2 = 12 (1),
12 : 2 = 6 (0),
6 : 2 = 3 (0),
3 : 2 = 1 (1),
1 : 2 = 0 (1).
Таким образом
25(10)=11001(2).
Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной {периодической) двоичной. Например:
0,73 • 2 = 1,46 (целая часть 1),
0,46 • 2 = 0,92 (целая часть 0 ),
0,92 • 2 = 1,84 (целая часть 1),
0,84 • 2 = 1,68 (целая часть 1) и т.д.
В итоге
0,73(10) =0,1011...(2).
Над числами, записанными в любой системе счисления, можно; производить различные арифметические операции. Так, для сложения и умножения двоичных чисел необходимо использовать табл. 1.5.
Таблица 1.5. Таблицы сложения и умножения в двоичной системе
Заметим, что при двоичном сложении 1 + 1 возникает перенос единицы в старший разряд - точь-в-точь как в десятичной арифметике:
3.3. Восьмеричная и шестнадцатиричная системы счисления
С точки зрения изучения принципов представления и обработки информации в компьютере, обсуждаемые в этом пункте системы представляют большой интерес.
Хотя компьютер «знает» только двоичную систему счисления, часто с целью уменьшения количества записываемых на бумаге или вводимых с клавиатуры компьютера знаков бывает удобнее пользоваться восьмеричными или шестнадцатиричными числами, тем более что, как будет показано далее, процедура взаимного перевода чисел из каждой из этих систем в двоичную очень проста - гораздо проще переводов между любой из этих трех систем и десятичной.
Перевод чисел из десятичной системы счисления в восьмеричную производится (по аналогии с двоичной системой счисления) с помощью делений и умножений на 8. Например, переведем число 58,32(10):
58 : 8 = 7 (2 в остатке),
7 : 8 = 0 (7 в остатке).
0,32 • 8 = 2,56,
0,56 • 8 = 4,48,
0,48-8=3,84,...
Таким образом,
58,32(10) =72,243... (8)
(из конечной дроби в одной системе может получиться бесконечная дробь в другой).
Перевод чисел из десятичной системы счисления в шестнадцатеричную производится аналогично.
С практической точки зрения представляет интерес процедура взаимного преобразования двоичных, восьмеричных и шестнадцатиричных чисел. Для этого воспользуемся табл. 1.6 чисел от 0 до 15 (в десятичной системе счисления), представленных в других системах счисления.
Для перевода целого двоичного числа в восьмеричное необходимо разбить его справа налево на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент. Например:
11011001= 11011001, т.е. 11011001(2) =331(8).
Заметим, что группу из трех двоичных цифр часто называют «двоичной триадой».
Перевод целого двоичного числа в шестнадцатиричное производится путем разбиения данного числа на группы по 4 цифры - «двоичные тетрады»:
1100011011001 = 1 1000 1101 1001, т.е. 1100011011001(2)= 18D9(16).
Для перевода дробных частей двоичных чисел в восьмеричную или шестнадцатиричную системы аналогичное разбиение на триады или тетрады производится от точки вправо (с дополнением недостающих последних цифр нулями):
0,1100011101(2) =0,110 001 110 100 = 0,6164(8),
0,1100011101(2) = 0,1100 0111 0100 = 0,C74(16).
Перевод восьмеричных (шестнадцатиричных) чисел в двоичные производится обратным путем - сопоставлением каждому знаку числа соответствующей тройки (четверки) двоичных цифр.
Таблица 1.6 Соответствие чисел в различных системах счисления
Десятичная |
Шестнадцатиричная |
Восьмеричная |
Двоичная |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
10 |
3 |
3 |
3 |
11 |
4 |
4 |
4 |
100 |
5 |
5 |
5 |
101 |
6 |
6 |
6 |
110 |
7 |
7 |
7 |
111 |
8 |
8 |
10 |
1000 |
9 |
9 |
11 |
1001 |
10 |
А |
12 |
1010 |
11 |
В |
13 |
L011 |
12 |
С |
14 |
1100 |
13 |
D |
15 |
1101 |
14 |
E |
16 |
1110 |
15 |
F |
17 |
1111 |
Преобразования чисел из двоичной в восьмеричную и шестнадцатиричную системы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой и объясняется популярность восьмеричной и шестнадцатиричной систем в вычислительной технике и программировании.
Арифметические действия с числами в восьмеричной и шестнадцатиричной системах счисления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо воспользоваться соответствующими таблицами. Для примера табл. 1.7 иллюстрирует сложение и умножение восьмеричных чисел.
Рассмотрим еще один возможный способ перевода чисел из одной позиционной системы счисления в другую - метод вычитания степеней.В этом случае из числа последовательно вычитается максимально допустимая степень требуемого основания, умноженная на максимально возможный коэффициент, меньший основания; этот коэффициент и является значащей цифрой числа в новой системе. Например, число 114(10):
114 - 26 = 114 – 64 = 50,
50 - 25 = 50 – 32 = 18,
18 - 24 = 2,
2 - 21 = 0.
Таким образом, 114(10)= 1110010(2).
114 – 1 ∙ 82 = 114 – 64 = 50,
50 – 6 ∙ 81 = 50 – 48 = 2,
2 – 2 ∙ 8° = 2 – 2 = 0.
Итак, 114(10)= 162(8).
Таблица 1.7 Таблицы сложения и умножения в восьмеричной системе
Сложение Умножение
Контрольные вопросы
1. В чем отличие позиционной системы счисления от непозиционной?
2. Каковы способы перевода чисел из одной системы счисления в другую?
3. В чем заключается преимущество использования восьмеричной и шестнадцатиричной систем счисления в вычислительной технике?
4. Как выглядят таблицы сложения и умножения в шестнадцатиричной системе?