Это самоучитель. То есть написана книга с расчетом на то, что, изучив ее без посторонней помощи, вы сможете без посторонней помощи писать программы
на Турбо-Паскале и выполнять их на компьютере тоже без посторонней помощи. Материал книги я в течение трех лет
проверял на учениках-энтузиастах 6-11 классов 345 московской школы, школ
"Феникс" и "Эдвайс". Проверка,
как мне кажется, закончилась нормально - вопросов по содержанию материала
ребята задавали мало (что было мне приятно), а программировать научились.
Ответы же на их вопросы я включил в книгу.
Если вы хотите научиться программировать, но никогда в жизни не написали ни одной программы и плохо
представляете, как компьютер устроен, читайте эту книгу с начала до конца – вы и
программировать научитесь, и об устройстве компьютера узнаете все, что нужно.
Если вы школьник или студент, первый год изучающий
программирование, и вам предстоит сдавать
экзамен, то изучив книгу и выполнив задания, вы вполне
можете рассчитывать на отличную оценку. Исключение – студенты, преподаватели
которых уже на первом году обучения предпочитают что-нибудь более
глубокое или специфичное (например, работу с адресами или оптимальные
сортировки). Этого в моей книге нет. Здесь только основы. (Но без них и глубину
со спецификой не поймешь.)
Если у вас под рукой нет компьютера, не очень огорчайтесь. Книга снабжена
достаточным количеством заданий и решений к ним. Сверяя свои программы с приведенными в ответе, вы всегда сможете сказать, на
правильном ли вы пути.
Книга учит не только писать
программы на листе бумаги, но и выполнять
программы на компьютере. Все, что вам нужно знать заранее, это как включать
компьютер и как запускать Турбо-Паскаль. Все остальное в книге объяснено.
Если вы опытный программист, но хотите изучить
еще и Турбо-Паскаль, вам эта книга не нужна - изложение рассчитано на
начинающих.
Если вы хотите узнать
Турбо-Паскаль в полном объеме, то
имейте в виду, что данная книга для этого не предназначена. Во-первых, потому, что
Турбо-Паскаль настолько велик, что в полном объеме во всем мире мало кому
нужен. Во-вторых, потому, что для полного его изложения понадобились бы тысячи
страниц текста. Цель данной книги не в полноте охвата, а в том, чтобы вы
поскорее научились программировать и использовать основные средства
Турбо-Паскаля.
Методично излагая материал, автор
постарался иллюстрировать его задачами не только полезными, но и интересными
для начинающих. Если вы энтузиаст компьютерных игр и прочих программ, способных
вызвать удивление и уважение ваших друзей, если вы хотите поскорее сами
научиться создавать собственные игры и такие программы, то здесь вы узнаете
интересные и полезные для вас вещи:
- Как заставить компьютер
"разговаривать" с человеком (раздел 4.15)
- Как сделать свой
"калькулятор" (5.7)
- Как научить компьютер звучать
(мелодии, милицейская сирена, морзянка, мотор - 8.1, 8.2)
- Как научить компьютер
определять, кто из ваших друзей имеет самый тонкий слух (8.1)
- Как программировать свои рисунки,
узоры (глава 9)
- Как заставить рисунки двигаться
по экрану (глава 9)
- Как запрограммировать свой
мультфильм (глава 10)
- Как поставить пароль на свою
программу, чтобы никто, кроме вас, не мог ее запустить (10.7)
- Как запрограммировать свою игру-стрелялку
"Торпедная атака" (10.9)
- Как создать свой графический
редактор (10.9)
- Как зашифровать и расшифровать
секретное послание (12.12)
- Как создавать свои базы данных
(12.13, 15.1)
- Как сохраняться в играх (15.1)
- Как запрограммировать
определитель быстроты вашей реакции (15.8)
- Как приступить к
программированию морского боя, крестиков-ноликов, шашек и подобных игр (15.10)
Автор приложил специальные усилия,
чтобы изложение было понятным. Все объясняется на примерах. Метод изложения -
от частного к общему.
Рассмотрение почти каждой темы
заканчивается заданиями на составление программы (всего таких заданий - 135).
Подавляющее большинство заданий снабжено ответами, так что читатель может
эффективно контролировать усвоение материала и уровень своего мастерства.
От автора…………………………………………………………………………………………………………..1
Предисловие............................................................................................................................................ 2
0.1. Кому предназначена эта книга?..................................................................................................................................................... 2
0.2. Почему Паскаль?............................................................................................................................................................................... 3
0.3. Какой из Паскалей?........................................................................................................................................................................... 4
0.4. Краткое содержание с рекомендациями..................................................................................................................................... 4
Часть I. Необходимые сведения о компьютере и программе....................................... 5
Глава 1. Первое представление о компьютере и
программе............................................................ 6
1.1. Что умеет делать компьютер.......................................................................................................................................................... 6
1.2. Что такое компьютер. Первое представление о программе.................................................................................................. 6
1.3. Как человек общается с компьютером........................................................................................................................................ 7
Глава 2. Программа и программирование............................................................................................ 9
2.1. Список команд. Командный и программный режимы............................................................................................................ 9
2.2. Что важно знать о программе...................................................................................................................................................... 10
2.3. Понятие о процедуре. Может ли робот поумнеть?................................................................................................................ 10
2.4. Программа для компьютера на машинном языке.................................................................................................................. 10
2.5. Языки программирования............................................................................................................................................................ 11
2.6. Пример настоящей программы для компьютера на языке
Лого........................................................................................ 13
2.7. Последовательность работы программиста на
компьютере................................................................................................ 14
2.8. Основные приемы программирования..................................................................................................................................... 14
Глава 3. Устройство и работа компьютера........................................................................................ 16
3.1. Как устроен и работает компьютер............................................................................................................................................ 16
3.2. Устройство и размеры оперативной памяти............................................................................................................................ 17
3.3. Взаимодействие программ в памяти.......................................................................................................................................... 17
3.4. Внешние устройства компьютера............................................................................................................................................... 18
3.5. Кодирование информации в компьютере................................................................................................................................. 21
Часть II. Программирование на Паскале – первый уровень....................................... 23
Глава 4. Простые (линейные) программы. Операторы
ввода-вывода. Переменные величины 24
4.1. Процедура вывода Write................................................................................................................................................................ 24
4.2. Первая программа на Паскале..................................................................................................................................................... 24
4.3. Выполняем первую программу на компьютере..................................................................................................................... 25
4.4. Подробности Write. Процедура вывода WriteLn. Курсор..................................................................................................... 26
4.5. Переменные величины. Оператор присваивания................................................................................................................... 27
4.6. Описания переменных (VAR)....................................................................................................................................................... 27
4.7. Что делает оператор присваивания с памятью......................................................................................................................... 28
4.8. Имена переменных......................................................................................................................................................................... 29
4.9. Математика. Запись арифметических выражений.................................................................................................................. 29
4.10. Вещественные числа в Паскале.................................................................................................................................................. 30
4.11. Порядок составления простой программы............................................................................................................................. 31
4.12. Операторы ввода данных ReadLn и
Read............................................................................................................................... 31
4.13. Интерфейс пользователя.............................................................................................................................................................. 33
4.14. Строковые переменные............................................................................................................................................................... 34
4.15. Диалог с компьютером................................................................................................................................................................ 35
4.16. Константы........................................................................................................................................................................................ 35
Глава 5. Разветвляющиеся программы............................................................................................... 36
5.1. Условный оператор IF или
как компьютер делает выбор................................................................................................... 36
5.2. Правила записи оператора IF....................................................................................................................................................... 38
5.3. Составной оператор........................................................................................................................................................................ 39
5.4. Ступенчатая запись программы.................................................................................................................................................. 40
5.5. Вложенные операторы if. Сложное условие в
операторе if. Логические операции....................................................... 41
5.6. Символьный тип данных Char...................................................................................................................................................... 43
5.7. Оператор варианта case................................................................................................................................................................. 44
Глава 6. Циклические программы...................................................................................................... 46
6.1. Оператор перехода GOTO. Цикл. Метки.................................................................................................................................... 46
6.2. Выход из цикла с помощью if....................................................................................................................................................... 48
6.3. Оператор цикла repeat.................................................................................................................................................................... 49
6.4. Оператор цикла while...................................................................................................................................................................... 50
6.5. Отличия операторов repeat и while.............................................................................................................................................. 51
6.6. Оператор цикла for.......................................................................................................................................................................... 51
Глава 7. Типичные маленькие программы....................................................................................... 54
7.1. Вычислительная циклическая программа................................................................................................................................. 54
7.2. Роль ошибок..................................................................................................................................................................................... 55
7.3. Счетчики............................................................................................................................................................................................ 55
7.4. Сумматоры....................................................................................................................................................................................... 57
7.5. Вложение циклов в разветвления и наоборот........................................................................................................................... 58
7.6. Вложенные циклы........................................................................................................................................................................... 59
7.7. Поиск максимального из чисел................................................................................................................................................... 60
Глава 8. Процедуры............................................................................................................................... 61
8.1. Компьютер звучит........................................................................................................................................................................... 61
8.2. Простейшие процедуры................................................................................................................................................................ 63
8.3. Процедуры и операторы - в чем разница.................................................................................................................................. 65
8.4. Стандартные процедуры Halt и Exit............................................................................................................................................. 66
Глава 9. Графика.................................................................................................................................... 67
9.1. Стандартные модули....................................................................................................................................................................... 67
9.2. Стандартный модуль Graph, текстовый и графический
режимы......................................................................................... 67
9.3. Рисуем простейшие фигуры........................................................................................................................................................ 68
9.4. Работа с цветом. Заливка. Стиль линий и заливки................................................................................................................... 70
9.5. Используем в рисовании переменные величины................................................................................................................... 71
9.6. Использование случайных величин при рисовании............................................................................................................... 73
9.7. Движение картинок по экрану..................................................................................................................................................... 74
Глава 10. Создаем первую большую программу................................................................................ 76
10.1. Постановка задачи......................................................................................................................................................................... 76
10.2. Программирование по методу “сверху-вниз”....................................................................................................................... 76
10.3. Сначала – работа над структурой программы....................................................................................................................... 77
10.4. Зачем переменные вместо чисел.............................................................................................................................................. 79
10.5. Записываем программу целиком............................................................................................................................................. 81
10.6. Порядок описания переменных, процедур и других
конструкций Паскаля................................................................... 82
10.7. Управление компьютером с клавиатуры. Функции
ReadKey и KeyPressed.................................................................. 84
10.8. Буфер клавиатуры......................................................................................................................................................................... 85
10.9. Задание на игру “Торпедная атака”.......................................................................................................................................... 88
Часть III. Программирование на Паскале – второй уровень..................................... 90
Глава 11. Алфавит и ключевые слова Паскаля................................................................................. 91
11.1. Алфавит........................................................................................................................................................................................... 91
11.2. Ключевые слова............................................................................................................................................................................. 91
11.3. Использование пробела............................................................................................................................................................... 92
Глава 12. Работа с разными типами данных Паскаля...................................................................... 93
12.1. Список типов.................................................................................................................................................................................. 93
12.2. Числовые типы............................................................................................................................................................................... 94
12.3. Массивы.......................................................................................................................................................................................... 95
12.4. Определения констант.................................................................................................................................................................. 99
12.5. Типизированные константы..................................................................................................................................................... 100
12.6. Придумываем типы данных...................................................................................................................................................... 101
12.7. Логический тип Boolean............................................................................................................................................................ 101
12.8. Перечислимые типы................................................................................................................................................................... 102
12.9. Ограниченный тип (диапазон).................................................................................................................................................. 103
12.10. Действия над порядковыми типами...................................................................................................................................... 104
12.11. Символьный тип Char. Работа с символами....................................................................................................................... 105
12.12. Строковый тип String. Работа со строками......................................................................................................................... 106
12.13. Записи.......................................................................................................................................................................................... 107
12.14. Множества.................................................................................................................................................................................. 112
12.15. Расположение информации в оперативной памяти.
Адреса......................................................................................... 114
12.16. Ссылки.......................................................................................................................................................................................... 114
Глава 13. Процедуры и функции с параметрами............................................................................ 117
13.1. Процедуры с параметрами.............................................................................................................................................................
13.2. Функции......................................................................................................................................................................................... 119
13.3. Подпрограммы. Локальные и глобальные переменные................................................................................................... 120
13.4. Массивы как параметры............................................................................................................................................................ 122
13.5. Параметры-значения и параметры-переменные................................................................................................................ 122
13.6. Индукция. Рекурсия. Стек.......................................................................................................................................................... 123
13.7. Сортировка.................................................................................................................................................................................... 125
Глава 14. Строгости Паскаля............................................................................................................. 127
14.1. Структура программы............................................................................................................................................................... 127
14.2. Структура процедур и функций.............................................................................................................................................. 128
14.3. Выражения.................................................................................................................................................................................... 129
14.4. Совместимость типов................................................................................................................................................................. 129
14.5. Форматы вывода данных........................................................................................................................................................... 130
14.6. Переполнение ячеек памяти..................................................................................................................................................... 131
14.7. Дерево типов................................................................................................................................................................................ 131
14.8. Синтаксисические диаграммы Паскаля................................................................................................................................. 132
Глава 15. Другие возможности Паскаля........................................................................................... 139
15.1. Работа с файлами данных.......................................................................................................................................................... 139
15.2. Вставка в программу фрагментов из других
программных файлов............................................................................... 142
15.3. Модули программиста............................................................................................................................................................... 142
15.4. Дополнительные процедуры и функции модуля Graph..................................................................................................... 144
15.5. Копирование и движение областей экрана........................................................................................................................... 145
15.6. Вывод текста в графическом режиме..................................................................................................................................... 146
15.7. Управление цветом в текстовом режиме (модуль CRT).................................................................................................... 147
15.8. Работа с датами и временем (модуль DOS).......................................................................................................................... 147
15.9. Нерассмотренные возможности Паскаля............................................................................................................................. 148
15.10. Миг между прошлым и будущим......................................................................................................................................... 150
Часть IV. Работа в Паскале на компьютере.................................................................. 152
Что нужно знать и уметь к моменту выполнения первой
программы?................................................................................. 152
Порядок работы в Паскале................................................................................................................................................................. 152
(1) Запуск Паскаля................................................................................................................................................................................ 152
(2) Начало работы. Ввод программы. Выход из Паскаля............................................................................................................ 154
(3) Сохранение программы на диске. Загрузка программы с
диска........................................................................................ 154
(4) Выполнение программы............................................................................................................................................................... 155
(5) Исправление ошибок. Отладка программы............................................................................................................................. 156
Работа с несколькими окнами........................................................................................................................................................... 160
Копирование и перемещение фрагментов текста........................................................................................................................ 161
Обзор популярных команд меню..................................................................................................................................................... 161
Создание исполнимых файлов (exe)................................................................................................................................................. 162
Приложения. Справочный материал.................................................................................. 163
П1. Как вводить программу в компьютер или работа с
текстом в текстовом редакторе.................................................... 163
П2. Файловая система магнитного диска........................................................................................................................................ 166
П3. Список некоторых операций, процедур и функций
Паскаля............................................................................................. 168
П4. Произношение английских слов................................................................................................................................................ 169
П5. Решения заданий............................................................................................................................................................................ 172
П6. Список литературы....................................................................................................................................................................... 199
П7. Предметный указатель................................................................................................................................................................. 200