人工智能技术基础实验报告PROLOG语言编程练习.docx

上传人:b****6 文档编号:5603309 上传时间:2022-12-28 格式:DOCX 页数:10 大小:1.37MB
下载 相关 举报
人工智能技术基础实验报告PROLOG语言编程练习.docx_第1页
第1页 / 共10页
人工智能技术基础实验报告PROLOG语言编程练习.docx_第2页
第2页 / 共10页
人工智能技术基础实验报告PROLOG语言编程练习.docx_第3页
第3页 / 共10页
人工智能技术基础实验报告PROLOG语言编程练习.docx_第4页
第4页 / 共10页
人工智能技术基础实验报告PROLOG语言编程练习.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

人工智能技术基础实验报告PROLOG语言编程练习.docx

《人工智能技术基础实验报告PROLOG语言编程练习.docx》由会员分享,可在线阅读,更多相关《人工智能技术基础实验报告PROLOG语言编程练习.docx(10页珍藏版)》请在冰豆网上搜索。

人工智能技术基础实验报告PROLOG语言编程练习.docx

人工智能技术基础实验报告PROLOG语言编程练习

人工智能技术基础实验报告

 

指导老师:

朱力

任课教师:

张勇

 

实验一PROLOG语言编程练习

一、实验目的

加强学生对逻辑程序运行机能的理解,使学生掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。

二、实验环境

在TurboPROLOG或VisualProlog集成环境下调试运行简单的PROLOG程序,

三、实验内容

运行给定的五个程序,验证程序,得到结果,理解逻辑程序的特点,熟悉程序的编辑、编译和调试过程

四、实验步骤

1、打开Turboprolog2.0文件,启动prolog.exe应用程序,并按空格键(SPACE)进入集成开发环境。

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:

predicates

student(integer,string,real)

grade

goal

grade.

clauses

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).

grade:

-write("Sorry,thestudentcannotfind!

").

验证题3:

domains

n,f=integer

predicates

factorial(n,f)

goal

readint(I),

factorial(I,F),

write(I,"!

=",F).

clauses

factorial(1,1).

factorial(N,Res):

-

N>0,

N1=N-1,

factorial(N1,FacN1),

Res=N*FacN1.

验证题4:

domains

s=symbol

predicates

p(s)p1(s)p2(s)p3(s)p4(s)p5(s,s)p11(s)p12(s)p31(s)

goal

p(X),write("thexis",X).

clauses

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:

domains

name=symbol

age=integer

predicates

player(name,age)

match(name,name)

cluases

player(peter, 9).

player(paul, 10).

player(chris, 9).

player(susan, 9).

六、实验结果

验证一:

计算数的非,与,或,异或,验证逻辑关系,非,与,或,异或的正确性

图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<>Y.

图5.2

3、match(X,Y):

-player(X,9),!

player(Y,9),X<>Y.

图5.3

4、match(X,Y):

-player(X,9),player(Y,9),!

X<>Y.

图5.4

5、match(X,Y):

-player(X,9),player(Y,9),X<>Y,!

图5.5

七、实验中出现的问题及解决办法

实验初期,不知道如何加载示例,导致在editor中编辑了一段程序,发现程序的修改很困难

上课时通过老师的指导和向同学询问,知道可以先生成一个work.pro文件,然后用文本打开,在文本中编辑,然后在应用程序files—load中work.pro就可以了,解决了上述遇到的问题。

八、实验总结

通过这次实验,我对TurboPROLOG编程环境有了初步的了解,对PROLOG语言特点有了更深的理解,熟悉程序的编辑、编译和调试过程,这次实验会对我以后的实验有很大的帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1