谓词表示法表示猴子摘香蕉_猴子妈妈有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)


相关推荐

  • wannacry病毒作者_wannacry病毒利用了哪种漏洞

    wannacry病毒作者_wannacry病毒利用了哪种漏洞1.样本概况1.1样本信息病毒名称:Trojan-Ransom.Win32.Wanna.m所属家族:木马/勒索/蠕虫MD5:DB349B97C37D22F5EA1D1841E3C89EB4SHA1:E889544AFF85FFAF8B0D0DA705105DEE7C97FE26CRC32:9FBB12271.2测试环境及工具…

  • .NET控件名称缩写一览表「建议收藏」

    .NET控件名称缩写一览表「建议收藏」.NET控件名称缩写一览表

  • zabbix监控mysql各项指标

    zabbix监控mysql各项指标准备两台虚拟机zabbix-server(服务端ip:192.168.176.138)zabbix-agent(客户端ip:192.168.176.139)两台分别上传zabbix.repo到/etc/yum.repos.d下面安装前工作//关闭防火墙systemctlstopfirewalldsetenforce0//时间同步yum-yinstallntpdatentpdatepool.ntp.org服务端[root@localhost~]#yum-y

  • pytest重试_pycharmrun不了

    pytest重试_pycharmrun不了安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

  • App测试面试题_软件测试算法面试题汇总

    App测试面试题_软件测试算法面试题汇总1.Web端测试和App端测试有何不同(常见)系统结构方面Web项目,b/s架构,基于浏览器的;Web测试只要更新了服务器端,客户端就会同步会更新;App项目,c/s结构的,必须要有客户端;App修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍;兼容方面Web项目:a.浏览器(火狐、谷歌、IE等)b.操作系统(Windows7、Windows10、Linux等)App项目:a.设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等)、

  • 把数据库中的静态图片遍历在前端页面上[通俗易懂]

    把数据库中的静态图片遍历在前端页面上[通俗易懂]把数据库中的静态图片遍历在前端页面上先上数据库中数据其次是后端的接口(把所有数据封装到List集合中发送过去):@RequestMapping(value=”/scenicSpots”,method=RequestMethod.GET)publicActionResultfindScenicSpots(){List<ScenicSpots>scenicSpots=scenicSpotService.QueryScenicSpots();

发表回复

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

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