谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉案例:我们要实现以下步骤:这个案例共有以下几种情况,猴子香蕉箱子在同一处,猴子香蕉在同一处,香蕉箱子在同一出,还有三者均不在同一处,但不论是哪种情况,我们需要清楚一点就算是香蕉和猴子在同一位置,猴子也无法直接获得香蕉,因此我们第一步必须需要先找到箱子,然后再去搬着箱子移动到香蕉处。本案例中有以下四个谓词逻辑: Run(monkey,box)代表猴子去搬箱子 Getbox(monkey,box)代表猴子得到了箱子 Run(monkey,banana)代表了.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

案例:

我们要实现以下步骤:让猴子得到香蕉,但是直接跳够不到,必须站在箱子上才能取到

谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

这个案例共有以下几种情况,猴子香蕉箱子在同一处,猴子香蕉在同一处,香蕉箱子在同一出,还有三者均不在同一处,但不论是哪种情况,我们需要清楚一点就算是香蕉和猴子在同一位置,猴子也无法直接获得香蕉,因此我们第一步必须需要先找到箱子,然后再去搬着箱子移动到香蕉处。


本案例中有以下四个谓词逻辑:

  • Run(monkey,box) 代表猴子去搬箱子

  • Getbox(monkey,box) 代表猴子得到了箱子

  • Run(monkey,banana) 代表了猴子搬着箱子去找香蕉

  • Getbanana(monkey,banana) 代表猴子拿到了香蕉


 代码(c语言版):

#include <stdio.h>
int main(){
	void gobox(int a,int b);
	void getbox(); 
	void findbanana(int a,int b);
	void getbanana();
	int monkey,banana,box;
	printf("请依次输入猴子,香蕉,箱子 的位置\n");
    printf("猴子的位置:");
	scanf("%d",&monkey);
	printf("香蕉的位置:");
	scanf("%d",&banana);
	printf("箱子的位置:");
	scanf("%d",&box);
	printf("-----------------------------------\n");
	if(monkey!=box){
		printf("猴子够不到香蕉,要先去搬箱子:");
		gobox(monkey,box);
		getbox();
		if(box!=banana){
		  printf("猴子需要搬着箱子去找到香蕉:");
		  findbanana(banana,box);
		  getbanana();
	    }else{
	    	printf("香蕉就在箱子的上面\n");
	    	getbanana();
		}
	}else{
		printf("箱子就在猴子旁边,猴子拿到了箱子"); 
		getbox();
		  if(box!=banana){
		  printf("猴子需要搬着箱子去找到香蕉:");
		  findbanana(banana,box);
		  getbanana();
	      }else{
	    	printf("香蕉就在箱子的上面\n");
	    	getbanana();
		  }	
	} 
} 
void gobox(int a,int b){ 
	int flag;
	flag = b - a;
	if(flag>0){
		printf("Run(monkey,box)\n");
		printf("猴子需要向右移动%d步拿到箱子\n",flag);
	}else{
		printf("Run(monkey,box)\n");
		printf("猴子需要向左移动%d步拿到箱子\n",flag);
	}
}
void findbanana(int a,int b){
	int flag;
	flag=b-a;
	if(flag>0){
		printf("Run(monkey,banana)\n");
		printf("猴子需要向左搬着箱子移动%d步找到香蕉\n",flag);
	}else{
		printf("Run(monkey,banana)\n");
		printf("猴子需要向右搬着箱子移动%d步找到香蕉\n",flag);
	} 
} 
void getbox(){
	printf("猴子拿到了箱子:");
	printf("Getbox(monkey,box)\n");
}
void getbanana(){
	printf("猴子踩在箱子上拿到了香蕉:");
	printf("Getbanana(monkey,banana)\n");
}

效果演示:

三者不在同一位置:

谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

箱子和香蕉在同一位置:

谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

 三者均在同一位置:

谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189229.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 国家的崛起,无法建立局域网连接[通俗易懂]

    国家的崛起,无法建立局域网连接[通俗易懂]w8,w10需要启动directplay,具体步骤:控制面板,选择程序和功能,启用或关闭windows功能,旧版组件。然后勾选上directx组件就行了。

  • 关于keil注册机的问题[通俗易懂]

    关于keil注册机的问题[通俗易懂]今天用keil时,因为程序太大(超过2k),所以出现了,不能生成hex文件的问题,下载了一个注册机后还是不行,最终找到了解决方法。WIN7系统使用注册机一定要使用xp兼容模式,以管理员身份运行。此外,win7下安装keil的路径不能出现中文,只能全部使用英文,不然还会有问题。右键点快捷方式或者执行程序→属性→兼容性→选项卡→以兼容模式运行打钩→选择兼容的WINDOWS版本(SP3)→以管理

  • maven本地仓库配置了不起作用_maven指定远程仓库地址

    maven本地仓库配置了不起作用_maven指定远程仓库地址来配置一下maven本地仓库:第一步:下载到官网下载maven包。下载地址:http://maven.apache.org/download.cgi第二步:找个盘符创建个文件夹将将下载的maven报放进去,然后将下载的包解压了。第三步:配置MAVEN_HOME的环境变量。如下:注意这个地方的变量值的路劲是你自己的实际maven解压后的路径。配置完上面的了,将MAVEN_HO…

  • OCX控件数字签名图文教程[通俗易懂]

    OCX控件数字签名图文教程[通俗易懂]这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵,暂不考虑,看到cnblogs上一篇文章后深受启发,照着搞了一个测试用的数字签名,但是这篇文章上的OS貌似是win2000,IE5,我有必要在win7下给大家做个演示:首先,下载

  • ssdp协议内容解析视频_固态硬盘的协议

    ssdp协议内容解析视频_固态硬盘的协议SSDP协议内容解析

    2022年10月11日
  • DNS负载均衡与CDN内容分发技术

    DNS负载均衡与CDN内容分发技术负载均衡:负载均衡技术能平衡服务器及群众所有的服务器和请求应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能,从而使网站始终保持运行和保证其可访问性。DNS负载均衡:为了充分利用现有服务器软件的种种优势,负载均衡最好是在服务器软件之外来完成。而最早使用的负载均衡技术是通过DNS服务中的随即名字解析来实现的。这就是

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号