Оглавление
Предисловие............................................................................................................................................. 5
0.1. Кому нужна эта книга?.................................................................................................................................................................. 5
0.2. Почему Паскаль?............................................................................................................................................................................. 5
0.3. Какой из Паскалей?........................................................................................................................................................................ 6
0.4. Краткое содержание с рекомендациями................................................................................................................................... 6
Часть I. Необходимые сведения о компьютере и программе..................... 8
Глава 1. Первое представление о компьютере и программе............................................................. 9
1.1. Что умеет делать компьютер........................................................................................................................................................ 9
1.2. Что такое компьютер. Первое представление о программе............................................................................................... 9
1.3. Как человек общается с компьютером.................................................................................................................................... 11
Глава 2. Программа и программирование......................................................................................... 12
2.1. Список команд. Командный и программный режимы........................................................................................................ 12
2.2. Что важно знать о программе.................................................................................................................................................... 13
2.3. Понятие о процедуре. Может ли робот поумнеть?............................................................................................................. 13
2.4. Программа для компьютера на машинном языке................................................................................................................ 14
2.5. Языки программирования........................................................................................................................................................... 15
2.6. Пример настоящей программы для компьютера на языке Лого...................................................................................... 16
2.7. Последовательность работы программиста на компьютере........................................................................................... 17
2.8. Основные приемы программирования.................................................................................................................................... 18
Глава 3. Устройство и работа компьютера........................................................................................ 21
3.1. Как устроен и работает компьютер......................................................................................................................................... 21
3.2. Устройство и размеры оперативной памяти......................................................................................................................... 23
3.3. Взаимодействие программ в памяти........................................................................................................................................ 23
3.4. Внешние устройства компьютера............................................................................................................................................ 24
3.5. Кодирование информации в компьютере............................................................................................................................... 27
Часть II. Программирование на Паскале – первый уровень..................... 29
Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины 30
4.1. Процедура вывода Write............................................................................................................................................................. 30
4.2. Первая программа на Паскале.................................................................................................................................................. 31
4.3. Выполняем первую программу на компьютере................................................................................................................... 32
4.4. Процедура вывода WriteLn. Курсор........................................................................................................................................ 33
4.5. Переменные величины. Оператор присваивания................................................................................................................. 34
4.6. Описания переменных (VAR)..................................................................................................................................................... 35
4.7. Что делает оператор присваивания с памятью.................................................................................................................... 36
4.8. Имена переменных........................................................................................................................................................................ 37
4.9. Математика. Запись арифметических выражений.............................................................................................................. 38
4.10. Вещественные числа в Паскале.............................................................................................................................................. 39
4.11. Порядок составления простой программы.......................................................................................................................... 40
4.12. Операторы ввода данных ReadLn и Read......................................................................................................................... 42
4.13. Интерфейс пользователя........................................................................................................................................................... 43
4.14. Строковые переменные............................................................................................................................................................. 44
4.15. Диалог с компьютером.............................................................................................................................................................. 45
4.16. Константы..................................................................................................................................................................................... 45
Глава 5. Разветвляющиеся программы.............................................................................................. 46
5.1. Условный оператор IF или как компьютер делает выбор............................................................................................... 46
5.2. Правила записи оператора IF................................................................................................................................................... 48
5.3. Составной оператор..................................................................................................................................................................... 49
5.4. Ступенчатая запись программы............................................................................................................................................... 50
5.5. Вложенные операторы if. Сложное условие в операторе if. Логические операции.................................................. 50
5.6. Символьный тип данных Char.................................................................................................................................................. 53
5.7. Оператор варианта case.............................................................................................................................................................. 53
Глава 6. Циклические программы...................................................................................................... 56
6.1. Оператор перехода GOTO. Цикл. Метки................................................................................................................................ 56
6.2. Выход из цикла с помощью if.................................................................................................................................................... 58
6.3. Оператор цикла repeat................................................................................................................................................................. 59
6.4. Оператор цикла while................................................................................................................................................................... 60
6.5. Отличия операторов repeat и while........................................................................................................................................... 61
6.6. Оператор цикла for....................................................................................................................................................................... 61
Глава 7. Типичные маленькие программы....................................................................................... 64
7.1. Вычислительная циклическая программа............................................................................................................................. 64
7.2. Роль ошибок.................................................................................................................................................................................... 65
7.3. Счетчики.......................................................................................................................................................................................... 65
7.4. Сумматоры...................................................................................................................................................................................... 67
7.5. Вложение циклов в разветвления и наоборот....................................................................................................................... 68
7.6. Вложенные циклы......................................................................................................................................................................... 68
7.7. Поиск максимального из чисел................................................................................................................................................. 69
Глава 8. Процедуры.............................................................................................................................. 71
8.1. Компьютер звучит......................................................................................................................................................................... 71
8.2. Простейшие процедуры.............................................................................................................................................................. 72
8.3. Процедуры и операторы............................................................................................................................................................. 75
8.4. Стандартные процедуры Halt и Exit....................................................................................................................................... 75
Глава 9. Графика................................................................................................................................... 77
9.1. Стандартные модули................................................................................................................................................................... 77
9.2. Стандартный модуль Graph, текстовый и графический режимы.................................................................................... 77
9.3. Рисуем простейшие фигуры....................................................................................................................................................... 78
9.4. Работа с цветом. Заливка. Стиль линий и заливки.............................................................................................................. 81
9.5. Используем в рисовании переменные величины.................................................................................................................. 83
9.6. Использование случайных величин при рисовании........................................................................................................... 84
9.7. Движение картинок по экрану................................................................................................................................................... 85
Глава 10. Создаем первую большую программу.............................................................................. 87
10.1. Постановка задачи..................................................................................................................................................................... 87
10.2. Программирование по методу “сверху-вниз”..................................................................................................................... 87
10.3. Сначала – работа над структурой программы................................................................................................................. 89
10.4. Зачем переменные вместо чисел............................................................................................................................................ 91
10.5. Записываем программу целиком............................................................................................................................................ 92
10.6. Порядок описания переменных, процедур и других конструкций Паскаля.............................................................. 95
10.7. Управление компьютером с клавиатуры. Функции ReadKey и KeyPressed............................................................... 96
10.8. Буфер клавиатуры...................................................................................................................................................................... 97
10.9. Гетерархия. Задание на игру “Торпедная атака”.......................................................................................................... 100
Часть III. Программирование на Паскале – второй уровень................. 103
Глава 11. Алфавит и ключевые слова Паскаля.............................................................................. 104
11.1. Алфавит....................................................................................................................................................................................... 104
11.2. Ключевые слова........................................................................................................................................................................ 104
11.3. Использование пробела.......................................................................................................................................................... 105
Глава 12. Работа с разными типами данных Паскаля.................................................................. 106
12.1. Список типов.............................................................................................................................................................................. 106
12.2. Числовые типы.......................................................................................................................................................................... 107
12.3. Массивы...................................................................................................................................................................................... 108
12.4. Определения констант............................................................................................................................................................ 111
12.5. Типизированные константы.................................................................................................................................................. 112
12.6. Придумываем типы данных.................................................................................................................................................. 112
12.7. Логический тип Boolean......................................................................................................................................................... 113
12.8. Перечислимые типы................................................................................................................................................................. 113
12.9. Ограниченный тип (диапазон).............................................................................................................................................. 114
12.10. Действия над порядковыми типами.................................................................................................................................. 115
12.11. Символьный тип Char. Работа с символами................................................................................................................... 116
12.12. Строковый тип String. Работа со строками..................................................................................................................... 117
12.13. Записи........................................................................................................................................................................................ 118
12.14. Множества............................................................................................................................................................................... 120
12.15. Расположение информации в оперативной памяти. Адреса..................................................................................... 122
12.16. Ссылки....................................................................................................................................................................................... 123
Глава 13. Процедуры и функции с параметрами........................................................................... 125
13.1. Процедуры с параметрами.................................................................................................................................................... 125
13.2. Функции....................................................................................................................................................................................... 127
13.3. Подпрограммы. Локальные и глобальные переменные................................................................................................ 128
13.4. Массивы как параметры........................................................................................................................................................ 129
13.5. Параметры-значения и параметры-переменные............................................................................................................. 130
13.6. Индукция. Рекурсия. Стек....................................................................................................................................................... 131
13.7. Сортировка................................................................................................................................................................................. 133
Глава 14. Строгости Паскаля............................................................................................................ 135
14.1. Структура программы............................................................................................................................................................ 135
14.2. Структура процедур и функций........................................................................................................................................... 136
14.3. Выражения................................................................................................................................................................................. 137
14.4. Совместимость типов.............................................................................................................................................................. 137
14.5. Форматы вывода данных....................................................................................................................................................... 138
14.6. Переполнение ячеек памяти.................................................................................................................................................. 139
14.7. Дерево типов.............................................................................................................................................................................. 139
14.8. Синтаксисические диаграммы Паскаля............................................................................................................................. 140
Глава 15. Другие возможности Паскаля.......................................................................................... 147
15.1. Работа с файлами данных..................................................................................................................................................... 147
15.2. Вставка в программу фрагментов из других программных файлов.......................................................................... 149
15.3. Модули программиста............................................................................................................................................................ 150
15.4. Дополнительные процедуры и функции модуля Graph................................................................................................. 152
15.5. Копирование и движение областей экрана...................................................................................................................... 152
15.6. Вывод текста в графическом режиме.................................................................................................................................. 154
15.7. Управление цветом в текстовом режиме (модуль CRT)................................................................................................ 154
15.8. Работа с датами и временем (модуль DOS)....................................................................................................................... 155
15.9. Нерассмотренные возможности Паскаля.......................................................................................................................... 156
15.10. Миг между прошлым и будущим....................................................................................................................................... 157
Часть IV. Работа в Паскале на компьютере............................................. 159
Что нужно знать и уметь к моменту выполнения первой программы?............................................................................... 159
Порядок работы в Паскале.............................................................................................................................................................. 159
(1) Запуск Паскаля............................................................................................................................................................................. 159
(2) Начало работы. Ввод программы. Выход из Паскаля...................................................................................................... 161
(3) Сохранение программы на диске. Загрузка программы с диска.................................................................................... 162
(4) Выполнение программы............................................................................................................................................................. 163
(5) Исправление ошибок. Отладка программы.......................................................................................................................... 164
Работа с несколькими окнами......................................................................................................................................................... 168
Копирование и перемещение фрагментов текста...................................................................................................................... 169
Обзор популярных команд меню................................................................................................................................................... 169
Создание исполнимых файлов (exe)............................................................................................................................................. 170
Приложения. Справочный материал.......................................................... 171
П1. Как вводить программу в компьютер или работа с текстом в текстовом редакторе.............................................. 171
П2. Файловая система магнитного диска.................................................................................................................................... 174
П3. Список некоторых операций, процедур и функций Паскаля......................................................................................... 176
П4. Произношение английских слов............................................................................................................................................. 177
П5. Решения заданий......................................................................................................................................................................... 180
П6. Список литературы.................................................................................................................................................................... 207
П7. Предметный указатель.............................................................................................................................................................. 208
От автора
Хочу выразить искреннюю признательность Алексею Михайловичу Епанешникову, внимательно прочитавшему рукопись и сделашему по ее содержанию больше сотни замечаний и нашедшему множество ошибок, одну из которых мне не хочется вспоминать.
Также хочу поблагодарить Алексея Яковлевича Архангельского, просмотревшего рукопись и сделавшего существенные предложения по направленности ее содержания.