第四章第四节Scratch3.0过程的嵌套
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章第四节Scratch3.0过程的嵌套
正如我们前⾯提到的,过程应当执⾏单⼀的、明确定义的任务。
但是为了执⾏多个任务,通常都希望在过程中调⽤其他过程,这在Scratch中是完全可⾏的。
过程的嵌套提⾼了程序在结构化和组织上的灵活性。
我们通过画两个有趣的图形为例来学习本节的内容。
⾸先定义⼀个画正⽅形的过程
其次定义⼀个画多个正⽅形的过程(调⽤上⾯的过程)
最后定义⼀个旋转正⽅形的过程(调⽤上⾯的过程)
绘制的图形如下
过程的嵌套是不是⾮常强⼤呢?
我们再看⼀个案例。
这次仍从Square过程开始,最终绘制⼀个棋盘。
⾸先创建绘制⼀排正⽅形的过程Row,如下图所⽰。
注意,正⽅形的个数使⽤参数count指定。
为了让程序简单,我们规定正⽅形的边长为20,当然也可以将其作为过程Row的第⼆个参数。
上图右展⽰了当过程RoW的参数为4的绘制结果,其中调⽤了四次 Square 20 steps。
每绘制⼀个正⽅形,⾓⾊的位置会向右移动20步,从⽽为下⼀次绘制做好准备。
在四个正⽅形全部绘制完后,最后⼀块积⽊命令⾓⾊回到最初的位置。
若要绘制上图所⽰的下⼀排正⽅形,只需要将⾓⾊向下移动20步后调⽤过程Row即可。
因此,重复调⽤过程Row就能绘制任意⾏数,如下图所⽰的过程Checkers。
过程 Checkers有两个参数:⾏数和列数。
当某⾏绘制完毕后,⾓⾊向下移动20步,为绘制下⼀⾏做好准备。
本节的例⼦说明了程序划分为更⼩、更易管理的⽚段的重要性。
对复杂的程序来说,我们可以复⽤已经编写好并通过测试的过程,甚⾄在其基础上继续构建过程,⽽不需要过分担⼼底层是如何实现的。
这样便能将⾃⼰的精⼒放在最需要解决的问题上。