/
Теги: политика программирование информатика программное обеспечение издательство питер язык программирования паскаль
ISBN: 978-5-4237-0170-3
Год: 2011
Текст
ББК
УДК
32.973.2-018.1 я7
004.43(075)
У93
Д. Ушаков, Т. Юркова
У93
Паскаль для школьников. 2-е изд.
-
СПб.: Питер,
2011. -
320
с.:
ил.
ISBN 978-5-4237-0170-3
Эта книга
-
не учебник, а скорее помощник в освоении языка программирова
ния Паскаль, с которым на уроках информатики знакомятся все школьники. Она
состоит
из
уроков,
посвященных
практически м
вопросам
программирования
и решения задач. Многочисленные примеры позволяют лучше понять, как разра
ботать алгоритм, написать собственную программу, правильно оформить ее текст.
Советы и примечания помогают ч~гтателю обрапгть внимание на важные детали,
позволяя избежать подводных камней и более эффективно писать программы.
Книга подготовлена преподавателями информатики в школе, имеющими боль
шой опыт многолетней практической работы.
Во второе издание добавлено несколько новых глав, посвященных записям, ди
на:мическн:м переменным, стеку, очереди :н списка~·1. Также освещена одна из са
мых сложных тем в программнровании
-
построение рекурсивных алгоритмов.
ББК
32.973.2-018.1я7
УДК
004.43(075)
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы
то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых изда
тельством как надежные. Тем не менее, имея в виду возможные человеческие или техниче
ские ошибки, издательство не может гарантировать абсолютную точность и полноту приводи
мых сведений и не несет ответственности за возможные ошибки, связанные с использовани
ем книги.
ISBN 978-5-4237-0170-3
© 000
Издательство "Питер",
2011
Содержание
Предисловие ко второму изданию
Вступлен ие
................................... 1 6
От издательства
ТЕМА
1.
.......... . .. . .. . .. . .. . .. . .. . ......... . .. . .. . ... 16
Как написать простую программу
на Паскале
Урок
................ 15
Выводим сообщение на экран дисплея
.................
... . .. . .. . ....
Этапы создания компьютерной программы ...............
Урок 1.3. Оформление текста на экране ..........................
Выводы ........................................................
Контрольные вопросы ... . .. . .. . .. . .. . ......... . .. . .. . .. . .. . ....
Урок
ТЕМА
1.1.
1.2.
................................. 17
Как заложить эту программу в компьютер
2. Как включить в работу числовые данные
Урок
2.1.
18
19
20
28
34
34
.... 36
Начнем с простого: целые числа
............ . .. . .. . ....
.....................................
Тип Integer. Оператор присваивания. Вывод на экран .....
Операции с типом Integer ................................
Стандартные функции типа Integer .............. . .. . ....
Понятие переменной
37
38
38
40
42
Как представляются переменные целого типа
в памяти компьютера
Урок
......................... . .. . ....
...............
Описание вещественного типа данных (real) ..............
Форматы записи вещественных переменных ..............
2.2.
Включаем в работу вещественные числа
43
45
45
46
6
Содержание
Вещественные операции
................................. 46
................ . .. . .. . ... 47
математических выражений ...................... 48
Стандартные функции типа геа!
Запись
Как представляются переменные вещественного типа
в памяти компьютера
Урок
2.3.
................................. 50
Как совместить переменные целого
и вещественного типа
.......................................
...................................
Правила приоритета в выполняемых действиях .... . .. . ...
Действия над данными разных типов .....................
2.4. Ввод и вывод данных ..................................
Вводим переменные с клавиатуры ........................
Красивый вывод на экран ...................... . .. . .. . ...
П реобразование типов
Урок
51
51
52
53
56
57
57
Задание значений переменных датчиком
случайных чисел
........................... . .. . .. . ...
.................
Выводы ........................................................
Контрольные вопросы ..........................................
Урок
ТЕМА
2.5.
3.
Урок
Зачем нужны константы в программе?
Учимся работать с символами
............. 66
Как компьютер понимает символы
67
67
68
70
71
72
3.1.
.....................
ASCII .......................... . .. . ....
Описание типа Char и стандартные функции .............
Урок 3.2. Тип Char - порядковый тип! ..........................
Выводы ........................................................
Контрольные вопросы ..........................................
Кодовая таблица
ТЕМА
4.
Урок
61
62
64
64
Ажордж Буль и его логика
4.1.
Необходим еще один тип
-
................ 73
логический!
.... . .. . .. . ....
........................
Операции отношения ....................................
Ввод-вывод булевских переменных ......................
Урок 4.2. Логические (булевские) операции .... . .. . .. . .. . .. . ....
Логическое умножение (конъюнкция) ....................
Логическое сложение (дизъюнкция) .....................
Исключающее ИЛИ (сложение по модулю 2) ..... . .. . ....
Логическое отрицание (инверсия) ........................
Логический тип данных (Воо!еап)
74
75
75
76
76
76
77
77
78
Содержание
7
Применение логических операций в программе
...........
.................. . .. . ...
Выводы ........................................................
Контрольные вопросы ..........................................
Приоритет логических операций
ТЕМА
5.
Анализ ситуации и последовательность
...... 82
выполнения команд
Урок
5.1.
Проверка условия и ветвление в алгоритме
Полная и неполная форма оператора
............. 83
if ......... . .. . .. . ... 84
Оформление программ
..................................
.....................................
Урок
Ветвление по ряду условий (оператор case) ............
Выводы ................................................. . .. . ...
Контрольные вопросы ..........................................
Урок
ТЕМА
5.2.
5.3.
6.
Урок
78
80
81
81
Блоки операторов
Многократно повторяющиеся действия
6.1.
86
88
92
96
96
...... 98
Оператор цикла
for .................................... 99
100
Оператор fOJ' с последовательным уменьшением счетчика 101
Урок 6.2. Применение циклов со счетчиком ..................... 101
Цикл в цикле ........................................... 102
Трассировка ............................................ 103
Вычисление суммы ряда ................................ 105
Выводы .......................... . .. . ......... . .. . .. . .. . .. . ... 108
Контрольные вопросы ......................................... 109
Оператор
ТЕМА
7.
for
с последовательным увеличением счетчика
Циклы с условием
.................................
........................
Приближенное вычисление суммы бесконечного ряда ...
Возведение числа в указанную целую степень ...........
Урок 7.2. Цикл с постусловием .................................
Описание цикла с постусловием ........ . .. . .. . .. . .. . ...
Использование циклов repeat и while ....................
Относительность выбора операторов while и repeat ......
Выводы .......................................................
Контрольные вопросы ... . .. . .. . .. . .. . ......... . .. . .. . .. . .. . ...
Урок
7.1.
..................... 11 О
Цикл с предусловием
Описание цикла с предусловием
111
111
112
115
119
120
120
123
129
129
8
Содержание
ТЕМА
8.
Урок
Массивы
8.1.
-
структурированный тип данных
131
Хранение однотипных данных в виде таблицы
........ 132
.............. 133
.................... 133
Основные действия по работе с массивами
Описание массива на языке Паскаль
Заполнение массива случайными числами
и вывод массива на экран
............................ 134
...... . .. . ..... 137
элемента массива ................. 140
Создание пользовательского типа данных
Поиск максимального
Вычисление суммы и количества элементов
массива с заданными свойствами
Урок
8.2.
Поиск в массиве
.................... 144
...................................... 148
Определение наличия в массиве отрицательного
элемента с использованием флажка
.................. 148
Определение наличия в массиве отрицательных
элементов путем вычисления их количества
..........
...
Урок 8.3. Двумерные массивы ..................................
Выводы .......................................................
Контрольные вопросы .........................................
Нахождение номера отрицательного элемента массива
ТЕМА
9.
149
150
154
156
157
Вспомогательные алгоритмы.
Процедуры и функции. Структурное
программирование
Урок
9.1.
......................... 158
Конструирование алгоритма «сверху вниз!>
........... 159
П рактическая задача с использованием
вспомогательных алгоритмов
Урок
9.2.
........................ 160
Пример работы с функцией: Поиск максимального
элемента
................................................... 167
....................................................... 168
Контрольные вопросы ......................................... 169
Выводы
ТЕМА
10. Как работать с символьными строками .... 170
Урок
10.1.
Работаем с цепочками символов: тип
Описание строковой переменной
Основные действия со строками
Урок
10.2.
String .......... 171
................. . .. . ... 171
........................ 172
Некоторые функции и процедуры Паскаля
для работы со строками
.................................... 173
Содержание
9
Использование библиотечных подпрограмм работы
со строками
............................................ 173
....................................................... 175
Контрольные вопросы ......................................... 175
Выводы
ТЕМА 11. Процедуры и функции с параметрами
Урок
11.1.
.... 176
Простые примеры использования подпрограмм
с пара метрами
.............................................
..................
Формальные и фактические параметры .................
Простейшие функции с параметрами ........... . .. . .....
Урок 11.2. Способы передачи параметров .......................
Выводы .......................................................
Контрольные вопросы .........................................
Простейшие процедуры с параметрами
177
177
179
179
181
183
184
ТЕМА 12. Файлы: сохраняем результаты работы
.... 185
до следующего раза
Урок
12.1.
Как работать с текстовым файлом
Открытие файла для чтения
Открытие файла для записи
Урок
12.2.
.......... . .. . ..... 186
............................ 186
............................. 188
Сохранение двумерного массива чисел
в текстовом файле
..........................................
........
Сохранение массива чисел в текстовом файле ....... . ...
Дописывание информации в конец файла ...............
Выводы .......................................................
Контрольные вопросы .........................................
Сохранение числовых данных в текстовом файле
Тема 13. Графический режим работы. МОДУЛЬ Graph
Урок
13.1.
Включаем графический режим работы
199
...............
........................
Переключение в графический режим видеоадаптера .....
Урок 13.2. Продолжаем изучать возможности модуля Graph ....
Рисование линий средствами модуля Graph .............
Рисование окружностей средствами модуля Graph ... . ...
Выводы .......................................................
Контрольные вопросы .........................................
Особенности работы с графикой
192
192
192
196
197
197
200
200
201
203
203
205
206
207
1О
Содержание
Тема
14.
Операторы, изменяющие естественный ХОД
программы
Урок
14.1.
............................... 208
Использование оператора безусловного
перехода
goto ..............................................
.....
Оператор break .........................................
Оператор сопtiШlе .... . .. . .. . .. . .. . .. . ......... . .. . .....
Выводы .......................................................
Контрольные вопросы .........................................
Урок
Тема
14.2.
15.
Урок
Операторы, изменяющие ход выполнения цикла
Группируем данные: записи
Тема
15.1.
15.2.
............. 216
Описание типа данных
record ........................
............
Создание собственного типа данных - запись ..... . .....
Массив записей .........................................
Оператор при соединения with ..........................
Пример выбора структуры данных ......................
Записи записей ...................... . ......... . .. . .....
Выводы .......................................................
Контрольные вопросы и задания ...............................
Урок
16.
Урок
Урок
Урок
Урок
Когда и как разумно использовать записи
Аинамические переменные
16.1.
16.2.
16.3.
21 О
213
213
214
215
215
218
220
220
220
221
223
224
225
225
............. 226
Выделение памяти
..................................
..............................................
Указатели ........................... . .. . .. . .. . .. . ...
Указатели на отдельные переменные ....................
Указатели на блоки переменных .........................
16.4. Динамическое выделение памяти ....................
New и Dispose ................................... . .. . ...
Динамическое выделение памяти для массивов ..........
GеtМеш и FгееМеш .....................................
Адреса
227
229
230
230
232
232
233
235
236
Обращение к элементам массива, созданного
динамически
........................................
..............................
Выводы .......................................................
Контрольные вопросы .........................................
Массив переменной длины
237
238
241
242
Содержание
Тема
17.
Урок
Аинамические структуры данных. Стек
Тема
17.1.
17.2.
..... 244
Опишем тип данных
................................
......
Добавление элемента в стек (Push) ......................
Извлечение элемента из стека (Рор) ............ . .. . .....
Проверка стека на пустоту (StасkIsЕшрtу) ..............
Урок 17.3. Использование стека ................................
Программирование стека при помощи массива ..........
Выводы ................................................. . .....
Контрольные вопросы и задания ...............................
Урок
18.
Создание стека и основные операции со стеком
Тема
18.1.
18.2.
.................................. 258
Принцип работы и описание типа данных
... . .. . .....
......................
Добавление элемента в очередь (EnQueue) ...............
Извлечение элемента из очереди (DeQueue) .... . .. . .....
Проверка очереди на пустоту (QuеuеIsЕшрtу) ...........
Урок 18.3. Использование очереди .............................
П рограммирование очереди при помощи массива ........
Выводы ................................................... . ...
Контрольные вопросы .........................................
Урок
19.
Основные операции с очередью
Урок
Урок
259
261
261
263
264
264
267
269
269
Аинамические структуры данных.
Однонаправленный список
Урок
245
247
248
251
252
253
255
256
256
Аинамические структуры данных.
Очередь
Урок
11
19.1.
19.2.
................... 270
Описание типа данных и принцип работы
...........
Основные операции с однонаправленным списком ...
Последовательный просмотр всех элементов списка .....
Помещение элемента в список ..........................
Удаление элемента из списка ............ . .. . .. . .. . .. . ...
19.3. Обработка списков ..................................
271
272
272
273
275
276
Целесообразность использования однонаправленного
списка .............................................. 278
....................................................... 280
Контрольные вопросы ......................................... 280
Выводы
Содержание
12
Тема
20.
Урок
Урок
Урок
Урок
Рекурсия
20.1.
20.2.
20.3.
20.4.
задачи
Урок
20.5.
............................ 281
Описание принципа
................................. 282
................................... 285
рекуррентной подпрограммы ............. 287
Ханойские башни
Структура
Пример рекуррентного решения нерекуррентной
..................................................... 288
Пример рекуррентного решения рекуррентной
задачи
..................................................... 289
.................. . .. . .. . .. . .. . .. . .. . ............ . ..... 291
Контрольные вопросы ......................................... 291
Выводы
Приложение
1. Элементы блок-схем .............. 292
Приложение
2.
Задачи
......................... 295
Iпtеgег. Описание. Ввод. Вывод. Операции .....................
Real. Описание. Ввод. Вывод. Операции и функции .... . .. . .....
Real. Запись и вычисление выражений .........................
Char. Описание. Ввод. Вывод. Функции ........................
Вооlеап. Запись выражений ....................................
Вооlеап. Вычисление выражений ............... . .. . .. . .. . .. . ...
Н. Простые сравнения. Мiп/шах/средний ......................
Н. Уравнения и неравенства с параметрами .....................
For. Перечисления .............................................
For. Вычисления со счетчиком цикла ...........................
For. Перебор со сравнениями ..................................
While-Repeat. Поиск ...........................................
While-Repeat. ряды ...... . .. . .. . .. . .. . ......... . .. . .. . .. . .. . ...
Графика. Прямые ..............................................
Графика. Окружности .........................................
Массивы. Заполнение, вывод, сумма/количество ...............
Массивы. Перестановки ............................. . .. . .. . ...
Массивы. Поиск ...............................................
Массивы. Проверки ...........................................
Массивы. Максимумы ............ . .. . ......... . .. . .. . .. . .. . ...
Подпрограммы без параметров .................................
Строки. Часть 1 ................................................
Строки. Часть II ...............................................
296
296
297
298
298
299
300
300
300
301
302
302
303
303
304
305
305
306
307
307
307
308
309
Содержание
Подпрограммы с параметрами. Часть
1 ........ . ................
II .... . .. . .. . .. . .. . .. . ....
Подпрограммы с параметрами. Часть III .......................
Файлы ............................... . .. . .. . . . .......... . ....
Однонаправленный список
........ . ..... . ..... . .. . .. . ....
Рекурсия .....................................................
Подпрограммы с параметрами. Часть
13
309
310
310
311
312
313