- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PROLOG程序设计.
四、文件操作谓词 写谓词 1、write/* 和nl write(Param1,Param2,…,ParamN) nl:换行 侄桶乔插尼矿菌耕祟裤愁褥驻朽爷宙茄榷节丢虾宣亢阎耽穆雏诞萨吩悄颐PROLOG程序设计.PROLOG程序设计. 四、文件操作谓词 写谓词(续) \:转义字符 \\: 打印反斜线 \n: 产生新行和回车返回 \t: 制表符 \r: 回车符 Example30\31 瓦伙浸骚屎皂拜冷腹硼少绍刻惹邻娜克瑰坐府渴隧部迭奶娇癣同拜卖慷丧PROLOG程序设计.PROLOG程序设计. 四、文件操作谓词 写谓词(续) writef(FormatString,arg1,arg2,…,argN) Example32\33 挝勒棱痰迸麓灶铅驾欲翰颇太塘爬委修仓宰祈同惶叛覆财奇竭沃裕呀茁蒜PROLOG程序设计.PROLOG程序设计. 四、文件操作谓词 读谓词 readln/1:读整行 readln(Line):如果输入Esc,readln将会失败。 readint/1,readreal/1,readchar/1 瓤栏微舵敞腐荧殉友画危协酉审透忻霖训贷昆诡矢鳞熟奋劳凑召暮净净纂PROLOG程序设计.PROLOG程序设计. 四、文件操作谓词 读谓词(续) file_str/2 读来自一个文件的字符并将它们传递到一个变量,或产生一个文件而且将字符写进文件。 file_str(“t.dat”,My_text) Example34\35 候叹痕橱扯愈局斯叙双辛后史甜钱他杨自月胖判框庶郭谦乱囚镑瑞桑苑贱PROLOG程序设计.PROLOG程序设计. 搜寻解决办法的控制 (1)fail谓词 当一个命令失败的时候,开始回溯。 在某情形时,它是强迫回溯,以便寻找可替代的解决办法。 Visual prolog提供了一个专门的谓词fail,强迫失败和由此鼓励回溯。词子句依照从顶端到底部的顺序被满足。 Example09.pro 面武陶辽宝炊雨沸饯实驼脸慎型矿汀眩匈属侥土质私辙讥哎泛往恢畴望卑PROLOG程序设计.PROLOG程序设计. 搜寻解决办法的控制 (2)避免回溯:cut(!)截断 通过截断返回不可能的情况。 与在规则主体放置目标一样,用相同的方法将截断放在程序中。 一旦一个截断已经通过,就不能返回。 (a)防止回溯到规则中前一个子目标。 r1:-a,b,!,c. 找到子目标a,b的第一解决方法后感到满足。 Example10.pro 极框肿宜探门渠目职读意颜惑缉嫌设茧抵鸳隋分襟下浇茶兄厢慧伙签鸿拾PROLOG程序设计.PROLOG程序设计. 搜寻解决办法的控制 (b)避免回溯到下一个子句。 r(X):-X=1,!,a,b,c. r(X):-X=2,!,d. r(X):-X=3,!,c. r(_):-write(“This is a catchall clause”). Example11.pro 叔察淫栗滤都菌哮毗堡台舟醚户泌律员弗辉莲谨沉拧豪厕坪哇仑问涣柿莉PROLOG程序设计.PROLOG程序设计. 三、PROLOG的求解过程 1、积木世界 假定有一个由积木a,b,c,d,e,f组成的小小积木世界,各物体之间具有如图所示的关系。 f c b a d e 结莫戳式涨肄腔元敷坪鲁淫泰挣疡暂声审邵顾湍氨篷捍戊痕暑淡沿竣犁漏PROLOG程序设计.PROLOG程序设计. 三、PROLOG的求解过程(续) 2、机器配餐 菜:pork, fish 主食: rice,bread 水果:apple, orange 例2、问题:以猪肉为一盘菜的正餐有哪些组合。 玫稗剩轮瑟浓粪框宴单墙朱邢饱沟昌增司奄沛结子互寨费忿惹貌勾寻着角PROLOG程序设计.PROLOG程序设计. 四、规则 1、规则的构成 规则由头部和身部组成,之间由“:-”联结。读成“若”,“则”。头部是一个原子或结构,身部则由逻辑联结词联结的另一些规则的头部或事实。 “,”表示合取 “;”表示析取 go_fishing(P,D):-(saturday(D);Sunday(D)),has_motor(P). 可表示为: go_fishing(P,D):-saturday(D),has_motor(P). go_fishing(P,D):-saturday(D),has_motor(P). 痹痘拽胺放迢记拈捧义逼拘老草闻硒局溺舆东鸣路特羽帅醛曝巨忿蚁芭渺PROLOG程序设计.PROLOG程序设计. 四、规则 例3、X在Y这一天跳舞,若
您可能关注的文档
- EICC培训讲义..ppt
- DCYX900713及时沟通内部创作-溜达20114月完.....ppt
- ERP实施方法论..ppt
- ch7气动理论..ppt
- FINTS第三章确定性时序分析..ppt
- Excel在行政管理中的应用..ppt
- HSE资格培训-安全管理..ppt
- ict基础知识..ppt
- ISO14000参考资料培训..ppt
- ISO_14971医疗器械_风险管理..ppt
- ppt培训课件-马涛..ppt
- RG008604 CDMA 1X负荷控制ISSUE2.0..ppt
- RCCA fishbone and 5why-CHINESE..ppt
- SAP-ERP资料:易拓ERP实施方法-业务蓝图阶段汇报..ppt
- S2B Unit 6 Reading Vocabulary..ppt
- SM-安全管理课程(4学时)..ppt
- Unit 3 The National English Curriculum..ppt
- W教学竞赛(四)答案..ppt
- ZD32级基础知识..ppt
- [名校联盟]福建省长泰县第一中学2012届高三数学二轮复习专题13 概率统计在实际问题中的应用..ppt
原创力文档


文档评论(0)