[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第78讲。
蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。
第13届蓝桥杯青少年组第1次选拔赛于2021年8月14日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
绘制花朵,本题是2021年8月14日举行的第13届蓝桥杯Scratch选拔赛真题编程第3题,初级组和中级组都有此题,题目要求编程绘制枝干和一朵花,花朵由五片花瓣组成。
先来看看题目的要求吧。
一.题目说明
编程实现:
运行程序,鼠标点击屏幕,会自下而上画出一条枝干和一朵花,花朵是由五片花瓣组成,每片花瓣为五边形图案,每次画出枝干和花朵的颜色随机。
具体要求:
1). 在舞台上的任意一点,点击鼠标,会从点击处的舞台正下方画出一条枝干到达鼠标点击位置(枝干的颜色随机);
2). 枝干到达鼠标点击处,画出由五片花瓣组成的花朵(每片花瓣为五边形图案, 花朵颜色随机);
3). 在屏幕任意位置点击都会出现随机颜色的枝干和花朵。
评分标准:
-
5分:满足要求1);
-
10分:满足要求2);
-
10分:满足要求3)。
二.思路分析
本题只有1个角色,就是画笔,如图所示:
本题是画图类作品,画图类作品是蓝桥杯必考题目,所有的画图作品都包括如下3个步骤:
其中,准备画板最简单,通常就是使用“全部擦除”指令,将舞台上使用画笔绘制的内容擦除干净,设置画笔包括粗细和颜色。真正的难点是第3步--绘制图形,一般都是通过移动角色来实现,但是在绘制的时候,需要结合数学和几何知识。
本题要绘制的花瓣是由5个正五边形构成的,在Scratch中,关于正多边形的绘制有一个万能公式,如下:
比如,正方形有4条边,所以需要重复移动4次,每移动一次要旋转的角度是90度;正六边形有6条边,所以需要重复移动6次,它的转角是60度。而对于圆形来说,可以当作一个360边形来看待,因此它的转角是1度。
一旦我们画出了正五边形,接下来就简单了,将五边形作为一个整体,再重复5次即可,每次旋转的角度是360/5,即72度。
为了简化代码结构,我们可以使用自制积木来实现绘制直线和花朵,然后在主程序中调用。
三.编程实现
根据题目描述和思路分析,我们可以分3步来编写程序:
-
定义绘制直线的自制积木
-
定义绘制花朵的自制积木
-
编写主程序
1. 定义绘制直线的自制积木
欧几里得早在《几何原本》中就告诉我们,两点确定一条直线,因此要绘制一条直线,只需要确定好起点和终点即可,创建一个自制积木,将其命名为“直线”,然后添加四个参数x1、y1、x2和y3,分别表示起点和终点的x、y坐标,编写代码如下:
注意,这里包括了画笔设置和画图两个流程,并没有准备画板的代码,是因为准备画板操作只需要执行一次,稍后会在主程序中进行。
2. 定义绘制花朵的自制积木
接下来是绘制花朵了,同样的需要定义一个自制积木,将其命名为“花朵”,同时添加一个参数“长度”,用来表示花瓣的大小,编写代码如下:
这里使用了嵌套循环,其中内层循环绘制的是一个正五边形,然后每右转72度,再绘制一个正五边形,重复5次,这就是外层循环。
3. 编写主程序
定义好了自制积木,主程序就比较简单了,编写代码如下:
当按下鼠标的时候,我们要从舞台底部开始绘制直线,所以起点的y坐标要设置为-180,终点的坐标就是鼠标的y坐标,而起点和终点的x坐标是相同的,都是鼠标的x坐标。
四.总结与思考
本题难度系数为3,积木块数量36,涉及到的知识点主要包括:
-
Scratch画图的流程,包括准备画板、设置画笔、绘制图形;
-
Scratch画笔相关指令的使用,重点注意落笔和抬笔;
-
关于正多边形的万能公式;
-
自制积木及其参数的使用;
-
嵌套循环的使用。
如果掌握了正多边形的画法,本题其实不难,这里的重点是要学会如何将一个复杂的问题进行分解,变成简单问题。
一朵花看起来挺复杂的,但是经过拆分,发现它是由5个花瓣组成的,每个花瓣就是一个正五边形,而正五边形则是由5条线段组成的。绘制直线非常简单,每个同学都会,那么绘制5条直线呢,只需要旋转72度即可,其实也不难,一个花瓣画好了呢,再重复5次就行,只是不能在同一个地方画,所以还需要旋转72度,这样,一朵花就画好了,是不是挺简单的。
其实,这就是我们一直提倡的计算思维,非常实用的一种思维模式!
如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。