prolog初学语法结构

prolog(programming of logic)逻辑编程

1.prolog中所有语句都以  " . " 来结束

2.write() 相当于打印命定,类似于print()

3.换行符为“nl”

换行符的用法

?- write('Hello,'), nl, write('world').
Hello,
world
true.

 4.退出命令“halt”

5.常量与变量,prolog中大写开头的字母表示变量,小写开头的字母表示常量

例如:

?- write(abc).
abc
true.

?- write(Abc).
_3908
true.

6.关系与属性

关系:friend(A,B)说明A的朋友是B,但不代表B的朋友就是A

属性:male(A) 表示A是男性

7.规则

代表一种逻辑推理的规则,可以由一个结论推得另外一个结论,符号":-"代表推理关系

例如:friend(X, Y) :- friend(Y,X).表示如果friend(Y,X)是true 则friend(X,Y)也是true

如果一条规则取决于多个条件同时为true,则条件之间使用逗号分隔。

例如:mother(X, Y) :- child(Y,X), female(X).

如果一条规则取决于某个条件为false,则在条件之前加上\+表示否定。

例如:onesidelove(X, Y) :- loves(X, Y), \+ loves(Y,X).

8.查询

Prolog 支持查询已经设定的条件。先设定一个脚本friend.pl

friend(john, julia).

friend(john, jack).

friend(julia, sam).

friend(julia, molly).

脚本中包含这四种关系

下面利用符号“[ ]”,先加载这个脚本,再进行查询

?-[friend]

true  代表加载成功

?-friend(john, jack). true. 代表查询到此关系

?- friend(john, sam). false.代表未查询到此关系

listing()函数可以列出所有的朋友关系。

Who是变量名。任意的变量名都可以,只要首字母为大写。

利用Who同样可以查询到john的朋友数量

?- friend(john, Who).

Who = julia;

Who = jack.

学自“Prolog 语言入门教程”Prolog 语言入门教程 - 阮一峰的网络日志

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值