77范文网 - 专业文章范例文档资料分享平台

丁浩轩prolog教学实习报告(2)

来源:网络收集 时间:2019-04-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

3.3.5 变种问题

我们可以修改程序,看看到底有多少种填色方案。修改程序后代码如下

implement main open core,stdio domains

colors=blue;yellow;red;green. neighbors=nb(colors,colors). map=neighbors*. class predicates

aMap:(map) nondeterm anyFlow.

test:(map) nondeterm anyFlow.% multi anyFlow. %procedure anyFlow. generateColor:(colors) multi(o). clauses

classInfo(\

generateColor(R):- R=blue; R=yellow; R=green;

4

R=red. aMap([]). aMap([X|Xs]):- X=nb(C1,C2), not(C1=C2), aMap(Xs).

class facts n :integer :=0. k :integer :=0. clauses test(L):- n:=0,

generateColor(A), generateColor(B), generateColor(C), generateColor(D), generateColor(E), generateColor(F),

L=[nb(A,B),nb(A,C),nb(A,E),nb(A,F), nb(B,C),nb(B,D),nb(B,E),nb(B,F), nb(C,D),nb(C,F),nb(C,F)], %write(n,\ n:=n+1, aMap(L). % ,! %;L=[]. run():-

console::init(), k:=0, test(L),

5

k:=k+1,

N=string::format(\

stdio::write(\ n:=0, fail. run():-

_=stdio::readline(). end implement main goal

mainExe::run(main::run). 运行截图

3.4 画一棵树 3.4.1 概述

本程序画树的形态是步长4.0,倾角0.1745329,向上画一段,然后画一个分支,再向上画一段,另外一个方向画分支,改变方向,画一段。 3.4.2 实验步骤

1.创建一个GUI Project Lsys 2.再其根目录下创建包 aristid

6

3.在aristid下创建Form “Canvas”,另外创建一个class“draw”,并不选择:Create Objects”。使File/New可用,用 Code Expert添加代码在taskWindow.pro

4.在draw.cl draw.pro 添加代码

5.先Build/Build 然后编辑canvas.frm,在Events对话框中添加onPaint为paintResponder的事件处理谓词,双击后在canvas.pro里添加代码。

6.运行程序 3.4.3 Prolog代码

taskWindow.pro predicates

onFileNew:window::menuItemListener. clauses

onFileNew(S,_MenuTag):-

X=canvas::new(S),X ::show(). draw.cl class draw

open core,vpiDomains predicates

classInfo:core::classInfo. tree:(windowHandle). end class draw

draw.pro implement draw

open core,vpiDomains,vpi,math clauses

classInfo(\domains

command=t(commandList);f(integer); r(integer);m.

commandList=command*.

7

class facts

pos:(real Delta,real Turn)single. grammar:(commandList) single. class predicates

move:(windowHandle,pnt,real,commandList) procedure(i,i,i,i).

derive:(commandList,commandList) procedure(i,o).

mv:(windowHandle,pnt,real,command,pnt,real) procedure(i,i,i,i,o,o).

iter:(integer,commandList,commandList) procedure(i,i,o). clauses

pos(4.0,0.1745329).

grammar([f(1)]).

iter(0,S,S):-!.

iter(I,InTree,OutTree):- derive(InTree,S), iter(I-1,S,OutTree).

derive ([],[]):-!.

derive([f(0)|Rest],[f(0),f(0)|S]):-!, derive(Rest,S). derive([f(_)|Rest],

[f(0),t([r(1),f(1)]),f(0), t([r(-1),f(1)]),r(1),f(1)|S]):-!, derive(Rest,S).

derive([t(Branches)|Rest],[t(B)|S]):-!, derive(Branches,B),

8

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库丁浩轩prolog教学实习报告(2)在线全文阅读。

丁浩轩prolog教学实习报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/560760.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: