第一章 怎样用计算机解题 1
1-1 引言 1
1-2 关于计算机的一般知识 1
1-3 计算机软件 2
1-4 逐步求精程序设计方法 3
1-5 大型程序的组织 5
第二章 简单的Ada源程序 6
2-1 一个完整的Ada程序 6
2-2 注释与源程序的书写格式 8
2-3 语法图 8
练习 10
第三章 值与类型 11
3-1 变量对象的说明 11
3-2 常量对象的说明 11
3-3 整数类型 12
3-4 浮点类型与实数类型 13
3-5 字符类型与串类型 15
3-6 枚举类型与布尔类型 17
练习 18
第四章 表达式与赋值语句 20
4-1 引言 20
4-2 算术表达式 20
4-3 应用举例 21
4-4 关系表达式 23
4-5 成员测试(membership tests) 24
4-6 逻辑表达式 24
4-7 标量类型的属性 25
练习 27
第五章 控制结构 28
5-1 IF语句 28
5-2 应用举例 30
5-3 短路控制形式 33
5-4 LOOP(循环)语句与EXIT(出口)语句 34
5-5 WHILE循环语句 37
5-6 FOR循环语句 38
5-7 CASE(情形)语句 41
练习 43
第六章 输入与输出 45
6-1 运行结果的输出 45
6-2 student_io及预定义子程序 49
第七章 过程与函数 50
7-1 子程序的重要性 50
7-2 局部说明 51
7-3 参数 52
7-4 参数调用的位置记号法、命名记号法及缺省参数 55
7-5 函数 57
7-6 参数方式——OUT和IN OUT 58
7-7 应用举例 60
7-8 递归 65
7-9 注意事项 65
练习 65
第八章 子类型与离散类型的属性 68
8-1 子类型说明 68
8-2 离散类型的属性 70
8-3 浮点子类型 72
练习 73
第九章 数组 74
9-1 数组类型 74
9-2 一维数组 75
9-3 二维数组 77
9-4 数组类型定义和数组属性 79
9-5 数组作为参数的使用方法 81
9-6 数组聚集 83
练习 84
9-7 注意事项 84
第十章 无约束数组 86
10-1 无约束数组的引入 86
10-2 字符串 88
10-3 过程get_line 90
练习 92
第十一章 记录 93
11-1 记录的定义 93
11-2 对记录的赋值和运算 94
11-3 分量为复合类型的记录 95
11-4 注意事项 97
练习 97
第十二章 程序包 99
12-1 程序包的引入 99
12-3 程序包规格 100
12-2 程序包的使用与说明 100
12-4 使用USE语句要注意的问题 102
练习 103
第十三章 程序包体 104
13-1 程序包体的说明与定义 104
13-2 文字处理的例子 107
13-3 程序中不同部分的相互影响 111
练习 112
第十四章 私有类型 114
14-1 为什么要引入私有类型 114
14-2 私有类型的定义 115
14-3 受限私有类型 117
14-4 注意事项 118
练习 119
第十五章 Ada程序结构 120
15-1 有关编译单元的概念 120
15-2 分别编译 121
15-3 子单元 122
15-4 注意事项 123
练习 123
第十六章 可见性和作用域 124
16-1 可见性 124
16-2 对象的生存期 125
第十七章 异常 128
17-1 预定义异常 128
17-2 异常处理 128
17-3 异常的引发和说明 130
17-4 注意事项 131
练习 132
第十八章 任务 133
18-1 任务说明与任务体 133
18-2 举例 134
18-3 任务的入口与会合(呼叫) 135
18-4 延迟语句 137
18-5 选择语句 139
18-6 任务类型 143
18-7 任务的优先级 144
第十九章 文件 145
19-1 文件的形成 145
19-2 文件的说明、打开与关闭 145
19-3 文件的建立与删除 147
19-4 文件的复制 148
练习 149
附录一 保留字 150
附录二 关于程序包student_io 151
附录三 关于程序包TEXT_io 152
附录四 预定义的语言环境 156
参考文献 164