[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第199讲。
第15届蓝桥杯国赛已于2024年9月7日正式落下帷幕,比赛仍然采取线上形式。这是Scratch初/中级组真题,试题包括两种题型,分别是选择题和编程创作题,其中选择题5道,都是和Scratch编程知识相关的题目。编程部分有6道题,分别是金箍棒变化,画矩形,保护大熊猫,能力雷达图,九宫格博弈战和扫雷游戏,初中组只有前5道编程题。
接下来,超平老师就从如下3个方面本次国赛真题进行解读和剖析:
-
选择题部分
-
编程题部分
-
总结
一.选择题部分
一共有5道选择题,每题10分,严禁使用程序验证,选择题不答和答错不扣分。
1. 运行以下程序后,角色不可能说?( )
A. 15
B. 38
C. 54
D. 63
[超平老师解读]:
本题正确答案是B,考查的知识点包括随机数、变量和运算。
变量“数1”的值可以是1、2、3、4、5、6、7、8、9;
变量“数2”的值可以是1、2、3、4、5、6、7、8;
A选项,15 = 3 * 5,符合要求;
C选中,54 = 6 * 9,符合要求;
D选项,63 = 7 * 9,符合要求;
只要B选项不符合要求,所以选B。
2. 已有“分数”列表如图,运行以下程序后,n的值是( )。
A. 2
B. 3
C. 6
D. 7
[超平老师解读]
本题正确答案是D,考查的知识点是列表运算。
列表一共有7项,所以会执行7次循环指令,每一次都判断列表中是否包含100,这个条件恒为真。所以每次都会执行“将n增加1”指令,n的初始值为0,7次循环之后,n的值就变成7了。
因此,D选项是正确的。
3. 运行以下程序,绘制的图形是( )。
A.
B.
C.
D.
[超平老师解读]:
本题正确答案是D,考查的知识点包括自制积木、Scratch画笔和递归。
首先要理解自制积木的意思,在自制积木中又调用自己,这是典型的递归用法。
自制积木的作用是递归绘制长度为a的线段,然后右转360 / b度,线段长度每次增加20,当边长 > 120时结束绘制。
调用自制积木时,a的值就是边长,b = 3,所以呈现的是多层三角形形状。
画笔角色的初始方向是150度,选项A和B可以直接排除。
边长的初始值是20,每次都是先绘制直线,再将长度增加20,当边长 > 120时,结束程序。
由此可以得知,绘制的线段长度包括20、40、60、80、100、120和140,一共有7条线段。
C选项中有6条线段,D选项有7条线段,所以选D。
4. 以下程序执行结束后,点击舞台区左上方的
,此时最多能看到几只猴子?( )。
A. 11
B. 10
C. 6
D. 5
[超平老师解读]:
本题正确答案是A,考查的知识包括克隆和图章。
这里执行了5次循环,每一次都是先随机猴子本体的位置,通过“克隆”指令克隆一只猴子,再移到随机位置,通过“图章”复制一个猴子。
理想情况下,这些猴子的位置各不相同,所以可以看到11只猴子,其中1只是本体,5只是克隆体,还有5只是复制品。
所以,A选项是正确的。
5. 运行以下程序,输入good night,程序执行结束后,result 的值为( )。
A. dnig
B. gind
C. doog
D. good
[超平老师解读]:
本题正确答案是C,考查的知识点包括字符串处理和混合运算。
代码块的作用是遍历字符串中的每一个字符,取字符串的前4个字符,倒序连接。变量i表示的是字符位置,从1开始。
注意两个细节:
1). i / 4的结果向上取整等于1,说明i / 4 <= 1,所以i的取值可以为1、2、3、4;
2). 在进行字符串连接的时候,当前字符在前面,“result”变量在后面,因此是倒序连接;
输入的字符串是“good night”,前4个字符是good,倒过来就是doog,因此C选项是正确的。
二.编程题部分
编程题一共有6道,分别是金箍棒变化、画矩形、保护大熊猫、能力雷达图、九宫格博弈战和扫雷游戏,初级组只有前5题。
1.金箍棒变化(20分)
编程实现:
金箍棒变化。
具体要求:
1). 点击绿旗,金箍棒初始大小为 100,角色、 背景如图所示;
2). 1秒后,金箍棒说 “请输入大或小”,同时舞台下方显示输入框,如图所示;
3). 输入完成后,孙悟空说出输入的内容 1秒;
4). 如果孙悟空说“大”,那么金箍棒在1秒内逐渐变大,直到大小为150,如图所示;
5). 如果孙悟空说“小”,那么金箍棒在 1秒内逐渐变小,直到大小为 50,如图所示。
评判标准:
-
2分:满足"具体要求"中的1);
-
3分:满足"具体要求"中的2);
-
3分:满足"具体要求"中的3);
-
6分:满足"具体要求"中的4);
-
6 分:满足"具体要求"中的5)。
[超平老师解读]:
这是本次国赛初/中级组的第1题,题目比较简单,完成时间5分钟左右,基本上是一道送分题。关键点有两个,一是如何确保两个角色严格按照顺序轮流执行程序,二是如何通过循环控制程序的执行时间。
关于本题的详细讲解,可以参考《金箍棒变化-第15届蓝桥杯国赛Scratch初/中级组真题第1题》这篇教程。
2. 画矩形(40分)
背景信息:
矩形:四个内角都是直角的四边形是矩形。
现有如下图所示的矩形,矩形的四个顶点为 A、B、C、D。
其中A和C 是两个不相邻顶点,B和D也是两个不相邻顶点。
编程实现:
画矩形。
具体要求:
1). 点击绿旗,角色、 背景如图所示;
2). 1秒后,画笔持续随着鼠标移动;(参考视频)
3). 按下鼠标左键不松开,并移动鼠标,会绘制出一个矩形(颜色为红色,线的粗细为4),矩形的边长随着鼠标的移动而不断发生变化,矩形的两个不相邻顶点的位置分别为刚按下鼠标左键时的鼠标位置和当前鼠标所在位置,如图所示;(参考视频)
4). 松开鼠标左键后,矩形消失;
5). 重复执行 “具体要求”3)、4)。
评判标准:
-
5 分:满足"具体要求"中的1);
-
5 分:满足"具体要求"中的2);
-
10分:满足"具体要求"中的3);
-
10分:满足"具体要求"中的4);
-
10分:满足"具体要求"中的5)。
[超平老师解读]:
这是本次国赛初/中级组的第2题,难度一般,完成时间8分钟左右。关键点有两个,一是如何获取4个顶点的坐标,二是如何控制矩形跟随鼠标变化;
关于本题的详细讲解,可以参考《画矩形-第15届蓝桥杯国赛Scratch初/中级组真题第2题》这篇教程。
3. 保护大熊猫(50分)
编程实现:
保护大熊猫。
具体要求:
1). 点击绿旗,游戏开始,变量“得分”为0,士兵与舞台上边缘以一条竖线连接(竖线由画笔模块实现、 颜色和粗细不限),如图所示;
2). 每按下一次键盘↑或↓按键,可以分别让士兵向上或向下移动5步;
3). 士兵在移动的过程中,竖线长度随着士兵的上下移动而变化,并且士兵向下最多移动到熊猫上方的平台上,如图所示;
4). 游戏开始后,每隔1秒,从舞台右半部分上边缘的随机位置出现一个怪物,并向下降落,如图所示;
5). 每次按下空格键,枪口处只发射出一发子弹,子弹水平向右移动并且碰到怪物或舞台边缘后消失;
6). 被子弹击中的怪物会消失,同时 “得分”增加1,当 “得分”为3时,游戏胜利,程序结束,如图所示;
7). 未被击中的怪物到达地面后,朝向大能猫持续移动,并不断切换造型;(参考视频)
8). 当怪物碰到大熊猫后,大熊猫爆炸,游戏失败,程序结束,如图所示。
评判标准:
-
5 分:满足"具体要求"中的1);
-
3 分:满足"具体要求"中的2);
-
10分:满足"具体要求"中的3);
-
7 分:满足"具体要求"中的4);
-
10分:满足"具体要求"中的5);
-
5 分:满足"具体要求"中的6);
-
6 分:满足"具体要求"中的7);
-
4 分:满足"具体要求"中的8)。
[超平老师解读]:
这是本次国赛初/中级组的第3题,难度中等,完成时间15分钟左右。关键点有两个,一是吊绳效果,二是子弹击中怪物时二者都消失的效果。
关于本题的详细讲解,可以参考《保护大熊猫-第15届蓝桥杯国赛Scratch初/中级组真题第3题》这篇教程。
4. 能力雷达图(60分)
编程实现:
雷达图可以展示一个运动员多个维度的能力,如图所示。
雷达图的中心点表示零值,从中心点向外发散六条轴线代表六个能力,每条轴线上有多个刻度,代表能力值,其中最大值为100。
例如:某乒乓球运动员的经验、防守、发球 技术,速度、力量的能力值分别为100、80、60、40、20、100,他的能力雷达图如下所示:
请你根据以上信息以及一个乒乓球运动员的各项能力值制绘制出他的能力雷达图。
具体要求:
1). 点击绿旗,在舞台中间位置呈现由5个嵌套的正六边形及6条轴线组成的雷达图(线的颜色为黑色,粗细为 1),相邻两个正六边片的轴线间距为20,最小的正六边形边长为20,最大的正六形边长为100,如图所示(雷达图6个顶点的文字自行添加);
2). 1秒后,出现滑杆形式的变量“经验”、"防守”、“发球”、“技术”、“速度”和“力量”,初始值依次为100、80、 60、 40、20、100,表示运动员的各项能力值,所有变量的取值范围都为 0~100,如图所示;
3). 1秒后,根据各能力变量的值,绘制该运动员的能力雷达图(新绘制出的多边形为红色,线的粗细为3),如图所示;
4). 每次用鼠标拖动任意一个滑杆,改变能力值的大小,都会实时呈现出当前能力的雷达图,如图所示。(参考视频)
评判标准:
-
12分:满足"具体要求"中的1);
-
4 分:满足"具体要求"中的2);
-
22分:满足"具体要求"中的3);
-
22分:满足"具体要求"中的4)。
[超平老师解读]:
这是本次国赛初/中级组的第4题,题目难度中等,完成时间20分钟左右。关键点有两个,一是计算6个顶点的坐标,二是实时更新能力图。
关于本作品的详细讲解,可以参考《能力雷达图-第15届蓝桥杯国赛Scratch初/中级组真题第4题》这篇教程。
5. 九宫格博弈战(80分)
编程实现:
九宫格博弈战。
螃蟹和海龟轮流抢占九宫格,每占一格,就会在该格里放上一只螃蟹或海龟,谁先占据九宫格的某一行、某一列或者某一条对角线的三个方块,那么谁就获胜,海豚会宣布获胜方;如果最终谁都没能获胜,海豚会说〝旗鼓相当”。
具体要求:
1). 点击绿旗,舞台上呈现一个九宫格(九宫格由3行3列排列整齐的方块组成),九宫格左侧显示一只螃蟹,舞台右下角显示一条海豚,如图所示;
2). 鼠标点击任意一个空白方块,该方块中会呈现出一只螃蟹,同时九宮格左侧的螃蟹变成海龟,如图所示;
3). 然后鼠标点击任意一个空白方块时,该方块中会呈现出一只海龟,同时九宫格左侧的海龟变成螃蟹,如图所示;
4). 鼠标点击有动物的方块时,无任何效果;
5). 重复执行“具体要求”2) ~ 4);
6). 如果螃蟹或海龟占据了九宮格的某一行、某一列或某一条对角线的三个方块,九宫格左侧的螃蟹或海龟消失,海豚宣布获胜方1秒,如下图所示,然后游戏结束;
7). 九宫格被占满后,九宫格左侧的螃蟹或海龟消失,如果此时没有分出胜负,海豚说“旗鼓相当”1秒,然后游戏结束;
8). 游戏结束后,当前游戏界面不再有任何变化,并且鼠标点击任意方块都不会有任何效果。
评判标准:
-
10分:满足"具体要求"中的1);
-
5 分:满足"具体要求"中的2);
-
5 分:满足"具体要求"中的3);
-
5 分:满足"具体要求"中的4);
-
10分:满足"具体要求"中的5);
-
20分:满足"具体要求"中的6);
-
20分:满足"具体要求"中的7)
-
5 分:满足"具体要求"中的8)。
[超平老师解读]:
这是本次国赛初/中级组的第5题,也是初级组的最后一题,题目难度较大,完成时间25分钟左右。本题的关键点有两个,一是如何记录落子情况,二是如何判断输赢。
关于本作品的详细讲解,可以参考《九宫格博弈战-第15届蓝桥杯国赛Scratch初/中级组真题第5题》这篇教程。
6. 扫雷游戏(100分)
编程实现:
扫雷游戏。
扫雷是一款益智小游戏,在一个4行4列的方块中有若干个随机方块中藏有地雷,游戏的目标是打开所有没有藏雷的方块,同时避开所有藏雷的方块。
该游戏有如下规则:
1、游戏开始时,玩家使用鼠标左键点击方块,若该方块中没有藏地雷,方块中会显示一个数字,显示的数字表示以该方块为中心的周围8个方块中藏的地雷数量;
2、玩家可以将鼠标指针移到任意一个方块上,然后按下空格键来插旗标记或者取消插旗标记,游戏中玩家可以用此方法来标记藏有地雷的方块以免游戏过程中误点;
3、胜负判定:如果只剩下藏有地雷的方块未被点击,则游戏胜利;在此之前如果点击了藏有地雷的方块,则游戏失败;
4、 游戏有三个难度等级:1级(1颗地雷)、2级(2颗地雷)、3级(3颗地雷)
具体要求:
1). 点击绿旗,变量“难度等级”和“用时”的值都为0,舞台下方显示输入框,并提示“请输入难度等级(1~3)”,如图所示;
2). 输入完成后,“难度等级〞的值变为输入的数字,瞬间出现4 行4 列排列整齐的方块,其中随机的一些方块中藏有地雷(有地雷的方块数与难度等级相同),剩余方块中各有一个数字,同时变量“用时” 开始每隔 1秒增加1,如图所示;
例如:输入2,难度等级为 2,有2个方块中藏有地雷。
3). 每次用鼠标点击方块,如果该方块中藏的不是地雷,则该方块中显示一个数字(数字表示该方块周围的8个方块中藏的地雷数量),如图所示;
例如:方块中的数字1表示该方块周围的8个方块中藏有1颗地雷。
4). 每次将鼠标指针移到任意一个没有旗帜的方块上,然后按下空格键,可以插旗标记你认为藏有地雷的方块;也可以将鼠标指针移到被标记的方块上,然后按下空格键取消标记,如图所示(被标记的方块点击后无任何效果);
5). 每次用鼠标点击方块,如果被点击的方块中藏有地雷,那么此方块中的地雷爆炸,其它方块中藏的地雷都显示出来,“用时”不再变化,显示“失败”,游戏结束(游戏界面不再发生任何变化,无法再进行游戏的任何操作),如图所示;(参考视频)
6). 当只剩下藏有地雷的方块未被点击时,“用时”不再变化,显示“胜利”,游戏结束(游戏界面不再发生任何变化,无法再进行游戏的任何操作)如图所示。(参考视频)
评判标准:
-
5 分:满足"具体要求"中的1);
-
15分:满足"具体要求"中的2);
-
20分:满足"具体要求"中的3);
-
20分:满足"具体要求"中的4);
-
20分:满足"具体要求"中的5);
-
20分:满足"具体要求"中的6)。
[超平老师解读]:
这是本次国赛中级组的第6题(初级组没有此题),也是压轴题,题目难度非常大,综合性非常强,完成时间30分钟左右。关键点有两个,一是如何记录每个方块的信息,二是如何计算每个方块周围的地雷数量。
关于本题的详细讲解,请参考《扫雷游戏-第15届蓝桥杯国赛Scratch中级组真题第6题》这篇教程。
三.总结
总体来说,本次国赛题目难度较大,重点考查的知识点主要集中如下几个方面:
-
外观编程;
-
运动编程;
-
Scratch画笔;
-
克隆编程;
-
变量和列表;
-
字符串处理;
-
自制积木;
从知识点层面来看,主要还是集中运动、画笔、克隆和列表四个部分。
其中运动编程是最基础的,在画笔编程和克隆编程中都需要灵活运动运动编程相关知识,在实现复杂作品的功能的时候,还需要结合变量和列表等知识。
换个角度来分析,我们可以将Scratch编程分为两个部分:
-
显示效果;
-
数据;
显示效果也就是我们常说的UI(用户界面),每个人都能够直观看到的,在Scratch编程中,通常是和外观、运动、克隆等相关。
除了一些简单的作品,大多数作品都会有相应的功能和效果,要支撑这些功能和效果,必然会涉及很多数据。如何管理这些数据呢,这就需要使用变量和列表了,尤其是列表,它可以批量管理和处理数据,非常强大。
显示效果和数据哪个更重要呢?
相对来说,数据更加重要,在学习编程时,我们要具备数据思维,用户界面是表面现象,数据才是本质,用户界面是由数据来驱动的。
除了知识点层面之外,另外一点就是考试技巧了。在短短的90分钟内,要想把每个作品都按照要求全部完成,难度非常大。此时,我们就要思考一下,如何才能在规定的时间内拿到更多的分数了,要合理规划,同时也要学会放弃。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄。