目录 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
第十七章 集合 167
17.1 集合类型和位设置类型 167
17.2 集合常量和变量 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正文 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
20.1 并发 204
第二十章 进程 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
附录二 245