第一章 Turbo Prolog使用入门 1
§1.1 安装Turbo Prolog 1
1.1.1 在硬盘系统上安装Turbo Prolog 1
目录 1
1.1.2 在双软盘系统上安装Turbo Prolog 2
§1.2 运行Turbo Prolog 3
1.2.1 硬盘系统下的启动 3
1.2.2 软盘系统下的启动 3
2.2.2 求解问题 (1 3
§1.3 Turbo Prolog用户接口 5
1.3.1 运行Turbo Prolog程序 5
1.3.2 保存程序文件 6
1.3.3 显示文件目录 6
1.3.4 装入和编辑程序文件 6
练习一 7
1.3.5 打印文件 7
小结 7
第二章 Turbo Prolog基本概念 9
§2.1 陈述式语言与过程式语言 9
2.1.1 谓词逻辑 10
2.1.2 Prolog与谓词逻辑 11
§2.2 控制程序流 12
2.2.1 程序目标 13
2.2.3 目标测试的输出 14
§2.3 连结词与其他符号 15
§2.4 目标与子目标 15
§2.5 Turbo Prolog的内部合一程序 16
2.5.1 用事实与规则表示数据 17
2.5.2 内部合一中的变量与规则 18
2.5.3 回溯 20
小结 24
练习二 25
第三章 Turbo Prolog程序设计基础 27
§3.1 Turbo Prolog程序的结构 27
3.1.1 域和谓词说明 28
3.1.2 Turbo Prolog的项 31
§3.2 谓词和子句 31
3.2.1 内部目标和外部目标 33
3.2.2 多元谓词和子句 34
3.2 3 询问中使用规则 39
3.2.4 简单数据库 41
3.2.5 否定 44
3.2.6 复合对象及其使用 46
3.2.7 可选择域及其使用 51
§3.3 算术运算 56
小结 58
练习三 58
第四章 重复和递归程序设计 60
§4.1 重复性任务及其实现方法 60
§4.2 重复和回溯 61
§4.3 重复方法 62
4.3.1 BAF方法 62
4.3.2 CAF方法 68
4.3.3 UDR方法 73
§4.4 递归方法 76
4.4.1 简单递归 76
4.4.2 GRR方法 78
练习四 84
小结 84
第五章 表程序设计 86
§5.1 表与Turbo Prolog 86
5.1.1 表的属性 86
5.1.2 表的图示法 87
§5.2 表的建立和使用 88
§5.3 首-尾方法及其使用 91
§5.4 表处理技术 93
5.4.1 表的搜索 93
5.4.2 表的分解 95
5.4.3 表的拼接 97
5.4.4 表的排序 99
§5.5 表的数据采集 102
小结 104
练习五 105
第六章 字符串程序设计 107
§6.1 ASCII码表示 107
8.6.2 画简单条形图 108
6.2 字符串赋值 109
6.3 字符串的长度 111
6.4 字符串的拼接 113
6.5 建立子串 115
6.6 数据转换 116
6.7 用户定义的转换谓词 117
6.8 字符串前缀字符 119
6.9 字符串转换成字符表 120
6.10 Turbo Prolog的名 122
6.11 由字符串形成词法符号 123
6.12 转变字符串成函子词法符号表 125
练习六 128
小结 128
§7.1 设备配置 131
7.1.1 物理和逻辑设备的分配 131
第七章 文件程序设计 131
7.1.2 默认设备配置 132
7.1.3 扩充的设备配置 135
§7.2 Turbo Prolog文件处理谓词 135
7.2.1 文件域说明 136
7.2.2 写数据文件 136
7.2.3 读数据文件 137
7.2.4 修改数据文件 137
7.2.5 扩充数据文件 138
§7.3 程序设计工具:结构图和数据流图 139
§7.4 文件谓词的使用 140
7.4.1 创建新的磁盘文件 140
7.4.2 读出已存在的文件 142
7.4.3 由键盘输入创建一个磁盘文件 144
7.4.4 输出文件到屏幕和打印机 146
7.4.5 建立字符数据文件 149
7.4.6 从文件中读字符 151
§7.5 设计用户界面友善的文件处理程序 153
7.5.1 用户界面友善的写文件程序 153
7.5.2 用户界面友善的读文件程序 158
§7.6 添加数据到磁盘文件 160
§7.7 随机存取文件的读、写 163
7.7.1 写随机存取文件 164
7.7.2 读随机存取文件 168
小结 170
练习七 170
8.1.1 使用makewindow谓词设计窗口 172
§8.1 窗口谓词及其使用 172
第八章 窗口、图形和声音程序设计 172
8.1.2 其他窗口谓词及其使用 175
§8.2 使用窗口进行输入输出 176
§8.3 设计含有窗口的程序 177
8.3.1 在窗口内写正文 177
8.3.2 创建多窗口 178
8 3.3 创建重迭的窗口 180
8.3.4 利用窗口构造菜单 182
§8.4 设计产生图形的程序 186
8.4.1 分辨率和图形适配器模式 186
8.4.2 graphics谓词 187
8.4.3 makewindow谓词和图形模式 188
8.4.4 line谓词和dot谓词 190
8.4.5 图形模式和参量值的总结 190
§8.5 用line和dot画图 191
8.5.1 画圆 192
8.5.2 绘制规则图形 192
§8.6 绘制统计图形 195
8.6.1 画线图 195
8.6.3 画饼图 201
§8.7 海龟图形 206
8.7.1 海龟图形谓词 206
8.7.2 绘制图画 208
8.7.3 绘制移动的螺线 210
§8.8 产生声音和音乐 211
8.8.1 声音谓词 211
8.8 2 音乐标记 212
8.8 3 一个简单的带有音乐标记的CAI程序 213
练习八 217
小结 217
第九章 建立动态数据库 220
§9.1 数据库基础 220
9.1.1 数据库文件 220
9.1.2 关系数据库 221
9.1.3 Turbo Prolog数据库 222
9.1.4 Turbo Prolog数据库谓词 223
§9.2 建立基于内存的数据库 226
9.2.1 设计考虑 226
9.2.2 建立数据库 227
9.2.3 程序模块的实现 229
9.2.4 职业足球队数据库程序 234
§9.3 建立基于磁盘的数据库 239
9.3.1 设计考虑 239
9.3.2 建立数据库 240
9.3.3 大学足球队数据库程序 246
§9.4 数据库管理系统的改进 251
小结 252
练习九 252
第十章 基于Turbo Prolog的专家系统建造 254
§10.1 专家系统的基本原理 254
10.1.1 专家系统的结构 254
10.1.2 知识表示 256
10.1.3 推理方法 257
10.1.4 用户接口 257
10.1.5 基于规则的专家系统 258
10.1.6 基于逻辑的专家系统 259
§10.2 基本的专家系统开发 260
10.2.1 一个分类专家系统的知识库 261
10.2.2 基于规则的专家系统的设计与实现 263
10.2.3 基于逻辑的专家系统的设计与实现 269
§10.3 基于逻辑的专家系统的扩展 280
10.3.1 设计考虑 280
10.3.2 建立医疗诊断专家系统 281
§10.4 勘探地下水专家系统的设计与实现 288
10.4.1 新构造分析方法简介 288
10.4.2 NCGW系统结构概述 289
10.4.3 知识库结构与推理策略 290
10.4.4 知识获取子系统的功能及实现 295
10.4.5 人机接口与解释子系统的功能及实现 298
10.4.6 模块化程序设计技术 302
10.4.7 Turbo Prolog编程经验点滴 306
小结 307
练习十 307
§11.1 自然语言处理方法 309
第十一章 自然语言处理 309
§11.2 简单关键字识别程序 310
§11.3 表生成程序 311
§11.4 数据库关键字识别程序 314
§11.5 程序Football的NLP接口程序 317
11.6 上下文无关文法分析 325
11.6.1 简单CFG分析模型 325
11.6.2 句子语法分析程序 325
11.6.3 上下文无关文法(CFG)句子分析程序 331
小结 337
练习十一 337
第十二章 游戏和难题求解 339
§12.1 游戏和难题中的问题求解 339
12.2.2 一个游戏方案 340
§12.2 猜数游戏 340
12.2.1 设计考虑 340
12.2.3 猜数游戏程序 341
§12.3 23根火柴游戏 345
12.3.1 设计考虑 345
12.3.2 简单的23根火柴游戏程序 346
12.3.3 一个聪明的23根火柴游戏程序 350
§12.4 猴子和香蕉问题 355
12.4.1 程序设计考虑 355
12.4.2 猴子和香蕉问题程序 356
§12.5 史密斯家庭聚会难题 364
12.5.1 问题的陈述 364
12.5.2 逻辑程序设计 364
12.5.3 家庭聚会程序 366
12.5.4 用户接口 378
小结 381
练习十二 382
附录A 使用Turbo Prolog编辑程序 383
A.1 基本编辑命令 383
A.2 其他编辑命令 384
附录B Turbo Prolog的其他特征 387
B.1 Turbo Prolog系统选择项 387
B.2 Turbro Prolog程序的编译和连接 389
B.3 存储管理 390
B.4 编译程序控制 391
B.5 编译指令 391
B.6 使用跟踪设施 392
附录C 名词术语汇编 394
附录D 参考文献和进一步的读物 397