目 录 1
第一章概述 1
1.1程序的作用和起源 1
1.2程序语言的发展 1
1.3 “模块”(MODULE)概念 3
1.4词法、句法和语义分析 3
1.5 MODULA—2词汇 4
1.6语法图 5
1.7 MODULA—2程序结构 6
1.8第一个程序一如何写一个字符串 7
1.9书写程序的一些基本原则 8
小结 8
第二章数字 10
2.1整型和实型数 10
2.2操作数 10
2.3 MathLibo模块 11
2.4算术表达式 13
2.5怎样写数字 13
2.6程序举例 14
小结 15
第三章常量、变量和数据类型 17
3.1 常量 17
3.2变量和数据类型 17
3.3整型、正整数型和实型量 18
3.4赋值语句 19
3.5类型转换 20
小结 22
3.6一个例子—两个数值的交换 22
第四章布尔类型和字符类型 24
4.1布尔常数和操作数 24
4.2布尔表达式 25
4.3关系操作符 26
4.4两个程序的例子 29
4.5字符类型 29
小结 34
第五章基本控制语句 35
5.1 IF语句 35
5.2 WHILE语句 38
5.3 REPEAT语句 42
5.4程序例子 45
小结 46
第六章输入/输出模块 47
6.1读操作的作用 47
6.2文本输入 50
6.3 InOut和 RealInOut模块 51
6.4程序例子 52
小结 54
第七章枚举和子界类型 55
7.1枚举类型 55
7.2枚举类型中的次序 57
7.3子界类型 58
7.4程序例子 61
小结 61
第八章其它控制语句 62
8.1 LOOP语句 62
8.2 FOR语句 65
8.3 CASE语句 68
8.4程序例子 72
小结 74
第九章数组类型 75
9.1一维数组 75
9.2程序例子 78
9.3串类型 80
9.4程序例子—Palindromes 83
9.5多维数组 83
9.6程序例子 85
小结 87
第十章过程和局部变量 88
10.1过程概念 88
10.2局部变量 93
10.3参数 97
10.4一个程序例子 101
小结 103
第十一章参数传送和辖域 104
11.1变量和值参数 104
11.2开域数组参数 107
11.3辖域规则 109
小结 111
第十二章 函教过程和过程类型 113
12.1函数过程概念 113
12.2一个完整的例子 117
12.3过程类型 117
12.4一个完整的例子 122
小结 123
13.1递归概念 124
第十三章递归 124
13.2 Hanoi塔 125
13.3快速分类和交换 129
13.4间接递归和逐降递归 130
小结 134
第十四章模块 135
14.1模块概念 135
14.2定义模块 136
14.3实现模块 137
14.5一个完整的例子一栈 139
14.4分离编译 139
小结 141
第十五章局部模块 142
15.1局部模块的概念 142
15.2输入/输出清单 143
15.3辖域规则 144
15.4并列定义的局部模块 146
15.5局部定义到一个过程的模块 147
15.6一个完整的例子 148
小结 151
第十六章记录 153
16.1记录概念 153
16.2记录和域的管理 155
16.3 WITH语句 157
16.4一个数据提取的例子:多重栈的应用 159
16.5带有可变部份的记录 162
小结 166
17.1集合类型和位设置类型 167
17.2集合常量和变量 167
第十七章集合 167
17.3集合操作符 169
17.4标准过程INCL和EXCL 173
17.5处理位设置模块的一个例子 174
小结 177
第十八章文件 178
18.1文件的概念 178
18.2访问文件的分量 179
18.3正文文件 179
18.4一个程序例子: Bold F文 180
小结 182
第十九章动态数据结构 183
19.1指针 183
19.2动态分配 184
19.3排序 186
19.4一种具有局部模块的排序处理的完整的例子 191
19.5栈和fifo队列一两个排序处理模块 194
19.6二叉树 197
小结 203
20.2进程 204
第二十章进程 204
20.1并发 204
20.3监控 205
20.4信号 206
20.5一个分类的例子—一个共享缓冲器 207
小结 209
第二十一章低级设施 210
21.1为什么用低级语言编程 210
21.2字类型 210
21.3地址类型 213
21.4类型转换函数 214
21.5联立程序 215
21.6一个联立程序的应用 217
21.7动态存贮 218
21.8设备处理、中断和固定地址 219
21.9低级文件操作 220
21.10生成模块 223
小结 225
附录一 226