《TURBO PROLOG的新进展 PDC PROLOG程序》求取 ⇩

第一部分PDC Prolog程序设计基础及基本编程技术1

第一章Prolog基础1

1.1逻辑程序设计1

1.1.1 句子:事实和规则2

1.1.2 询问3

1.1.3 事实、规则和询问的综合应用实例4

1.1.4 变量:一般的句子6

1.1.5 阶段小结6

1.2从自然语言到Prolog程序7

1.2.1 子句(事实和规则)7

1.2.2 谓词(关系)9

1.2.3 变量(一般子句)10

1.2.4 目标(询问)13

1.2.5 注释15

1.2.6 什么是匹配15

1.3 本章小结16

1.4 练习一18

第二章PDC Prolog程序结构19

2.1PDC Prolog的基本程序段19

2.1.1 子句段19

2.1.2 谓词段19

2.1.3 域段21

2.1.4 目标段24

2.2说明和规则的进一步讨论25

2.2.1 谓词说明中变元的类型化26

2.2.2 同名不同元的谓词27

2.2.3 规则语法27

2.2.4 自动类型转换28

2.3其他程序段29

2.3.1 数据库段29

2.3.2 常量段29

2.3.3 全局段30

2.3.4 编译指令30

2.4 本章小结31

2.5 练习二33

第三章基本语言元素35

3.1名字35

3.1.1 关键字35

3.1.2 特殊处理谓词35

3.2程序段36

3.2.1 域段37

3.2.2 谓词段39

3.2.3 数据库段39

3.2.4 子句段40

3.2.5 常量段42

3.3 条件编译43

3.4 在程序中包含文件44

3.5编译指令44

3.5.1 bgidriver44

3.5.2 bgifont45

3.5.3 check_determ45

3.5.4 code45

3.5.5 config45

3.5.6 diagnostics46

3.5.7 errorlevel46

3.5.8 heap47

3.5.9 nobreak47

3.5.10 nowarnings47

3.5.11 printermenu47

3.5.12 project47

3.5.13 trace(shorttrace)48

3.5.14 trail49

3.6 本章小结49

3.7 练习三49

第四章合一与回溯50

4.1 合一50

4.2回溯52

4.2.1 PDC Prolog求解的完全性54

4.2.2 对回溯的详细考察56

4.2.3 带有内部目标的回溯59

4.3控制求解的搜索过程61

4.3.1 fail谓词62

4.3.2 用cut谓词阻止回溯63

4.3.3 not谓词68

4.4 从过程观点看Prolog72

4.5 本章小结76

4.6 练习四77

第五章简单对象与复合对象78

5.1简单数据对象78

5.1.1 作为数据对象的变量78

5.1.2 作为数据对象的常量78

5.2 复合数据对象和函子79

5.3 复合对象的合一80

5.4将若干项视为单个项81

5.4.1 使用函子的例子82

5.4.2 使用复合对象的例子82

5.5声明复合对象域85

5.5.1 域声明小结87

5.5.2 多级复合对象87

5.6复合的混合域声明88

5.6.1 多类型变元89

5.6.2 表89

5.7 复合对象的比较90

5.8 本章小结91

5.9 练习五91

第六章重复与递归93

6.1重复过程93

6.1.1 关于回溯的回顾93

6.1.2 事前与事后处理94

6.2 用循环实现回溯96

6.3递归过程97

6.3.1 计算机的执行机制98

6.3.2 递归的优点98

6.4尾递归优化98

6.4.1 使用尾递归99

6.4.2 cut在递归中的妙用101

6.5 将变元作为循环变量103

6.6 递归数据结构105

6.7树数据类型106

6.7.1 树的遍历107

6.7.2 树的创建109

6.8 二叉搜索树110

6.9 本章小结115

6.10 练习六116

第七章表与递归118

7.1 什么是表118

7.2 表声明、表头和表尾118

7.3 表处理120

7.4表的使用120

7.4.1 打印表120

7.4.2 表元素的计数121

7.5 尾递归之回顾122

7.6 表的成员125

7.7表的合并:描述型及过程型编程126

7.7.1 从过程的观点看递归126

7.7.2 一个谓词的多种用途127

7.8 一次找出所有的解128

7.9 复合表129

7.10 本章小结133

7.11 练习七134

第八章算术与比较136

8.1 算术表达式136

8.2 操作136

8.3 执行顺序136

8.4 函数和谓词137

8.5 随机数的产生138

8.6 整数和实数运算138

8.7比较139

8.7.1 相等性及相等谓词139

8.7.2 字符、串与符号的比较140

8.8 本章小结141

8.9 练习八141

第九章串处理143

9.1 串处理143

9.2 基本串处理谓词143

9.3 类型转换146

9.4 本章小结148

9.5 练习九149

第十章输入输出与文件系统150

10.1输入与输出150

10.1.1 输出150

10.1.2 输入155

10.2 PDC Prolog的文件系统156

10.3 打开及关闭文件158

10.4 二进制块传送160

10.5 标准I/O重定向160

10.6文件属性160

10.6.1 打开及创建文件161

10.6.2 OS/2和 DOS 4.0的特殊文件方式161

10.7 文件操作163

10.8 文件名及路径名166

10.9 目录搜索167

10.10 文件属性的操作170

10.11 将数据库引入文件171

10.12 将事实当作项来处理172

10.13 本章小结175

10.14 练习十177

第十一章内部数据库系统178

11.1 使用内部数据库178

11.2 声明内部数据库178

11.3修改内部数据库179

11.3.1 运行期间加入事实179

11.3.2 运行期间删除事实180

11.3.3 一次删除几个事实181

11.3.4 从文件中读取新事实181

11.3.5 保存事实数据库182

11.3.6 例子182

11.4 本章小结185

11.5 练习十一185

第十二章外部数据库系统187

12.1 PDC Prolog的外部数据库187

12.2外部数据库的构成187

12.2.1 命名约定188

12.2.2 外部数据库选择符188

12.3 链189

12.4 外部数据库域和数据库引用号190

12.5 外部数据库操作191

12.6 链的操作192

12.7 项的操作192

12.8 一个完整的例子192

12.9B+树195

12.9.1 页,阶及关键字长196

12.9.2 重复关键字196

12.9.3 多次扫描196

12.9.4 B+树标准谓词196

12.9.5 例子:通过B+树存取数据库197

12.10外部数据库程序设计199

12.10.1 扫描数据库199

12.10.2 显示数据库的内容200

12.10.3 数据库安全保护201

12.10.4 更改数据库202

12.10.5 使用内部B+树指针205

12.10.6 改变数据库结构206

12.11文件共享和外部数据库208

12.11.1 文件共享域208

12.11.2 以共享方式打开数据库209

12.11.3 事务处理与文件共享209

12.11.4 文件共享谓词210

12.11.5 文件共享程序设计211

12.11.6 实现高层封锁212

12.11.7 一个完整的文件共享例子212

12.11.8 PDC Prolog文件共享的实现217

12.12 外部数据库的二进制数据处理217

12.13 其他谓词218

12.14 本章小结218

12.15 练习十二218

第十三章窗口程序设计219

13.1基本窗口处理219

13.1.1 设置屏幕显示属性219

13.1.2一个猜单词游戏223

13.2 高级窗口处理225

13.3 基于屏幕的输入输出226

13.4 一个简单游戏例子227

13.5 在程序中使用编辑器与目录230

13.6 本章小结232

13.7 练习十三232

第十四章Borland图形接口233

14.1 什么是BGI233

14.2 视频模式简述233

14.3 视区和BGI.PRE文件234

14.4 运行BGI演示程序235

14.5 初始化和关闭BGI系统235

14.6 当前位置239

14.7画图和着色239

14.7.1 线段239

14.7.2 画圆240

14.7.3 矩形、多边形和直方图241

14.7.4 填充241

14.8颜色控制242

14.8.1 调色板242

14.8.2 CGA上的颜色控制243

14.8.3 EGA上的颜色控制244

14.8.4 RGB显示器的颜色控制245

14.8.5 有关颜色控制的谓词245

14.9在图形模式下输出文本245

14.9.1 字模246

14.9.2 在图形模式下输出文本的BGI谓词246

14.10 屏幕和视区248

14.11 像素和映像操作249

14.12 使用带RGB图形卡的BGI249

14.13在应用程序中使用BGI250

14.13.1 图形驱动程序和字模250

14.13.2 在运行时刻装入驱动程序的例子251

14.13.3 建立与运行独立的BGI可执行文件252

14.14 本章小结252

14.15 练习十四252

第十五章跟踪与调试253

15.1 语法及类型检查253

15.2跟踪255

15.2.1 trace指令255

15.2.2 以优化方式进行跟踪:shorttrace256

15.2.3 跟踪特定谓词257

15.2.4 保存跟踪信息258

15.2.5 谓词trace258

15.2.6 交互式跟踪控制259

15.2.7 跟踪方式下一些特殊处理的谓词260

15.2.8 一个跟踪实例260

15.3 用于调试的编译指令260

15.4 运行时刻错误报告263

15.5 菜单上的编译器选项264

15.6 本章小结264

15.7 练习十五264

第十六章错误与异常处理265

16.1 异常处理和错误俘获265

16.2 项读入程序的错误处理266

16.3 中止控制268

16.4 改进的.EXE文件错误控制269

16.5 本章小结270

16.6 练习十六270

第二部分PDC Prolog高级程序设计技术271

第十七章高级程序设计技术271

17.1 流分析及其控制271

17.2指针域273

17.2.1 声明指针域273

17.2.2 指针域和尾数组273

17.2.3 指针域的使用274

17.2.4 例子274

17.3动态截断275

17.3.1 关于动态截断的例子275

17.3.2 用指针域实现二叉树276

17.3.3 利用指针域排序277

17.4程序设计风格278

17.4.1 提高程序设计效率的原则278

17.4.2 使用谓词fail280

17.4.3 确定性与非确定性:设置cut281

17.5PDC Prolog的内存管理281

17.5.1 释放空闲的内存资源282

17.5.2 控制内存分配282

17.6 生成可执行的独立程序283

17.7模块化程序设计283

17.7.1 工程283

17.7.2 全局声明284

17.7.3 编译和连接模块285

17.7.4 例子286

第十八章与其他语言的接口288

18.1从PDC Prolog中调用其他语言288

18.1.1 准备工作288

18.1.2 命名约定289

18.1.3 从PDC Prolog中调用C过程290

18.1.4 Turbo C编译器选项和连接290

18.1.5 从PDC Prolog中调用汇编例程293

18.2从其他语言调用PDC Prolog296

18.2.1 动态存储分配298

18.2.2 向其他语言传递复合对象298

第十九章消息管道304

19.1 消息管道的工作原理304

19.2 服务程序和客户程序305

19.3 出错条件和出错处理307

19.4 终止连接309

19.5 高级谓词309

19.6 一个简单的远程外壳例子312

第二十章操作系统级程序设计316

20.1 访问操作系统316

20.2 定时服务320

20.3 位级操作322

20.4 访问硬件的低级支持324

20.5 本章小结327

第三部分PDC Prolog程序设计实例328

第二十一章Prolog程序实例328

21.1 建造一个小型的专家系统328

21.2 原型开发:一个简单的路径问题332

21.3 危险洞穴探险334

21.4 硬件仿真335

21.5 Hanoi塔337

21.6 单词的音节划分338

21.7 N皇后问题341

21.8键盘的使用343

21.8.1 读入与识别键344

21.8.2 一个简单的域编辑器345

21.8.3 使用inkey谓词346

第四部分PDC Prolog程序设计环境347

第二十二章PDC Prolog的安装与启动347

22.1 安装程序的功能347

22.2PDC Prolog系统的安装348

22.2.1 安装到硬盘上348

22.2.2 安装到软盘上348

22.2.3 修改操作系统环境348

22.3 缺省的键盘布局349

22.4 启动PDC Prolog349

22.5菜单与热键350

22.5.1 主菜单350

22.5.2 下拉菜单350

22.5.3 热键与命令键350

22.6PDC Prolog的窗口352

22.6.1 Edit窗口352

22.6.2 Dialog窗口352

22.6.3 Message窗口352

22.6.4 Trace窗口352

22.7编辑器简介353

22.7.1 在Edit窗口中移动光标353

22.7.2 删除文本353

22.7.3 文本块处理354

22.8一个示教PDC Prolog程序354

22.8.1 在编辑器中输入程序354

22.8.2 运行程序356

22.8.3 语法出错356

22.8.4 将程序存盘356

22.8.5 查看磁盘文件357

22.8.6 跟踪程序357

22.8.7 创建独立的程序358

第二十三章PDC Prolog编辑器359

23.1 进入与退出编辑器359

23.2 系统编辑器与库编辑器359

23.3 编辑窗口状态行359

23.4编辑器命令360

23.4.1 光标移动命令362

23.4.2 插入和删除命令363

23.4.3 查找和替换命令363

23.4.4 块操作命令364

23.4.5 特殊的块操作功能366

23.4.6 文件处理命令366

23.4.7 应用程序键367

23.4.8 其他命令367

23.4.9 全局命令368

23.4.10 设计自己的编辑器功能368

23.5 PDC Prolog编辑器与Wordstar368

第二十四章PDC Prolog菜单命令详解369

24.1 系统配置369

24.2PDC Prolog的菜单结构369

24.2.1 选择菜单项369

24.2.2 主菜单项概述371

24.2.3 热键371

24.3系统窗口372

24.3.1 编辑窗口372

24.3.2 跟踪窗口373

24.3.3 信息窗口373

24.3.4 对话窗口375

24.3.5 帮助行375

24.4编辑器376

24.4.1 在编辑窗口中工作376

24.4.2 辅助编辑器379

24.5菜单和命令379

24.5.1 Files菜单380

24.5.2 Edit命令381

24.5.3 Run命令382

24.5.4 Compile菜单382

24.5.5 Options菜单384

24.5.6 Setup菜单387

24.6 启动PDC Prolog393

24.7 命令行用法393

第二十五章 标准谓词详解396

第五部分附录571

附录A与Turbo Prolog的差别571

A.1对Turbo Prolog的改进与提高571

A.1.1 OS/2版本571

A.1.2 外部数据库系统中的网络支持571

A.1.3 内部进程通信571

A.1.4 重设计的编辑器571

A.1.5 可扩充的编辑器571

A.1.6 匹配文件名的新谓词572

A.1.7 读写二进制文件572

A.1.8 从查找路径中定位文件572

A.1.9 目录的删除与创建572

A.1.10 文件拷贝谓词572

A.1.11 扩充的文件打开谓词572

A.1.12 文件名处理572

A.1.13 改进的串处理572

A.1.14 进程572

A.1.15 返回周的序号572

A.1.16 返回启动路径和程序名573

A.1.17 有关运行时错误的信息573

A.1.18 返回可用的EMS数量573

A.1.19 改进的窗口控制573

A.1.20 命令行编译器573

A.1.21 C语言程序可为主程序573

A.1.22 用Microsoft C连接C573

A.1.23 包含目录573

A.1.24 Verbosity选项573

A.1.25 Comline的参数573

A.1.26 保存选择文件573

A.1.27 回车字符574

A.1.28 增加的重置大小/移动键574

A.1.29 带重复的B+树574

A.1.30 允许多重打开索引的更新574

A.1.31 创建B+树选择符的新拷贝574

A.1.32 处理外部数据库中的二进制信息574

A.1.33 在REF和串间的转换574

A.1.34 对配置的改进控制574

A.2不兼容性575

A.2.1 新的配置文件575

A.2.2 外部数据库系统的新的二进制格式575

A.2.3 不兼容的.SYM文件575

A.2.4 errormsg略去五个字符575

A.2.5 field_str不接受换行575

A.2.6 删除旧的图形575

A.2.7 editmsg/8被改名成edit/8575

附录B错误信息576

B.1 错误信息576

B.2 运行期间错误587

B.3 输入/输出及操作系统错误589

B.4 屏幕和窗口错误590

B.5 数据库错误591

B.6 项读入程序593

B.7 编辑器错误593

B.8 串处理错误594

B.9 Borland图形接口(BGI)594

B.10 消息、595

B.11 目录浏览器595

B.12 装入配置文件595

B.13 操作系统错误595

附录C 标准谓词索引597

参考文献601

1993《TURBO PROLOG的新进展 PDC PROLOG程序》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由尤晓东等编著 1993 南京:南京大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。