Эрбс Х.-Э., Штольц О. Э74 Введение в программирование на языке Паскаль: Пер. с нем. - М.: Мир, 1989. — 299 с., ил ISBN 5-03-000539-0 Книга специалистов из ФРГ, посвященная популярному языку программирования Паскаль. Она написана простым языком, содержит большое число примеров, постепенно знакомящих начинающих программистов с приемами программирования на Паскале. В ней много поясняющих иллюстраций и рисунков, помогающих усвоению материала. Перевод сделан с 3-го переработанного издания. Для всех изучающих и применяющих язык Паскаль. Язык программирования Паскаль, разработанный Н. Виртом еще в 1970 г., в настоящее время получил весьма широкое распространение. Этому способствовали его простота, удобное представление всех структурных конструкций, пригодность для использования как в учебных целях, так и для написания серьезных программ, высокая степень модульности, упрощающая процесс программирования, результативность автоматической проверки составленных программ на их корректность через развитый институт типов данных, высокое быстродействие трансляторов, эффективность объектных модулей. Рассматриваемый язык программирования хорошо приспособлен для решения широкого круга задач (как математических, так и не математических). Он содержит мощные средства структурирования данных.
Язык Паскаль дисциплинирует мышление обучаемого. Многие вузы предпочитают его в качестве базового языка при изложении студентам основ применения персональных ЭВМ. Тем не менее отечественной учебной литературы по программированию на Паскале, мягко говоря, недостаточно. Это обстоятельство и побудило нас взяться за перевод предлагаемого читателю пособия.
Данная книга предназначена для самообразования и поддержки учебных курсов в высшей школе. Она написана живым языком, местами в игривом стиле. Ее содержание полностью соответствует названию.
Шаг за шагом авторы ведут читателя от полного незнания языков и приемов программирования к способности составлять серьезные программы. Основное достоинство книги — сочетание простоты с методичностью изложения. Лейтмотивом здесь является не систематическое представление языка (хотя он описан достаточно полно), а путь обучения читателя. Рассмотрение принципов программирования ведется на конкретных жизненных примерах, тематика которых близка интересам студенческой молодежи. В процессе подачи материала как бы исподволь раскрываются выразительные средства языка Паскаль. О популярности книги за рубежом свидетельствует то обстоятельство, что за короткий срок она выдержала три издания.
В процессе перевода на русский язык мы старались сохранить юмор авторов, но не всюду это удалось в полной мере в силу непереводимой игры слов языка оригинала.
В. Н. Соболев
ПРЕДИСЛОВИЕ
Зачастую программисты работают всю свою жизнь с тем языком, который они изучили первым. Причиной этому является не только вполне объясни* мая, ставшая притчей во языцех лень человеческая, но прежде всего то обстоятельство, что язык, изу ченный первым, представляет собой основу, на которой происходит конкретизация мысли, ее оформление в виде словесного выражения. С первым языком познаются не только слова и грамматика, он открывает целое мироощущение.
Никлаус Вирт (создатель языка Паскаль), 1975
На книжном рынке много пособий, написанных с целью обучения желающих языкам программирования (в том числе и языку Паскаль). Но среди них не так уж и много книг, в которых программирование рассматривается само по себе, и уж совсем мало таких, в которых методика программирования сочетается с изложением языка Паскаль. Для данной книги характерно это сочетание. Ее основным направлением является не систематика языка программирования (т. е. изложение сначала всех типов данных, а затем всех инструкций), а показ того, каким путем нужно идти читателю при обучении. Всякий раз представляются только те языковые средства, которые используются в конкретных примерах. Книг, написанных сухим академическим языком, уже предостаточно. Настоящее пособие продолжает традицию новейших американских учебников, материал изложен в юмористической манере.
Первоначально книга была задумана как пособие в помощь студентам при лекционных занятиях в вузе. Но со временем ее содержание было расширено (язык программирования Паскаль представлен теперь полностью и в соответствии с общепринятыми стандартами), обобщено (устранены локальные особенности)
ОГЛАВЛЕНИЕ
Предисловие редактора перевода .......... 5
Предисловие.................. 7
Предисловие к третьему изданию............ 9
Перед употреблением прочитать........... 10
1. Первый шаг всегда самый трудный ........ 15
1.1. Паскаль-машина и система программирования . . . 16
1.2. Наша первая программа.......... . 21
1.3. Паскаль-машина в качестве карманного калькулятора 27
1.4. Синтаксические диаграммы.......... 32
1.5. Задания для тренировки.......... . 35
2. Капля за каплей камень долбит .......... 37
2.1. Рецепты приготовления блюд: алгоритмы кулинару 38
2.2. Переменные в программе........... 42
2.3. Операции сравнения и циклы......... 44
2.4. А чем, собственно, занимается моя программа? . . 62
2.5. Задания для тренировки...........58
3. Правильные решения даются с трудом....... 61
3.1. Инструкций становится больше.........62
3.2. Перечисления в программе.......... 63
3.3. Принятие решения в программе......... 66
3.4. А типы все же есть!............. 70
3.5. Тип данных в прогнозе спортлото........ 73
3.6. Задания для тренировки.......... .75
4. Конструирование методом проб............ 78
4.1. Лучше никакой программы, чем ненадежная ... 79
4.2. Структурная схема: алгоритм из модулей ... .80
4.3. Блочно-модульный принцип в Паскале...... 84
4.4. Как конструируют циклы профессионалы..... 86
4.5. Сколько стоит этот цикл? .....,,,. 91
4.6. Еще одно повторение.............. 95
4.7. Задания для тренировки........... 96
5. Самому все изобретать не обязательно....... 97
5.1. Стандартные типы данных........... 98
5.2. Стандартные функции............ 105
5.3. Типы диапазонов.............. 109
5.4. Несколько слов о теории множеств....... 111
5.5. Задания для тренировки........... 113
в. Делай все строго по порядку........... 115
6.1. Обзор типов данных............. 116
6.2. Метод структурирования файлов........ 117
6.3. Внешние файлы: окно наружу......... 121
6.4. Эта запись и это считывание........... 126
6.5. Стандартные тексты input и output....., 130
6.6. Чтение чисел — несмотря на стандарт Паскаля. . 134
6.7. Задания для тренировки........... 135
7. Сплоченными рядами ............. 137
7.1. Массивы и индексация............ 138
7J. Оператор цикла с параметром......... 142
7.3. Время — деньги, память — тоже деньги . . . . . 144
7.4. Многомерные массивы . . . ......... 148
7.5. Задания для тренировки........... 151
8. Как образуется конгломерат........... 154
8.1. Записи и селекция данных.......... 155
8.2. С помощью WITH все получается гораздо лучше . .158
8.3. Игра со многими вариантами.......... 160
8.4. Задания для тренировки........... 163
9. Куда иголка, туда и нитка ........... 164
9.1. Электронная обработка данных: запись как компонент файла................ 165
9.2. Таблица: запись как компонент массива..... 168
9.3. Переменные строки; массив в качестве поля .... 172
9.4. Что я выиграл в лото?............ 175
9.5. Задания для тренировки........... 180
10. Объединенными усилиями . . . •........ 181
10.1. Процедуры и локальные описания....... 182
10.2. Параметры ............... 187
10.3. Функции ................ 195
10.4. Паскаль-программа как карманный калькулятор . . 198
10.5. Задания для тренировки........... 202
11. Кто порядок любит, тому лень искать ....... 204
11.1. Сортировка таблиц............. 205
11.2. Сортировка файлов ............ 210
11.3. Методы поиска.............. 215
11.4. Задания для тренировки...........220
12. Кое-что о цепочках и деревьях.......... 222
12.1. Самодельные структуры данных........223
12.2. Цепочки указателей ............225
12.3. Двоичные деревья.............230
12.4. Задания для тренировки ...........235
13. Что еще можно сказать............237
13.1. Программная документация.........238
; 13.2. Образцовая программа...........240
13.3. Заготовка впрок..............243
13.4. Что дают нам схемы массивов?........244
/ 13.5. Бесхозный оператор GOTO..........249
' 14. Паскаль UCSD для персонального компьютера apple II 250
14.1. Первый шаг нетруден............251
14.2. Различия между стандартом и Паскалем UCSD 255
14.3. Применение: подведение итогов парусной регаты . 257
Так вот где собака зарыта?.............267
Коротко о важном................281
Где что найти.....................289
Hosted by uCoz