Кому нужна эта книга

Это самоучитель. То есть написана книга с расчетом на то, что, изучив ее без посторонней помощи, вы сможете без посторонней помощи писать программы на Турбо-Паскале и выполнять их на компьютере тоже без посторонней помощи. Материал книги я в течение трех лет проверял на учениках-энтузиастах 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hosted by uCoz