最新消息:网站支持在线创作,微信分享,请点击【创作中心】编辑作品。

Scratch少儿编程入门 第十一讲 循环语句和条件语句

Scratch 少儿编程 4743浏览 0评论
Scratch少儿编程入门

本站可以分享scratch作品,快来边学习边创作吧,点击在线创作

第十一讲 循环语句和条件语句

 

本讲主要讲解Scratch中的控制指令,重点讲解两类控制指令,并完成两个小程序,程序效果请看下面视频:

 

第一个程序,计算1-100的和。

 

 

第二个程序,条件语句的示例。

 

 

一、控制类指令集

Scratch提供了丰富的用于实现不同逻辑的控制类指令,通过这些指令几乎可以实现所有你希望实现的逻辑。

在前面的学习中,我们已经涉及到部分控制指令。如图所示,控制类指令在脚本标签中点击控制可以找到。

Scratch少儿编程入门 第十一讲

1、等待指令

Scratch少儿编程入门 第十一讲

 

等待指令可以让角色暂停指定的时间长度,等待进一步的动作,还记得在第二讲中我们让小猫等待的例子吗?

另一个等待指令,“在……之前一直等待”我们在第十讲中也初步使用过,这条指令一直监视着指定的条件,只有在条件满足的情况下才会开始后面的指令,否则就一直等待。

 

2、循环类指令

Scratch少儿编程入门 第十一讲

 

循环类指令表示一直重复循环框里面的某一组动作,根据设定的条件的不同,重复的次数也是不同的。

第一个指令用于指定次数的循环,这个指令一般应用在已经确切的知道需要循环多少次的地方。比如我们在第二讲中希望足球来回运动三次时,就使用了这个循环指令。

注意这里的次数是白底的可编写的框,这意味着我们除了可以直接在里面写循环的次数。

第二个指令是重复执行一个指令不限制次数,这个指令会一只重复同样的动作直到人为控制他停止。请注意这里的循环会一直进行,因此在使用时需要考虑程序是否需要终止,否则程序有可能陷入循环里面永远不出来。

第三个指令“重复执行直到……”,其实这个指令很类似于前面的第二个等待指令,都是当满足特定条件后,才会继续执行下面的指令,否则会一直在这里等待,所不同的是这个语句在等待的时候还需要重复执行一个动作。当然你也可以把他从循环的角度来理解,就是当满足某个条件时才跳出循环。举个小例子,假如小朋友在某个地方等妈妈,小朋友每隔一分钟就看一下表,直到妈妈出现,这种行为就可以用“重复执行直到……”来描述。

3、条件类指令

Scratch少儿编程入门 第十一讲

 

条件类指令有两个,表示只有满足某个条件时,才执行条件框里面的指令组合。

两个条件类指令的差别也很容易理解,第一个指令只有满足条件时才运行框里面的指令,如果不满足条件如何运行不做特殊安排。

         而第二个指令除了对满足条件时如何运行程序进行了控制,对于条件不满足时如何运行也进行了控制,可以实现更加复杂的逻辑。

注意:条件类指令下面可以继续其他指令,这些后续指令是在执行完条件判断及相应指令后才会继续运行的,不管条件满足与否都会继续执行,请一定不要理解成条件不满足运行外面的指令!

 

4、停止类指令

Scratch少儿编程入门 第十一讲

 

停止指令表示到此结束程序的部分或者全部,部分结束的指令可以是当前角色的这段脚本指令,全部脚本指令,“结束全部”相当于按了舞台区的停止按钮。

5、克隆类指令

Scratch少儿编程入门 第十一讲

 

这三个克隆指令用于在舞台中复制和操作角色的副本。还记得画笔指令集中的图章指令吗?图章可以在舞台中复制一个角色的形象,但是这个形象是印在舞台上的,并不能够移动和控制,是一个死的图案。而这里的克隆指令是复制一个角色的全部,复制后的角色拥有角色的全部信息,可以像角色一样可以执行各种指令。

这三个指令相对来说属于比较高级的指令,且应用逻辑比较复杂,本节不做过多学习,后面会通过一个例子进行演示。

二、通过循环指令来求1100

新建一个程序,让程序计算1+2+3+……+100等于几,计算出来后让小猫来回答。

想想如何实现这个程序呢?(小提示,加法运算通过运算符中的加法指令来实现)

最复杂的方法,我们需要组合出一个这样的式子,不停的拖动加法到脚本区,然后一个一个叠加起来就像这样

Scratch少儿编程入门 第十一讲

 

大家可以看到,我刚刚加到10,计算式子就已经这么长了,如果到100,光组合这个式子就要累死人的。

那么能否用其他方法来实现呢?

这里我们利用到我们刚刚学习过的循环指令。

首先声明一个变量叫做“计数器”

Scratch少儿编程入门 第十一讲

 

拖动指令“将……设定为……”指令到脚本区,并将计数器初始设定为1

同样的方法再次新建一个变量叫做总和。然后拖动指令到脚本区,初始将总和设定为0

Scratch少儿编程入门 第十一讲

 

在上一节的课程中,我们通过重新建立一个变量的方式来记录小动物是否被点击过这个状态,这里新建变量的目的是用于计算而不再是记录状态了。总和用来表示最后计算的结果,而计数器表示我们下一个需要加多少。

我们这样组合一个指令,这个指令是让总和=总和+计数器。

Scratch少儿编程入门 第十一讲

在初始设定的情况下,总和为0,计数器为1,那么最终的计算结果是多少呢?

请小朋友仔细思考一下这个的过程,这里相当于让总和的0与计数器的1相加,然后将计算的结果记录到总和这个变量中。

当我们要算最简单的1一直加到1的结果的总和(小朋友没有看错,这是1+2+……+100这种累加的一个最简单形式,因为我们只加到1就不再继续了)时,这个运算指令已经完成了他的目的,我们直接输出总和就是最后的结果了。

那么如何计算1+2呢?

我们在完成上一步运算后,只需要让计数器从1变成2,然后再执行一次这个运算就可以了。

那么1+2+3呢?

就是让计算器从1变成2执行一次后,再从2变成3再执行一次,总和就计算出来了。

         每次运行后,总和的结果如下变动:

总和=1

总和=1+2(总和+2

总和=1+2+3(总和+3

总和=1+2+3+4(总和+4

……

100次:

总和=1+2+3+4+……+100(总和+100

小朋友有没有觉得这里面我们正在重复一个循环呢?

所以运行程序可以这样组合

Scratch少儿编程入门 第十一讲

 

现在双击这段组合后的指令,舞台区的运行结果如下

Scratch少儿编程入门 第十一讲

 

总和已经求出来了,高年级学习过等差数列的小朋友一定知道5050就是1+2+3……100的结果。

请思考为什么这个时候计数器会显示101

回过头来看看这段程序,在这个程序中我们将总和设定为总和与计数器的和,这段相当于用指令来实现总和=总和+计数器,程序段循环100次,相当于完成100次这样的加法,每次执行后总和这个变量都会记录下执行的结果。

另外请注意,在循环块里面,我们让每次循环之后,计数器的数字都加1,这就保证了每执行完一次循环后,我们再次执行时加的数字会是下一个需要增加的数。

这样第一次执行时我们把1加入总和,第二次把2加入总和,第三次把3加入总和……,第100次把100加入总和。

下面进一步丰富这个程序,我们可以这样修改程序

Scratch少儿编程入门 第十一讲

 

请注意,我们把“总和”这个变量放在了“说……”指令里面来实现小猫回答问题,任何白底的地方,都是可以放入变量或者运算结果的哦!

小朋友请想一想,如果我们想计算2+4+6+100怎么计算呢?

 

参考答案:

Scratch少儿编程入门 第十一讲

 

 

三、使用条件语句判断考试成绩

下面我们编写一个程序,程序循环3次,每次程序开始时小猫问大家,“请输入你的成绩”,我们默认输入的都是整数数字。

如果输入的成绩大于等于85分那么小猫说,“优秀,你真厉害!”

如果输入的成绩小于85但是大于60分,那么小猫说“还不错,不过要继续努力哦!”

如果输入的成绩小于60,那么小猫说,“这次没有及格,不过不要灰心,一定要加油赶上!”

这个程序根据不同的情况需要小猫做出不同的回答,因此需要用到条件语句。

这里我们需要用到另外一对新的指令,分别用于向用户提示输入信息,以及接收用户的输入。

Scratch少儿编程入门 第十一讲

 

这对指令在侦测指令集中可以找到。

运行第一条指令,角色会以说话的形式显示“询问”后面的内容,同时舞台下面会出现一个可以输入信息的对话框,等待用户输入数据。

“回答”是一个系统内置的变量,专门用来接收“询问”指令后用户的输入信息。

根据我们的要求,我们需要对三种情况做判断,首先判断是否大于等于85,其次判断是否大于等于60而且小于85,最后判断是否小于60

在不考虑用户乱输入其他内容的情况下,我们用条件指令做如下组合

Scratch少儿编程入门 第十一讲

 

这段代码首先对回答大于84做判断,因为我们假定成绩都是整数,所以用大于84来替代大于等于85。当>84的条件满足时输出“优秀”。否则代表条件小于85继续做判断。

第二步组合条件指令如下

Scratch少儿编程入门 第十一讲

 

这段代码表示当大于59的时候说“还不错”,请思考为什么这里没有去设置条件小于85呢?

因为两条指令是嵌套使用,能够进入否则后面的如果,已经说明回答的答案是小于85的,否则是无法进入这块的。

最后组合代码,即完成了要求输入并对接收的结果进行判断的功能。

 

 

下面我们需要对这个过程做三次循环,方法很简单,只需要再外面再嵌套一个循环3次的重复指令即可,完整的程序指令如下。

Scratch少儿编程入门 第十一讲

 

 

来源:微信公号“一人耕者”

 

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