SWI-Prolog的算术运算

2025-11-16 19:27:14

1、Prolog给用户提供了一些预先定义的运算符,这些运算符可用于完成基本的算术运算,它们是:

+-*/

div 整除

mod 整数的余数

is 令表达式求值

SWI-Prolog的算术运算

2、下面会话实例用于表明Prolog中算术表达式的求解方式 ,仔细研究询问和Prolog对询问的答复后,可使我们进一步了解上述运算符的含义。

SWI-Prolog的算术运算

3、运算符is的目标的一般形式是:对象 is 表达式

其中对象是一个简单的Prolog目标,表达式是任意一个有效的算术表达式。当Prolog遇到这样一个目标时,算术表达式会被求值,左边的对象例示为计算结果,Prolog以下述法则对算术表达式求值:

1.乘、除法的运算优先于加减法,即先完成乘除法的运算;

2.优先度相当的运算从左到右求值;

3.圆括号可用来改变求值次序,圆括号内的表达式优先求值。

下图是运算优先度是一个例子。

SWI-Prolog的算术运算

1、Prolog还为用户提供了一些用于比较算术运算值的运算符,它们是:

X > Y X大于Y

X < Y X小于Y

X >= Y X大于或等于Y

X =< Y X小于或等于Y

X = Y X等于Y

X \= Y X不等于Y

SWI-Prolog的算术运算

2、下图是一小段示例代码,用于判断年龄大小。

SWI-Prolog的算术运算

3、下图是分别执行询问后的运行结果。

SWI-Prolog的算术运算

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