人工智能技术基础实验报告PROLOG语言编程练习文档格式.docx
《人工智能技术基础实验报告PROLOG语言编程练习文档格式.docx》由会员分享,可在线阅读,更多相关《人工智能技术基础实验报告PROLOG语言编程练习文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
![人工智能技术基础实验报告PROLOG语言编程练习文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/28/9bb03bb1-b277-46f9-a61f-57062cff37cb/9bb03bb1-b277-46f9-a61f-57062cff37cb1.gif)
2、选择Setup项,打开下拉菜单,选择Directories项,进行工作目录修改,按Esc键退出,选择SaveConfiguration项,保存修改。
3、在相应的路径所在文件件夹中会生成work.Pro文件将其用文本打开,将要运行的程序写入,保存。
4、选择Files项,选择Load项,选择要打开的示例程序
5、编辑之后,可以选择Run项,执行程序,可以在Dialog窗口进行询问,即外部目标的执行,查看程序运行结果,分析程序之功能。
6、仿前例,可以选择其他程序并运行,分析程序功能。
7、退出,选择Quit项,可以退出TurboProlog程序。
五、实验源程序
验证题1:
domains
d=integer
predicates
not_(D,D)
and_(D,D,D)
or_(D,D,D)
xor(D,D,D)
clauses
not_(1,0).
not_(0,1).
and_(0,0,0).
and_(0,1,0).
and_(1,0,0).
and_(1,1,1).
or_(0,0,0).
or_(0,1,1).
or_(1,0,1).
or_(1,1,1).
xor(Input1,Input2,Output):
-
not_(Input1,N1),/*(1,0)*/
not_(Input2,N2),/*(0,1)*/
and_(Input1,N2,N3),
and_(Input2,N1,N4),
or_(N3,N4,Output).
验证题2:
student(integer,string,real)
grade
goal
grade.
student(1,"
zhang"
90.2).
student(2,"
li"
95.5).
student(3,"
wang"
96.4).
grade:
-write("
Pleaseinputname:
"
),readln(Name),
student(_,Name,Score),
nl,write(Name,"
gradeis"
Score).
Sorry,thestudentcannotfind!
).
验证题3:
n,f=integer
factorial(n,f)
readint(I),
factorial(I,F),
write(I,"
!
="
F).
factorial(1,1).
factorial(N,Res):
N>
0,
N1=N-1,
factorial(N1,FacN1),
Res=N*FacN1.
验证题4:
s=symbol
p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s)
p(X),write("
thexis"
X).
p(a1):
-p1(b),p2(c).
p(a2):
-p1(b),p3(d),p4(e).
p(a3):
-p1(b),p5(f,g).
p1(b):
-p11(b1),p12(b2).
p3(d):
-p31(d1).
p2(c1).
p4(e1).
p5(f,g).
p11(b1).
p12(b2).
p31(d11).
验证题5:
name=symbol
age=integer
player(name,age)
match(name,name)
cluases
player(peter,
9).
player(paul,
10).
player(chris,
player(susan,
六、实验结果
验证一:
计算数的非,与,或,异或,验证逻辑关系,非,与,或,异或的正确性
图1.1
图1.2
验证二:
查找某个人的成绩
图2
验证三:
计算数的阶层
图3
验证四:
走迷宫找出口
图4
验证五
在外部Goal:
match(X,Y)条件下,分别采用以上各match谓词,观察对应的执行结果。
1、match(X,Y):
-player(X,9),player(Y,9),X<
>
Y.
图5.1
2、match(X,Y):
-!
player(X,9),player(Y,9),X<
图5.2
3、match(X,Y):
-player(X,9),!
player(Y,9),X<
图5.3
4、match(X,Y):
-player(X,9),player(Y,9),!
X<
图5.4
5、match(X,Y):
Y,!
图5.5
七、实验中出现的问题及解决办法
实验初期,不知道如何加载示例,导致在editor中编辑了一段程序,发现程序的修改很困难
上课时通过老师的指导和向同学询问,知道可以先生成一个work.pro文件,然后用文本打开,在文本中编辑,然后在应用程序files—load中work.pro就可以了,解决了上述遇到的问题。
八、实验总结
通过这次实验,我对TurboPROLOG编程环境有了初步的了解,对PROLOG语言特点有了更深的理解,熟悉程序的编辑、编译和调试过程,这次实验会对我以后的实验有很大的帮助。