[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第121讲。
第13届蓝桥杯省赛举办了两次,这是2022年4月23日举行的第二次省赛,比赛仍然采取线上形式。试题包括两种题型,分别是选择题和编程创作题,其中选择题5道,都是和Scratch编程知识相关的题目,编程创作题有6道。初级组和中级组共用一套试题,其中中级组比高级组多了一道编程题。
接下来,超平老师就从如下3个方面对2022年4月23日的STEMA省赛进行解读和剖析:
-
选择题部分
-
编程题部分
-
总结
一.选择题部分
一共有5道选择题,每题20分,共100分,严禁使用程序验证,选择题不答和答错不扣分。
1. 运行一下程序后,小猫的坐标是?( )
A.(50,100)
B.(50,-100)
C.(-50,-100)
D.(-100,-100)
[超平老师解读]:
本题正确答案是B,考察的知识点包括舞台坐标系、移动指令和转向指令。
在Scratch中,舞台坐标系如图所示:
角色面向90度,移动50步,就意味着角色向右移动50步,x坐标就变成50。接着右转90度,意味着角色面向180度,也就是向下,再移动100步,y坐标相应的变成-100,所以,此时小猫的坐标是(50,-100)。
2. 运行下面哪个程序后,我们能看到如下图所示的小猫?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是B,考察的知识点是角色的外观特效。
对于A选项,先执行显示,再执行隐藏,最终小猫就处于隐藏状态,并且由于Scratch执行指令的时间非常快,我们几乎看不到小猫。
C选项中的像素化效果,会让小猫呈现出一个一个的小方块,如图:
D选项中的虚像是指角色的透明度,当虚像为100时,角色就看不见了。
3. 执行以下代码后,不可能说出的的结果是?( )
A. 0
B. 1
C. 3
D. 4
[超平老师解读]:
本题的正确答案是D,考察的知识点运算指令,包括随机数、除法和向下取整。
我们可以先计算出算式的最小值和最大值,当被除数最小并且除数最大时商最小,当被除数最大而除数最小时商最大。
被除数的最小值为2.0,除数的最大值为6,此时商为0.3333...,向下取整结果为0,所以最小值是0。
被除数的最大值为6.0,除数的最小值为2,此时商为3.0,向下取整结果为3,所以最大值为3。
因此,A、B、C都是有可能的,但是D中的4是不会出现的。
4. 我们知道“4年一闰,百年不闰;400年再闰”,意思是:年份是4的倍数是闰年,100的倍数不是闰年,年份是整百数时,必须是400的倍数才是闰年。
例如:1900年、2100年就不是闰年,而2000年就是闰年。
下面哪个程序可以正确判断年份是闰年?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是C,考察的知识点是逻辑运算,包括与、或和不成立。
根据题目的描述,闰年的年份分两种情况:
1). 4年一闰,百年不闰
2). 400年再闰
二者是逻辑或的关系,其中第二种情况比较简单,直接判断年份能被400整除即可。
第一种情况则稍微复杂一点,要求年份能被4整除,但是不能被100整除,所以需要使用逻辑与操作,其中不能被100整除还需要使用“不成立”指令。
5. 运行以下程序后,列表n里面内容正确的是?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是A,考察的知识点包括列表操作和字符串操作。
点击绿旗时,首先将列表清空,然后重复执行10次,依次将数字1、2、3、4、5、6、7、8、9和10插入到列表n中。
列表中现在有10个数字了,后续代码中的n的项目数就是10,可以直接换成数字10。
接下来又重复执行了10次,如果变量 i < 10,则将列表中的第i项替换为字符串a的第(10 - i) 个字符,由于a是回文字符串,其实就是替换为a的第i个字符。
所以,列表中的前9项,即数字1、2、3、4、5、6、7、8、9依次被替换为上、海、自、来、水、来、自、海、上,第10项则保持不变。
二.编程题部分
编程题一共有6道,前面5题初级组和中级组共用,第6题是中级组的题目。
1.热气球(难度1,40分)
编程实现:
上升的热气球。
具体要求:
1). 点击绿旗,角色、背景如图所示;
2). 等待1秒,热气球向舞台上方移动(能看到移动过程);
3). 热气球碰到舞台上方停止移动,等待1秒后,热气球从舞台上方飞出。
评分标准:
-
10分:满足“具体要求”中的1);
-
15分:满足“具体要求”中的2);
-
15分:满足“具体要求”中的3)。
[超平老师解读]:
本题难度系数为1,属于简单题,考察的知识点是运动编程,最简单的方法是直接使用“在1秒内滑行到x,y”指令。
参考代码如下:
需要注意的是,在舞台底部上升到舞台上方时,需要停顿一下,然后继续向上运动直至消失。
关于本题的详细讲解,可以参考《热气球-第13届蓝桥杯Scratch省赛真题第1题》这篇教程。
2. 帆船运动(难度2,50分)
编程实现:
帆船运动。
具体要求:
1). 运行程序,角色、背景如图所示;
2). 按下键盘的上键,帆船向上移动,松开上键帆船停止移动(不能移出水面);
3). 按下键盘的下键,帆船向下移动,松开下键帆船停止移动(不能移出水面);
4). 按下键盘的左键,帆船向左移动,松开左键帆船停止移动(不能移出舞台);
5). 按下键盘的右键,帆船向右移动,松开右键帆船停止移动(不能移出舞台)。
评分标准:
-
2分:满足“具体要求“中的1);
-
12分:满足“具体要求“中的2);
-
12分:满足“具体要求“中的3);
-
12分:满足“具体要求“中的4);
-
12分:满足“具体要求“中的5)。
[超平老师解读]:
本题难度系数为2,属于简单题,考察的知识点是运动编程和按键处理,重点是如何控制角色在指定区域上下左右移动。
针对按键编程,一般有两种方式,一是直接使用事件模块的中的“当按下xx键”指令,二是使用“重复执行” + “如果...那么” + “按下xx键”的指令组合。
其中使用第二种方式的参考代码如下:
关于本题的详细讲解,可以参考《帆船运动-第13届蓝桥杯Scratch省赛真题第2题》这篇教程。
3. 奥特曼大战怪兽(难度3,50分)
编程实现:
奥特曼大战怪兽。
具体要求:
1). 运行程序,角色、背景如图所示;
2). 等待1秒,怪兽说:“我要吃了你!!!”2秒;
3). 等待1秒,奥特曼说:“动感光波”2秒;
4). 奥特曼发射动感光波3次(怪兽被击中后有颜色变化),每次间隔0.5秒;
5). 等待1秒,怪兽逐渐变小旋转飞向舞台右上角后消失,同时说:“我还会回来的!!!”。
评分标准:
暂缺
[超平老师解读]:
本题难度系数为3,属于中等难度,考察的知识点包括运动编程、外观编程、克隆编程、事件广播机制和多线程编程,综合性比较强。
尤其是最后怪兽逃跑的时候,还要让怪兽旋转和变小,还是有一定难度的,考验学生对多线程编程的理解和掌握。
由于代码较多,这里就不贴出代码了,关于本题的详细讲解,可以参考《奥特曼大战怪兽-第13届蓝桥杯Scratch省赛真题第3题》这篇教程。
4. 水中倒影(难度4,50分)
编程实现:
水中倒影。
具体要求:
1). 运行程序,角色、背景如图所示;
2). 等待1秒后,画出小猫倒影(使用画笔,且能看到绘制过程)。
评分标准:
-
10分:满足“具体要求”中的1);
-
40分:满足“具体要求”中的2)。
[超平老师解读]:
本题难度为4,有一定的难度,考察的知识点包括扫描原理和Scratch画笔,重点有两个,一是对于扫描原理的理解,并自行绘制角色进行逐行扫描,二是如何计算倒影位置的坐标。
实际上,类似的题目在第11届的国赛中已经出现过,可以参考《3D打印小猫-第11届蓝桥杯Scratch国赛真题第6题》这篇教程。所以说,凡是之前考过的真题,我们一定要认真研究。
关于本作品的详细讲解,可以参考《水中倒影-第13届蓝桥杯Scratch省赛真题第4题》这篇教程。
5. 统计字符串(难度5,80分)
背景信息:
《三国演义》是元末明初小说家罗贯中创作的长篇章回体历史演义小说,与《西游记》、《水浒传》、《红楼梦》并称为中国古典四大名著。
编程实现:
对《三国演义》第一回原文进行数据处理,统计出现次数最多的5个汉字。
提示:
编程环境中已经预制一个列表名为“三国演义原文”,如下图所示,其中第一项存储着三国演义第一回文字。请注意务必不要删除这个列表。
具体要求:
1). 点击绿旗,小猫说“我要开始处理了!”2秒;
2). 出现字符列表和次数列表,开始对三国原文进行处理,同时小猫一直说:“处理中......”(处理中不需要对文字使用数量进行排序);
3). 等数据处理完毕后,小猫说:“现在开始排序”2秒;
4).次数列表中的数据按照从大到小的顺序进行排序(同时保证汉字与次数的数据一一对应),同时小猫说:“正在处理中”;
5). 将出现最多的五个汉字与次数保存在列表中,同时将剩余的汉字与次数从列表中删除;
6). 等待1秒后,小猫说:“处理完毕”2秒,程序终止。
评分标准:
-
5分:满足“具体要求”中的1);
-
20分:满足“具体要求”中的2);
-
5分:满足“具体要求”中的3);
-
20分:满足“具体要求”中的4);
-
25分:满足“具体要求”中的5);
-
5分:满足“具体要求”中的6)。
[超平老师解读]:
本题难度系数为5,属于难题,是初级组最后一题,考察的知识点包括类别的操作、字符串处理和排序算法,尤其是排序算法。
实际上,在之前的选拔赛和省赛中,也多次出现列表排序的题目,所以排序是每个孩子必须要掌握的基本算法。
关于本题的详细讲解,请参考《统计字符串-第13届蓝桥杯Scratch省赛真题第5题》这篇教程。
6. 报数游戏(难度5,100分)
背景信息:
5个男生和3个女生,8个人围成一个圆圈,给定一个数字n(2 ≤ n ≤ 5)。从第一个开始依次报数,当报数为n时,这个人离开圆圈。然后下一个从1开始报数,再次报到n的人离开圆圈,如此循环进行游戏直至仅为5个人为止。
请问游戏开始时,采用怎样的排法,才能使每次离开圆圈的都是女生,剩余的5人都是男生。
例如给定的数字为3时,每次报到3的人离开圆圈。
蓝色圆圈:男生;红色圆圈:女生。
编程实现:
报数游戏(初始由1开始顺时针报数)。
具体要求:
1). 点击绿旗,小猫说:“男生5人,女生3人,共8人。”;
2). 2秒后,小猫说:“报数为2”;
按照男生为蓝色,女生为红色,每次报到2的人离开圆圈的情况下,在舞台中正确呈现男生与女生在此轮游戏中的初始位置,使得3轮报数后留下的5人都是男生;
3). 2秒后,小猫说:“报数为3”;
按照男生为蓝色,女生为红色,每次报到3的人离开圆圈的情况下,在舞台中正确呈现男生与女生在此轮游戏中的初始位置,使得3轮报数后留下的5人都是男生;
4). 2秒后,小猫说:“报数为4”;
按照男生为蓝色,女生为红色,每次报到4的人离开圆圈的情况下,在舞台中正确呈现男生与女生在此轮游戏中的初始位置,使得3轮报数后留下的5人都是男生;
5). 2秒后,小猫说:“报数为5”;
按照男生为蓝色,女生为红色,每次报到5的人离开圆圈的情况下,在舞台中正确呈现男生与女生在此轮游戏中的初始位置,使得3轮报数后留下的5人都是男生;
6). 2秒后,程序结束。
评分标准:
暂缺
[超平老师解读]:
本题难度系数为5,属于难题,是中级组最后一题,考察的知识点包括列表操作、变量的灵活运用、事件广播机制和模块化的编程思想。
本题的难点有两个,一是彻底理解题目意思,二是使用假设法的编程思想。
实际上,本题所描述的场景来自于著名的约瑟夫环算法问题,在这个角度上讲,这是一道算法题,所以说难度不小。
关于本题的详细讲解,请参考《报数游戏-第13届蓝桥杯Scratch省赛真题第6题》这篇教程。
三.总结
总体来说,本次省赛题目难度较大,编程题重点考察的知识点可以概括为如下4个方面:
-
运动编程
-
画笔应用
-
克隆编程
-
列表和算法
对于运动编程而言,重点是深刻理解运动4要素模型,即起点、方向、速度和终点,并能做到灵活运用。
对于画笔而言,其使用比较简单,这里的重点是要理解打印小猫的原理和实现方法,考察的不仅仅是Scratch编程知识,更多的是科学素养和孩子的知识面。
克隆在本次省赛中的戏份不多,考察的点也比较简单,但是克隆编程本身有一定的难度,尤其是要注意避免克隆陷阱。
列表和算法是本次考试的重难点,最后两道题都和列表有关系,并且都和算法有关系,看来对列表的学习要进一步加强,排序算法是必须要熟练掌握的。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄
需要本次STEMA考试素材和源码的,可以移步至“超平的编程课”gzh,或者私信作者。