Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум по основам программирования. Язык Паскаль

.pdf
Скачиваний:
9
Добавлен:
15.11.2022
Размер:
6.27 Mб
Скачать

Б л о к

~(

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.