最新消息:

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下)

乐高 少儿编程 2592浏览 0评论
ev3基础编程01

本阶段课程适合2年级、3年级、4年级及以上刚开始接触EV3机器人的同学们。

本篇请下载 LEGO Mindstorms教育版软件 有条件的话,请为孩子添置一套EV3套装,让课程内容可以同步练习进行动手实践。

通过上两周的课程,我们基本学习了顺序、循环两种流程。简单回忆一下,顺序,其实就是基本的流程;而循环,是一种特殊的“顺序”,也就是一段会自动重复的顺序,需要设计停止循环的条件。

 

应该不算难,我们继续说今天的。这节课比较重要,有点长。 

1

判断流程

在我们的软件中,这个流程叫做“切换”。我们这里统一一下名词,就叫做“判断”吧。因为大家以后学习程序语言的时候,这种流程就叫做判断。

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下) 

可以这样理解,我们原来说的顺序,是一条笔直的路。而判断就像是在笔直的路上面形成了一个岔口。

 

岔口可以是两个,也可以是多个。

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下)

当程序执行到这里的时候,会根据某些条件,自己选择一条路继续前进。

 

可以说,这是跟“顺序”和“循环”不同的一种流程。我们学习EV3可以不用太多的专用名词,这里我们尽量用简单理解的语言来形容各个要点。

 

2

是非判断

是非判断,就像是我们平时作业里面的是非题。

 

二选其一,非黑即白。这种很基本的选择项,在编程中经常使用。并且条件设定要求低,不容易产生错误和实际误差。

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下) 

生活中,这种判断行为无处不在。并且往往能非常好的表达出目的性。

 

我们来看一个很简单的思维。

有1/2/3/5/8/13/21,7个门。
看到数字1/2/3/5,开门,看到数字8/13/21不开门。
那么我们如果需要跟别人说明一下这个问题,该如何表达呢?

最准确的表达方式,肯定就是把这个题面重新读一遍给别人。因为每一个具体的数字对应的动作表达的非常清晰。

 

而什么叫做是非判断?即二选其一。我们就可以说:小于8的数字开门;大于等于8的数字不开门

 

我们会发现,如果仅仅只是要表达这个题面,那么这种表达是很简单的。

 

但是!(注意重点)

 

是非判断等于是把数据分成了两个大类。看似达到的目的是相同的,但其实逻辑上是不同的。

 

因为我们的第二种表达方式,其实是包含了4/7这样的体面中没有的数字,而从8开始到无限大的数字也都包含进去了

 

为什么这里可以选择这样来表达?

 

那是因为题面已经有明确的限制了。我们只是在这个限制条件下选择了一种更方便的表达方式,而不是更准确的。

 

是非判断往往用在能够归类的情况下,或者其本身就是用来进行一种归类。

这个知识点是初中(有些其他省市的是高中)数学里面的“集合”部分。我们暂时不拓展了。大家必须要清楚知道这里面的关系。

 

可以用,并不等于准确!

3

选择判断

选择判断,类似于我们在平时学习中碰到的多选题。可以选择一个,也可以多选。往往选项有很多个。

 

比如,看到绿灯停,看到红灯行,看到黄灯加快行驶。

 

那么我们的程序就可以这样来编写。

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下)

红、黄、绿是三种准确的数据信息,他们各对应了一个“动作”。我们可以用选择判断,来把这个程序写清楚。

 

从理论上来说,很简单,

 

但是!

(我又来了)

 

我们要考虑到现实生活中的情况,EV3机器人不是单纯的理论学习,我们必须要学会把问题尽可能的分析透彻。

 

我们会发现,现实中,我们碰到的颜色岂止这三种那么问题来了,当看到其他颜色的时候,我们该怎么办呢?这个时候,我们就会发现,程序中其实是有Bug(漏洞)的。

 

机器人不会自己去分析哪个指令是错误的。所以,当我们的程序有错误产生的时候,它就会一直沿着一条错误的路径走下去。我们要帮助它把问题“想完全”。

 

这里的Bug其实就是除这三种颜色之外的颜色,应该对应一个什么动作?

 

真实的情况是,如果我们不去设定这些动作,当机器人看不到这三种颜色的时候,仍然会继续前进。因为这个时候它的思路是“前方没有发现这三种颜色,保持上一个模块的运行状态”。

 

有没有发现,这个思路跟我们想要表达的其实是不一样的。

 

我们希望表达的是,看到这三种颜色,做对应动作,除此之外保持原状态。

 

所以这个程序正确的写法,是要把其他颜色的问题也考虑进去的。还是那句话,虽然很多程序可以编的很简单,不过我们还是要先学会复杂的,再学会怎么简化操作。

 

4

是非判断和选择判断的结合运用

这两种流程我们日常使用的时候经常是混在一块用的。

 

是非判断,可以帮助我们进行某些数据归类。

选择判断,可以准确的定义数据的作用。

 

我们还是就上一段的红绿灯问题来看。

 

其实我们的思路可以是:

 

首先,把3种颜色,和其他颜色进行一个归类。看到这三种颜色,和没看到这三种颜色的两种情况先分离开来。

 

然后,再把三种颜色对应的动作定义出来。

 

这样,这个程序结构,其实就非常清楚了。如下

【EV3基础编程 第四课】机器人编程的基础,先要学这些(下)我们要学会归类,同时要学会选择定义。

 

就像,每天都要做作业,语数外都是作业,都要完成,其实没什么好选择的,这就是一类。

 

但是,可能我今天语数作业少一些,外语作业多一些。那么先做语数,然后做外语,这样每当完成一项的时候,还能获得一些成就感,给自己打打气,更多一些动力。

 

反之呢?先做了外语,一看,11点了……还有数学和语文……我的天,自己都没信心了。

 

是不是?我们既然多学了机器人编程这门小技术,那么不妨运用在生活中。这样学东西,提高的才叫综合能力嘛~

重点总结

了解程序的三大流程,理解判断流程

您必须 登录 才能发表评论!