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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue filters 是什么?怎么使用?

    vue filters 是什么?怎么使用?vuefilters是什么?首先:filter翻译成中文是过滤器的意思。而在Vue中作用其实就是对字段进行预处理怎么使用呢?就用一个小Demo,讲解一下!目的:对字段进行处理,打印出“Helloworld!!!”首先,打印出“Helle”<template> <view> {{demo}} </view></template…

    2022年5月21日
    47
  • springBoot讲解,jpa使用,微服务架构,什么是RESTful API?

    springBoot讲解,jpa使用,微服务架构,什么是RESTful API?springBoot讲解,jpa使用,微服务架构,什么是RESTful API?

    2022年4月23日
    53
  • JavaScript触屏滑动API介绍

    随着触屏手机、平板电脑的普及和占有更多用户和使用时间,触屏的触碰、滑动等事件也成为javaScript开发不可避免的知识,现在何问起就和大家一起学习js的触屏操作,js的触屏touchmove事件,为

    2021年12月28日
    43
  • Cesium简介「建议收藏」

    Cesium简介「建议收藏」一、Cesium介绍Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,

    2022年7月1日
    32
  • delphi android 音乐播放器,Mcool音乐播放器

    delphi android 音乐播放器,Mcool音乐播放器Mcool音乐播放器APP是一款非常不错的手机音乐播放软件,用户可以使用该软件在线免费听大量好音乐,音质比较好,使用界面简洁明了,喜欢听音乐的朋友可以来西西下载Mcool音乐播放器APP使用!软件简介Windows受欢迎的Mcool音乐播放器,在很多用户要求下,终于推出安卓版本。只在一个月内,就很快从Windows版本复刻到安卓版本,这只有强大的Delphi能够做到。定位为“最简单的…

    2022年6月26日
    38
  • 005 Java面向对象知识点 抽象 封装 继承 多态 命名方式 JavaDoc文档 方法的调用 包的作用「建议收藏」

    005 Java面向对象知识点 抽象 封装 继承 多态 命名方式 JavaDoc文档 方法的调用 包的作用「建议收藏」004Java面向对象知识点Java是一种面向对象的编程语言抽象封装继承多态Java的基本概念Java的命名方式生成JavaDoc文档类方法的调用包的作用和命名规范属性和方法Java是一种面向对象的编程语言面向对象程序的OOP设计的优点:与人类思维习惯一致;隐藏信息,提高了程序的可维护性和安全性,实现模块化和信息隐藏;可以将复杂的业务逻辑简单化,提高了程序的复用性;具有抽象、封装、继承、多态等特性抽象把一组客观事物的特征、行为提取来,来表示此类事物的过程。封装目的:保护某些属

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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