Практикум по основам программирования. Язык Паскаль
.pdfБ л о к |
~( |
LABEL У |
£ |
|
Целое |
без |
з н ака |- |
|
|||||
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|||||
|
— |
|
о |
- |
т— |
|
|
|
|
|
|
|
!□ |
|
|
C 0 N |
5 |
— |
И м я |
|---- — Н |
Конст ант а |
||||||
|
|
|
|
|
|
|
|
о |
|
— |
|
||
|
|
ТУРЕ |
) — р з -j |
И м я |
|-— |
© ■ |
|
|
Тип |
|
|||
|
|
|
|
|
|
|
|
|
о |
- |
|
|
|
|
|
VAR |
У |
|
Имя |
|
|
|
|
|
77//Т |
|
|
|
|
|
|
|
о |
|
■ о - |
ф |
- |
|
|
||
|
|
|
|
|
|
£/70/г |
|
|
|
|
|||
|
|
|
■ф |
- |
ф |
- |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||||
-^-(P R O C E D U R)E -- - - * |
И м я |
|
Список парамет ров |
|
|||||||||
—»~(FLINCTI 0~N~*)—* j Имя |
|
Список |
|
|
|
|
Имя __ |
||||||
|
параметров |
|
|
|
т ипа |
||||||||
|
|
|
|
|
|
|
|
|
|
||||
1 ~ * |
С |
3EGIN ) — т— Н Операт ор |
|
|
< ™ |
> |
|
||||||
|
|
|
|
|
1— |
© |
- |
|
|
|
|
|
|
П р о гр ам м а |
|
|
|
|
|
|
|
|
|
|
|
|
|
( P R O G R A M |
У * |
Им я |
|
|
|
|
“ TK |
D |
K |
D |
* . Блок ю |
Восьмеричный |
Международное Наименование знака и ввод знака |
эквивалент кода |
обозначение зна с клавиатуры терминала |
|
ка |
000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
040
041
042
043
044
045
046
047
NUL SOH STX ЕТХ EOT ENQ АСК BEL BS
н т
LF
V T
FF
CR
SO
SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP
I
«
Я
%
&
»
Пусто Начало заголовка; СУ/А
Начало текста; СУ/В Конец текста; СУ/С Конец передачи; СУД) Кто там; СУ/Е Подтверждение; СУД Звонок; СУ/G
Возврат на шаг, СУ/Н Горизонтальная табуляция; СУ/1 Перевод строки; СУ/J или ПС Вертикальная табуляция; СУ/К Перевод формата; СУД Возврат каретки; СУ/М или ВК
Русский регистр; СУ/N или РУС Латинский регистр; СУ/О или ЛАТ Авторегистр 1; СУ/Р
Управление устройством; СУ/Q Управление устройством; СУ/R Управление устройством; СУД Стоп; СУ/Т
Отрицание; СУ/U Синхронизация; СУ/V Конец блока; СУ/W Аннулирование; СУ/Х
Конец носителя; СУ/Y Замена; С У Д Авторегистр 2; СУ/Ш Разделитель файлов; СУ/Э Разделитель групп; СУ/Щ
Разделитель записей; СУ/Ч Разделитель элементов; СУ/ - Пробел Восклицательный знак Кавычки Номер
Знак денежной единицы Процент Коммерческое И Апостроф
152
Восьмеричный |
Международное |
Наименование знака и ввод знака |
эквивалент кода |
обозначение зна с клавиатуры терминала |
|
|
ка |
|
050 |
( |
Левая круглая скобка |
051 |
) |
Правая круглая скобка |
052 |
* |
Звездочка |
053 |
+ |
Плюс |
054 |
|
Запятая |
055 |
|
Минус |
056 |
|
Точка |
057 |
/ |
Наклонная черта |
060 |
0 |
Арабские цифры |
061 |
1 |
|
062 |
2 |
|
063 |
3 |
|
064 |
4 |
|
065 |
5 |
|
066 |
6 |
|
067 |
7 |
|
070 |
8 |
|
071 |
9 |
Двоеточие |
072 |
|
|
073 |
* |
Точка с запятой |
074 |
< |
Меньше |
075 |
= |
Равно |
076 |
> |
Больше |
077 |
7 |
Вопросительный знак |
100 |
@ |
Коммерческое ЭТ |
101 |
А |
Буквы латинского алфавита |
102В
103С
104D
105Е
106F
107 |
G |
110Н
111I
112J
113К
114L
115М
116N
117О
Восьмеричный |
Международное Наименование знака и ввод знака |
эквивалент кода |
обозначение зна с клавиатуры терминала |
|
ка |
120Р
121Q
122R
123S
124Т
125и
126V
127W
130X
131Y
132Z
133[
134\
135]
136f
137-
140ю
141А
142Б
143ц
144д
145Е
146Ф
147Г
150X
151и
152й
153к
154л
155м
156н
157 |
о |
160п
161я
162р
163с
164т
165У
166ж
167в
Левая квадратная скобка Обратная наклонная черта Правая квадратная скобка Стрелка; клавиша 1 Подчеркивание Буквы русского алфавита
154
Восьмеричный |
Международное Наименование знака и ввод знака |
эквивалент кода |
обозначение эна- с клавиатуры терминала |
|
ка |
170Ь
171Ы
1723
173Ш
174Э
175Щ
176Ч
177 DEL Вычеркивание, забой; ЗБ
П.З. Диагностика ошибок трансляции (ОС РАФОС)
MISSING END - пропущено служебное слово END.
INVALID CHARACTER- в |
строке встретился недопустимый |
|
знак. |
|
|
LABELS MUST BE INTEGERS - в качестве меток допустимо ис |
||
пользовать только |
целые числа. |
|
MISSING LABEL DEFINITION - отсутствует определение метки. |
||
UNDEFINED |
FORWARD |
PROCEDURE OR FUNCTION - недопу |
стимо использовать процедуру или функцию прежде, чем они бу дут определены.
MISSING BEGIN - пропущено служебное слово BEGIN. MISSING'.' AT PROGRAM END - в конце программы отсутству
ет точка.
ALL VAR DEFINITIONS PRECEDE PROCEDURE DEFINITIONS - оп ределения всех переменных должны находиться в программе пе ред определением процедур.
BAD ORIGIN FOR VARIABLE - недопустимое начальное значе ние для переменной.
BAD VARIABLE LIST - недопустимый список переменных. BAD TYPE - недопустимое определение типа.
BAD LABEL - недопустимая метка.
BAD FUNCTION NAME - недопустимое имя для функции. BAD PROCEDURE NAME - недопустимое имя для процедуры.
BAD FUNCTION RESULT TYPE - недопустимый тип результата функции.
'.' USED INSTEAD OF - точка использована вместо точки с запятой.
MISSING ')' AT END OF PARAMETR LIST - пропущена левая скобка в конце списка формальных параметров.
BAD PARAMETER - недопустимый параметр.
BAD SCALAR TYPE - недопустимый скалярный тип. BAD SUBRANGE - недопустимое указание интервала.
BAD TYPE SPECIFICATION - недопустимое определение типа. ARRAY INDEX TYPE ERROR - ошибка в задании типа индекса
для массива.
BAD RECORD - недопустимая запись.
BAD FIELD LIST - недопустимое определение списка полей. FIELD LIST MUST BE IN PARENTHESES - список полей должен
указываться в скобках.
BAD VARIANT - недопустимый вариант.
DUPLICATE FIELD NAME - повторно используется имя для по
ля записи.
BAD CONSTANT - недопустимая константа.
LABEL NOT DECLARED - используется неопределенная метка. UNDEFINED SYMBOL - неопределенный символ.
MISSING SEMI - COLON - пропущена точка с запятой.
INVALID DECLARATION. PROBABLY MISSING END - недопусти мый оператор; возможно, что пропущено спужебное слово END.
INVALID SYMBOL - недопустимый символ.
DUPLICATE CASE LABEL - повторно используется метка в операторе CASE.
MISSING END IN CASE STATEMENT - пропущено служебное слово END в операторе CASE.
BAD CASE LABEL - недопустимая метка выбора в операторе
CASE.
MISSING UNTIL - пропущено служебное слово UNTIL.
BAD FOR STATEMENT - неправильный формат оператора цик ла FOR.
BAD WITH STATEMENT - недопустимый оператор WITH. TOO MANY ARGUMENS - слишком много аргументов. BAD ARGUMENT - недопустимый аргумент.
TOO FEW ARGUMENTS - указано мало аргументов.
FILE VARIABLE MISSING - пропущена файловая переменная. BAD FILE NAME - недопустимое имя файла.
ILLEGAL ASSIGNMENT - недопустимое присваивание. BAD EXPRESSION - ошибка в выражении.
STRANGE |
T - B A D |
SET OR MISSING ARRAY |
D E F - странное |
появление |
что может быть связано с недопустимым множест |
||
вом или неопределенным |
массивом. |
|
|
UNDEFINED OPERAND - ASSUMING INTEGER - неопределенный |
|||
операнд; компилятор присваивает ему тип INTEGER. |
|
||
BAD SET ELEMENT - недопустимый элемент множества. |
|||
BAD INDEX TYPE - недопустимый тип индекса. |
|
||
ILLEGAL OPERATOR - недопустимый оператор. |
|
||
ILLEGAL |
TYPE OF OPERAND - недопустимый тип |
операнда. |
INCOMPATIBLE ARRAYS - несовместимые массивы.
ARRAY INDEX OUT OF RANGE - индекс массива выходит за
заданные |
границы. |
|
|
|
ALL |
CHARACTERS IGNORED UNTIL...-в с е знаки |
до |
иг |
|
норируются. |
|
|
|
|
EXPECTED |
MISSING. ASSUMED WHERE INDICATED - дол |
|||
жен присутствовать |
показано подразумеваемое |
положение |
СПИСОК ЛИТЕРАТУРЫ
1.Грехем Р. Практический курс языка ПАСКАЛЬ для микроЭВМ: Пер. с англ. - М.: Радио и связь, 1986.
2.Грогоно П. Программирование на языке ПАСКАЛЬ: Пер. с англ. - М.: Мир, 1982.
3.Йенсен К., Вирт Н. ПАСКАЛЬ. Руководство для пользовате ля и описание языка: Пер. с англ. - М.: Финансы и статистика, 1982.
4.Керниган Б., Плоджер Ф. Инструментальные средства про граммирования на языке ПАСКАЛЬ* Пер. с англ. - М.: Радио и связь, 1985.
5.Перминов О.Н. Программирование на языке ПАСКАЛЬ. - М.: Радио и связь, 1988.
6.Прайс Д. Программирование на языке ПАСКАЛЬ. Практиче ское руководство. - М.: Мир, 1987.
7.Форсайт Р. ПАСКАЛЬ для всех. - М.: Машиностроение, 1986.
8.Уилсон И.Р., Эддиман А.М. Практическое введение в ПАС КАЛЬ. - М.: Радио и связь, 1983.
Предисловие |
|
|
|
|
|
|
|
3 |
|
Введение |
|
|
|
|
|
|
|
|
4 |
Г л а в а |
1. Стандартные |
типы данных |
|
|
|
5 |
|||
1.1. Структура |
программы |
|
|
|
|
5 |
|||
1.2. Описание стандартных типов данных |
|
|
6 |
||||||
1.3. Выражения и оператор присваивания |
|
|
9 |
||||||
1.4. Организация ввода/вывода |
|
|
|
11 |
|||||
1.5. Вопросы и упражнения |
|
|
|
|
16 |
||||
1.6. Практические |
задания |
|
. . . |
|
|
18 |
|||
|
Задание |
1. |
Организация |
ввода/вывода. Изучение |
стан |
|
|||
|
дартных |
типов данных |
|
...................... |
. |
. 1 |
8 |
||
|
Задание 2. Вычисление выражений. Использование стан |
||||||||
|
дартных функций |
|
|
|
|
21 |
|||
Г л а в а |
2. Сложные |
операторы |
|
|
|
|
25 |
||
2.1. Условный оператор. Составной оператор |
|
|
25 |
||||||
2.2. Операторы |
цикла |
|
|
|
|
28 |
|||
2.3. Вопросы |
и упражнения |
|
|
|
|
32 |
|||
2.4. Практические |
задания |
. |
. |
|
|
33 |
|||
|
Задание |
1. |
Решение уравнений |
инеравенств |
|
|
33 |
||
|
Задание 2. Построение таблицфункций |
|
|
34 |
|||||
|
Задание |
3. |
Организация |
циклов |
вп р о гр а м м е ................... 36 |
||||
|
Задание 4. |
Использование сложных операторов для орга |
|||||||
|
низации символьной обработки |
|
|
|
39 |
||||
Г л а в а |
3. Перечислимые и ограниченные типы данных |
|
|
40 |
|||||
3.1. Перечислимые скалярные типы |
|
|
|
40 |
|||||
3.2. Ограниченные типы |
|
|
|
|
42 |
||||
3.3. Оператор |
варианта |
|
|
|
|
43 |
|||
3.4. Вопросы и упражнения . . |
|
|
|
45 |
|||||
35. |
Практическое |
задание. Работа сперечислимыми |
типами |
47 |
|||||
Г л а в а |
4. Регулярные |
типы данных |
|
|
|
50 |
|||
4.1. |
Массивы |
|
|
|
|
|
|
|
50 |
4.2. |
Упакованные массивы |
|
|
|
|
51 |
4.3. Ввод/вывод элементов массивов |
|
. 52 |
|||
4.4. Вопросы и упражнения . |
|
. 55 |
|||
4.5. Практические |
задания...................................................... |
|
.5 6 |
||
|
Задание 1. Работа с массивами чисел.......................... |
.5 6 |
|||
|
Задание 2. Работа с упакованными |
символьными массива |
|||
|
ми ...................................................................................... |
|
|
|
59 |
|
Задание 3. Работа с массивами и перечислимыми типа |
|
|||
|
ми данных |
|
|
61 |
|
Г л а в а |
5. Комбинированные типы. Оператор присоединения |
64 |
|||
5.1. |
Записи . |
|
. . . |
|
.64 |
5.2. |
Оператор |
присоединения |
|
65 |
|
5.3. |
Записи с |
вариантами |
|
. 66 |
|
5.4. |
Вопросы |
и упражнения |
|
68 |
|
5.5. |
Практические |
задания. . . |
................................... 69 |
||
|
Задание 1. Работа с комбинированными типами данных |
. 69 |
|||
|
Задание 2. Использование комбинированных типов при |
||||
|
обработке статистических данных . |
72 |
|||
Г л а в а |
6. Множественные типы данных |
|
76 |
||
6.1. Переменные множественных типов |
|
76 |
|||
6.2. Операции над множествами . |
|
78 |
|||
6.3. Вопросы |
и упражнения |
|
. 80 |
||
6.4. Практические |
задания .......................... |
. |
.8 2 |
||
|
Задание 1. Работа с множественными типами данных |
82 |
|||
|
Задание 2. Операции над множествами .................... |
.8 3 |
|||
Г л а в а |
7. Файловые типы данны х............................................................... |
|
87 |
||
7.1. Операции для работы с последовательными файлами . . |
. 87 |
||||
7.2. Текстовые файлы ............. |
|
93 |
|||
7.3. Вопрсоы и упражнения . . . |
|
.9 5 |
|||
7.4. Практические |
задания........................................................................ |
|
97 |
||
|
Задание 1. Работа с временными файлами.......................... |
97 |
|||
|
Задание 2. Работа с внешними файлами.................................. |
98 |
|||
|
Задание 3. Работа с упорядоченными файлами . |
100 |
|||
Г л а в а |
8. Ссылочные типы данных . . . |
|
ЮЗ |
||
8.1. Динамические переменные................................................ |
|
ЮЗ |
|||
8.2. Динамические списковые структуры |
104 |
||||
8.3. Вопросы и упражнения................ |
|
107 |
|||
8.4. Практические |
задания................................................................... |
|
109 |
||
|
Задание |
1. Формирование списка |
с одновременным упо |
||
|
рядочением его элементов................................... |
|
109 |
||
|
Задание 2. Исключение элементов из списка . . . |
. 1 1 2 |
|||
|
Задание 3. Выполнение операций |
над списковыми струк |
|||
|
турами |
|
|
|
114 |
Г л а в а |
9. Процедуры |
и функции |
|
|
|
9.1. Описание процедуры. Оператор процедуры |
116 |
||||
9.2. Описание функции. Указатель функции |
119 |
||||
9.3. Вопросы и упражнения . . . . |
|
120 |
|||
9.4. Практические |
задания . |
|
121 |
Задание 1. Организация программ с использованием |
|
|||
функций |
|
|
|
121 |
Задание 2. |
Организация |
программ с использованием |
про |
|
цедур . . . |
|
• |
124 |
|
Задание 3. |
Вычисление |
определенного интеграла мето |
||
дом прямоугольников |
|
126 |
||
Г л а в а 10. Отладка |
программ |
|
131 |
|
10.1. Типы ошибок . |
. |
. |
131 |
|
10.2. Синтаксическая отладка |
программ |
131 |
||
10.3. Логическая |
отладка |
программ |
134 |
|
Ответы к упражнениям. |
|
|
137 |
|
Приложения . . |
. |
|
|
146 |
П.1. Синтаксические диаграммы |
146 |
|||
П.2. Набор знаков семиразрядного кода КОИ-7 . . |
152 |
|||
П.З. Диагностика ошибок трансляции (ОС РАФОС) |
155 |
|||
Список литературы |
|
|
|
157 |
Учебное издание
Васюкова Нина Дмитриевна Тюляева Вера Викторовна
ПРАКТИКУМ
ПО ОСНОВАМ ПРОГРАММИРОВАНИЯ Язык ПАСКАЛЬ
Заведующая редакцией Н.И. Хрусталева. Редактор С.М. Оводова.
Младший редактор Е.В. Судьенкооа, Г.Г. Бунина. Художник В.В. Горбу-
зов. Художественный редактор В.И. Мешалкин. Технический редактор
Г.А. Фетисова. Корректор Г.И. Кострикова. Оператор М.Н. Паскарь
ИБ №8285 Изд. №СТД - 658. Сдано в набор 14.02.90. Подп. в печать 22.01.91.
Формат 84x108 1/з2* Бум. тип. |
ц° 2. |
Гарнитура Таймс. Печать |
высокая. |
|||
Объем 8,40 уел. печ. л. 8,61 |
уел. |
кр.-отт. 7,70 |
уч.-изд. л. |
Ъ*раж |
||
180 000 |
экз. Зак. № 52. Цена 90 коп. |
|
|
|
||
Издательство "Высшая школа", 101430, Москва, ГСП-4, |
Неглинная ул., |
|||||
Д. 29/14. |
|
|
|
|
|
|
Набрано на персональных компьютерах издательства. |
|
|
||||
Отпечатано в Ярославском |
полиграфкомбинате |
при |
Госкомпечати |
|||
СССР |
150049, Ярославль, ул. |
Свободы, 97. |
|
|
|