[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第37讲。
第13届蓝桥杯青少年组省赛分两次进行,这是2022年4月17日举行的第一次省赛考试,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
组合图形,本题是第13届蓝桥杯Scratch第一次省赛真题编程第4题,初级组和中级组都有此题,题目要求考生编程将边长为40的方砖,拼成一个正方形 。
先来看看题目的要求吧。
一.题目说明
编程实现:
组合图形:由边长为40的方砖,拼成一个正方形。
例如,方砖为,拼成正方形为:
![图片[1]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-341.png)
具体要求:
1). 点击绿旗,角色、背景如图所示;
![图片[2]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-342.png)
2). 等待1秒后,出现询问框说:“输入正方形一条边上的方砖数量”;
![图片[3]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-343.png)
3). 输入一个整数n(3 ≤ n ≤ 8 ),在舞台上瞬间呈现对应的图形;
![图片[4]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-344.png)
![图片[5]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-345.png)
4). 如果输入数值不在3 ≤ n ≤ 8范围内时,提示说:“输入无效”。
![图片[6]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-346.png)
二.效果预览
在编程之前,先来看看作品的完整效果吧:
三.思路分析
本题只有一个砖块角色,如图所示:
![图片[7]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-347-901x1024.png)
根据题目的描述,我们可以绘制一个简单的流程图,用来表示程序的主逻辑,如下:
![图片[8]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-348.png)
这里的重点是如何绘制由小砖块组合拼成的正方形,毫无疑问的是我们需要使用Scratch画笔模块中的图章,通过图章指令就可以复制更多的小砖块来。
具体的实现方法也比较简单,正方形是由4条相等的边长构成,每两条边的夹角是90度,因此我们可以先复制一条边的小砖块,然后右转(或左转)90度,重复4次这个操作即可。
四.编程实现
根据上面的思路分析,我们分两步来编写程序。
1). 完成程序的主逻辑
依据上面的流程图,我们先来编写程序的主逻辑,这里的准备工作包括清空舞台,确定方砖的位置并显示方砖等,对应的编写代码如下:
![图片[9]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-349.png)
简要说明两点:
①. 由于程序多次要使用方块数量,所以这里专门定义了一个变量“n”,用于保存每条边上的砖块数量;
②. 为了让程序的结构更加清晰,我们定义了一个自制积木“正方形”,用于实现组合图形的绘制,此处只是调用自制积木,具体的定义稍后介绍。
2). 使用图章绘制正方形
接下来的任务就是完成自制积木的定义,首先要注意的一点是,在新建自制积木时,需要勾选左下角的“运行时不刷新屏幕”,如图:
![图片[10]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-350-1024x786.png)
所谓的“运行时不刷新屏幕”,是指自制积木中的代码在执行时省去舞台刷新的步骤,并在整个自制积木执行完毕后再刷新屏幕。这样就可以确保在绘制多个图形时,可以一次性瞬间呈现最终图形。
如果没有勾选此选项的话,每复制一个小砖块,就刷新一次舞台,这时候我们能看到整个绘制的过程。
根据上面的思路分析,我们需要使用嵌套循环,即在循环指令中包含循环指令,外层循环表示正方形的4条边,内层循环表示每一条边要复制的砖块数量,对应的代码如下:
![图片[11]-scratch组合图形_第13届蓝桥杯省赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-351.png)
需要重点注意的是,对于每条边要绘制的砖块数量n,如果n=3,我们只需要图章两次,如果n=4,只需要图章3次,如果n=5,则只需要图章4次,所以这里重复执行的次数是“num-1”。
至此,代码编写完毕,可以运行程序输入不同的数字,来测试一下程序的效果了^_^。
五.总结与思考
本题难度中等,代码量不多,一共有37个积木块,分值为50,涉及到的知识点主要包括:
- Scratch问答模块,包括询问并等待和回答指令;
- 双分支条件语句的使用;
- 循环嵌套的使用及理解;
- 逻辑运算的使用,主要是指或运算;
- 自制积木及参数,重点是运行时不刷新屏幕的应用及理解;
- Scratch画笔中的图章功能。
对于本题,我们使用图章来实现砖块的组合图形,除此之外,我们还可以使用克隆的方式来实现,如果使用克隆,该如何实现呢,赶紧试试吧。
另外,不知道你注意到了没有,不管输入的数字是多少,最后绘制的组合图形都是从左上角开始的,能否让组合图形显示在舞台的正中心呢,你有什么锦囊妙计吗?
需要素材和源代码的,可以转到这里,组合图形-2022.4.16蓝桥杯省赛第4题。
暂无评论内容