[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第21讲。
第10届蓝桥杯青少年组国赛于2019年5月25日举行,形式为线下考试,考生自带电脑。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。
神奇画笔,本题是第10届蓝桥杯Scratch国赛真题编程第2题,题目要求考生使用Scratch画笔模块相关指令绘制图形,包括三个子程序。其中,程序1要求绘制一个圆形,程序2要求绘制一个颜色变化的圆形螺旋,程序3要求绘制颜色渐变的螺旋多边形。
先来看看题目的要求吧。
作品说明
程序1
编程实现:
利用画笔(不是造型编辑工具)绘制1个圆形,画笔的颜色、粗细自行定义,但最终画成的圆形需要完全在画布范围内。
提示:画圆的方法:前进一点点,再旋转一点点,如此循环多次。
具体要求:
1). 点击绿旗,清空舞台;
2). 在舞台上逐步连贯地画出一个圆,圆的大小,画笔颜色、粗细不限制,圆形完全在画布范围内。
评判标准:
- 10分:符合具体要求1),即点击绿旗,舞台能够清空;
- 30分:在10分基础上,符合具体要求2),即能够逐步连贯地画出圆形(用画笔功能而不是用造型编辑功能实现)。
程序2
编程实现:
绘制一个颜色变化的圆形螺旋,画螺旋与画圆形的方法类似。
提示:画圆形的方法:前进一点点,旋转一点点,如此循环多次。画螺旋的方法:前进的距离比上次多一点点,或者旋转的角度比上次小一点点,如此循环多次。
![图片[1]-scratch神奇画笔_第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-191.png)
具体要求:
1). 点击绿旗,清空舞台;
2). 在舞台上画出一个螺旋,螺旋的大小、旋转方向和画笔粗细不限制;
3). 螺旋的颜色逐渐化。
评判标准:
- 10分:符合具体要求1),即点击绿旗,舞台清空;
- 30分:在10分基础上,符合具体要求2),即连贯地画出螺旋;
- 40分:在30分基础上,符合具体要求3),即螺旋颜色渐变。
程序3
编程实现:
点击绿旗,询问边数,绘制出颜色渐变的螺旋多边形。例如,下图分别为输入“4”和“5”的绘制效果。
![图片[2]-scratch神奇画笔_第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-192-1024x466.png)
具体要求:
1). 点击绿旗,清空舞台,询问“请输入边数”;
2). 按照输入边数,连贯地绘制螺旋多边形;
3). 绘制的螺旋多边形是颜色渐变的。
评判标准:
- 10分:符合具体要求1),即点击绿旗,清空舞台,询间“请输入边数”;
- 30分:在10分基础上,符合具体要求2),即能够连贯地画出螺旋多边形;
- 40分:在30分基础上,符合具体要求3),即颜色渐变。
效果预览
在编程之前,先来看看作品的完整效果吧:
思路分析
本题有3个程序,由易到难,而且它们之间是有关联的,程序1是程序2的基础,程序2又是程序3的基础。
其中程序1要求绘制一个空心的圆形,关于绘制圆形,在Scratch中一般有两种方式,一是指定圆心和半径,并在圆心和圆周上来回移动及旋转的绘制方法,二是只在圆周上移动和旋转。
题目已经给出了提示,前进一点点,再旋转一点点,如此循环多次,很明显,这指的是第二种方式。搞定了圆形的绘制,圆形螺旋也就比较简单了,而且题目也给出了提示,在绘制圆的基础上,让前进的距离比上次多一点点,或者旋转的角度比上次小一点点,如此循环多次。
程序3,则是要绘制指定边数的螺旋多边形,其画法和程序2基本一致,不同的是循环的次数和旋转的角度。
编程实现
根据题意和思路分析,我们可以分如下3步来编写程序:
- 绘制空心圆(程序1)
- 绘制渐变的螺旋圆形(程序2)
- 绘制渐变的螺旋多边形(程序3)
1. 绘制空心圆(程序1)
在绘制圆形之前,我们先来看看正方形的绘制,正方形有4条边,对应的4个角都是直角,也就是90度。绘制起来也很简单,先绘制一条边,然后旋转90度,重复4次这个过程即可,注意这里的数学关系,重复次数 = 边数,旋转角度 = 360 ÷ 边数。
如果是正六边形呢,可以先绘制一条边,然后旋转60度,重复6次这个过程即可,你发现这里的数学关系了么?重复次数 = 边数,旋转角度 = 360 ÷ 边数。
实际上,对于任何一个正多边形,都遵循一个万能公式,即:重复次数 x 转角 = 360。而圆形可以看作是一个360条边的正多边形,所以需要重复360次,每次旋转的角度就是1了。题目中提示的“前进一点点,再旋转一点点,如此循环多次”就是这个意思,只是没有明确循环的次数和旋转角度。
明白了圆形的绘制原理,编程就变得非常简单了,编写代码如下:
![图片[3]-scratch神奇画笔_第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-193.png)
需要注意的是,这里的移动步数不宜过大,由于舞台的大小是固定的,随着边数的增加,步数要逐渐减小,在编程的时候,可以多尝试几次,找到合适的步数。
2. 绘制渐变的螺旋圆形(程序2)
有了程序1的基础,绘制螺旋圆形也就简单了,题目的提示中,给出了两种方法,一是前进的距离比上一次多一点点,二是旋转的角度比上一次小一点点。我们只需要采取其中一种即可,这里我们使用前者。
在循环的过程中,每次前进的距离比上一次多一点点,这说明移动的步数不是固定的,而应该使用变量,每循环一次,就将变量增加一点点,同时需要变化的是颜色,编写代码如下:
![图片[4]-scratch神奇画笔_第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-194-429x1024.png)
代码中的重复次数是300,右转了15度,边长每次增加0.1,这些值并不是唯一的,你可以多尝试几次。
3. 绘制渐变的螺旋多边形(程序3)
根据上面的思路分析,所谓的正多边形,只需要确定其边数,那么就可以通过万能公式重复次数(边数) x 转角 = 360来计算其旋转角度了。
那边数是多少呢,需要通过询问才能得知,所以这里需要使用问答指令,即“询问并等待”和“回答”两个指令了,具体的代码如下:
![图片[5]-scratch神奇画笔_第10届蓝桥杯scratch国赛教程-超平的编程课](https://www.wangchaoping.com/wp-content/uploads/2025/02/image-195-376x1024.png)
核心代码和程序2基本一样,不同的是这里的转角是根据“回答”计算出来的,至于重复的次数和边长的大小及每次增加的值都是可以灵活调整的。
总结与思考
本题有一定的难度,3个程序的总代码量在60个积木块左右,涉及到的知识点主要包括:
- Scratch绘图的流程及相关指令;
- 有限循环,这里主要是指“重复执行10次”指令;
- 和用户的问答交互,包括“询问并等待”和“回答”指令;
- 变量的使用,包括变量的定义,初始化和修改;
- 运动编程,包括移动和转向;
- 数学几何知识。
看似是一道简单的画图编程题,实际上包含了不少数学知识,比如正多边形和圆形的特点,角度的计算,尤其是边数和转角之间的关系。
所以说,编程和数学是相辅相成的,通过编程,平时看起来貌似无用的数学知识立刻变得价值连城,这不就是我们经常挂在嘴边的学以致用嘛。反之,有了良好的数学基础,在编写程序的时候,你会显得游刃有余, 比别人编写地更快、更优。
不要忘了,计算机最初发明的时候,都是用于解决科学计算问题的。
需要素材和源代码的,可以转到这里,神奇画笔-2019.5.25蓝桥杯国赛第2题。
暂无评论内容