- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人猴子实验
机器人简单实验
实验原理:
利用谓词逻辑的知识,用到了5个操作算符,state()猴子的状态,climbBox()猴子爬上箱顶,grasp()猴子抓到香蕉,pushbox(int i)猴子把箱子推到位置i,to(int j)猴子走到位置j,用来完成机器人的简单行为。
程序流程图
程序代码:
#includestdio.h
int w,x=0,y,z=0,b;//w代表猴子水平位置;猴子在箱顶时x=1,否则x=0;y箱子的水平位置;猴子摘到香蕉z=1,否则z=0;
void main()
{
void state();
void climbBox();
void grasp();
void pushbox(int i);
void to(int j);
printf(请输入猴子的水平位置:);
scanf(%d,w);
printf(请输入箱子的水平位置:);
scanf(%d,y);
printf(请输入香蕉的水平位置:);
scanf(%d,b);
state();
if(w==y)
if(w==b)
{
climbBox();
grasp();
}
else
{
pushbox(b);
climbBox();
grasp();
}
else
{
to(y);
if(y==b)
{
climbBox();
grasp();
}
else
{
pushbox(b);
climbBox();
grasp();
}
}
}
void state()
{
printf(state(%d,%d,%d,%d)\n,w,x,y,z);
printf(猴子的水平位置为:%d\n\n,w);
}
void climbBox()
{
x=1;
printf(猴子爬上了箱子);state();
}
void grasp()
{
z=1;printf(猴子摘到了香蕉\n);
state();printf(猴子开始吃香蕉,真好吃!\n);
}
void pushbox(int i)
{
w=i;y=i;
printf(猴子把箱子推倒了香蕉的下面);state();
}
void to(int j)
{
printf(猴子走到箱子的位置);
w=j;
state();
}
运行结果:
开始
输入变量值
W==y?
N
To(y)
Pushbox(b)
climbBox()
Grasp()
结束
Y
W==b?
N
Y
文档评论(0)