用Prolog实现过程

2025-10-07 00:45:27

1、If…Then…Else结构是最简单的过程式控制结构,我们常常称之为选择结构条件结构。下图是一个由Python语言编写的一个例子:

用Prolog实现过程

2、用Prolog表达上述过程的程序如图所示。

程序中的writeread是Prolog内置的谓词,分别用于输出和输入。nl表示换行。子句writetest(注意其变元)可保证Prolog做出正确的路线选择,其中截断用于保证得到唯一确定的解空变量记作“_”,表示对其变量的值并不关心。

2SWI-Prolog的截断机制

6Prolog的基本概念和语法规则

用Prolog实现过程

3、下图是Prolog运行后交互和输出的情况。

用Prolog实现过程

1、循环结构也是过程式程序设计中常见的一种程序结构。下图是一段简短的Python代码,执行后会打出8×5大小的由“*”组成的矩形。

用Prolog实现过程

2、与其相对应的Prolog程序如图所示。显然该程序中第一个while子句是递归循环的过程,在其测试条件失败之前始终进行自身调用。第二个while子句是停止条件

6SWI-Prolog的递归

2SWI-Prolog的截断机制

用Prolog实现过程

3、Prolog程序运行后交互和输出情况如图所示。读者还可以设计出其它循环结构,设计具有循环结构的程序的基本过程可归纳成下述规则:

❶把过程转换成标准的While循环;

❷整个过程分为三步:初始化,循环,给出结果所需的后续计算过程;

❸用递归子句的尾表示循环,在循环开始处进行条件测试;

❹用循环谓词的第二个子句进行徃完成后所需的计算;

❺建立递归子句的前端谓词,该谓词用于为循环提供所需的变量值和从循环中获取变量值;

❻设计调用前端谓词的程序。

用Prolog实现过程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢