[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第106讲。
蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多文化教育研究中心合作推出的考试项目。STEM能力测试致力于综合评价学生的 STEM 水平,对学生的科技素养、逻辑思维和编程能力等三方面进行客观科学的测试。
STEMA测评每年8月份正式启动,平均每月举办一场,其中Scratch图形化编程分为初级组和中级组,10岁以下参加初级组,10岁以上参加中级组。
接下来,超平老师就从如下4个方面对2023年1月份的STEMA测评进行解读和剖析:
考试说明
选择题部分
编程题部分
总结
2022~2023学年的STEMA测评至今已经举办了6场,2023年1月15日举办的考试是第5次测评。Scratch图形化编程包括两种题型,分别是选择题和编程题,如图:
初级组和中级组共用一套试题,其中选择题有5道,编程题初级组有4道题,中级组有5道题,除了多了一道编程题,初级组和中级组的题目完全一样。
考试时间是90分钟,选择题答题完成之后,需要先提交,并且在提交之后不能再进行修改了,其目的是防止学生在编程环节使用程序来验证题目。
一共有5道选择题,每题4分,共20分,严禁使用程序验证,选择题不答和答错不扣分。
1. 运行以下程序,当角色被点击时会出现什么效果?( )
A. 小猫说:“你好”
B. 小猫不说话
C. 小猫直接消失
D. 以上选项都不对
[超平老师解读]:
本题正确答案是C,考察的知识点是说话指令的特点及Scratch指令执行的过程。绿旗点击时,小猫处于显示状态,当点击角色时,会立刻执行“说你好”指令和“隐藏”指令,两个指令几乎是同时执行的,所以小猫直接消失了。
需要注意三个细节:
1). 在Scratch中,说话和思考只在角色显示时有效,如果角色隐藏了,则不会显示任何内容;
2). 在Scratch中,指令执行的时间非常快,尽管这里的两个指令一前一后,但是它们之间的时间间隔非常小,几乎可以忽略不计,小猫刚准备说你好,就已经隐藏起来了;
3). 要区分”说你好“和”说你好2秒“两个指令之间的区别,前者几乎不占时间,并且说的内容会一直显示,直到停止脚本,后者则会持续2秒钟,然后消失,2秒钟之后,后续代码才开始执行。
2. 想让角色在舞台上持续移动,应采用下列哪种程序结构?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是B,考察的知识点是循环指令。要让角色在舞台上持续移动,需要使用无限循环,也就是”重复执行“指令。
尽管”重复执行10次“也是循环指令,但是它只能执行10次,10次之后就停止移动了,所以C不对。至于B和D中的指令,则属于条件指令,只能执行一次,就更不对了。
3. 下列哪个选项的运算结果为假?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是C,考察的知识点是逻辑运算。
在Scratch中,逻辑运算有三种,分别是逻辑与、逻辑或和逻辑非,对应的3个指令分别为”与“、“或”和“不成立”。逻辑运算的结果只有两个值,分别是真(true)和假(false)。
三种运算的规则如下:
对于“与”指令来说,只有两个条件都为真时结果才为真,否则就为假。
对于“或”指令来说,只有两个条件都为假时结果才为假,否则就为真。
对于“不成立”指令来说,如果条件为真,结果为假,如果条件为假,则结果为真。
A选项中,100 = 50是错的,所以本身为假,再进行逻辑非运算,结果就为真。
B选项中,100 = 50为假,而50 < 100为真,在进行或运算时,有一个条件为真,结果就为真。
C选项中,100 > 50为真,100 < 50 为假,在进行与运算时,有一个条件为假,结果就为假。
D选项中,100 > 50为真,50 < 100为真,在进行与运算时,两个条件都为真,结果也为真。
4. 运行以下程序,小猫在显示状态下说出的是?( )
A. 6
B. 8
C. 10
D. 14
[超平老师解读]:
本题的正确答案是D,考察的知识点是循环和变量,重点是对“将数字增加数字+2”指令的理解。
将数字增加数字+2,可以简单地理解为每次将数字翻一倍再加上2,用数学算式来表示就是:数字 = 数字 * 2 + 2。
数字的初始值为0,运算过程如下:
第1次运算,数字 = 0 * 2 + 2 = 2
第2次运算,数字 = 2 * 2 + 2 = 6
第3次运算,数字 = 6 * 2 + 2 = 14
5. 运行以下程序,能正确计算出:"1+2+3…+10”值的自制积木是?( )
A.
B.
C.
D.
[超平老师解读]:
本题的正确答案是C,考察的知识点是变量和循环,虽然有自制积木,但是这里的重点不是自制积木。
所谓求和,其实就是重复累加的过程,这里要累加的数字从1到10,因此要重复10次,也就是这里的参数“number”,把握两个关键点:
第一次增加的是1,而不是0,所以B和D不对;
每一次循环需要将i的值累加到变量“sum”上,而不是直接将sum设置为i,所以A不对。
编程题一共有5道,前面4题初级组和中级组共用,第5题是中级组的题目。
1.水下探险(15分)
编程实现:
水下探险。
具体要求:
1). 运行程序,角色、背景如图所示;
2). 等待1秒,潜水员向舞台右侧水平移动(能看到移动过程);
3). 潜水员水平移动到舞台右侧边缘后停下。
评分标准:
4分:满足“具体要求”中的1);
6分:满足“具体要求”中的1);
5分:满足“具体要求”中的1)。
[超平老师解读]:
本题属于简单题,考察的知识点包括循环和角色移动,参考代码如下:
简单说明3点:
1). 为了确保每次点击绿旗都有同样的效果,需要设置好初始位置;
2). 要看到移动过程,所以不能使用瞬间移动,通常使用循环,由于碰到舞台边缘就停止,所以直接使用条件循环比较简单;
3). 右移有两种实现方式,即“移动10步”或者“将x坐标增加10”指令,一般来说,使用后者更简单;
当然了,有些同学直接使用”在1秒内滑行到x,y“指令,也是可以的。
2. 画图机器人(18分)
编程实现:
画图机器人。
具体要求:
1). 点击绿旗,角色、背景如图所示;
2). 等待1秒,机器人水平向右移动到舞台右侧边缘,同时画出粗细10的白色线段(能看到移动过程);
3). 机器人画出由白色线段组成的三角形后回到初始位置(能看到移动过程)。
评分标准:
4分:满足“具体要求“中的1);
7分:满足“具体要求“中的2);
7分:满足“具体要求“中的3)。
[超平老师解读]:
本题属于简单题,考察的知识点包括画笔和运动编程,在Scratch中,绘制图形其实就是在落笔之后,控制角色按照指定的路线移动。
这里要绘制的是一个直角三角形,最简单的方法就是先水平向右移动绘制一条边,然后向上移动绘制第二条边,最后滑行到起点绘制第三条边。
参考代码如下:
需要注意的是,在Scratch中,绘制正多边形可以使用循环结合万能公式模型(边数 * 转角 = 360),但是对于非正多边形,最简单的方法就是确定好各个顶点的位置,然后移动画笔即可。
本题中要求能看到移动过程,所以需要使用循环结合移动指令慢慢画出线段。
3. 鹦鹉学舌(20分)
编程实现:
鹦鹉学舌。
具体要求:
1). 点击绿旗,角色、背景如图所示;
2). 按下一次空格键,鹦鹉询问:“请输入说话内容”同时出现询问框;
3). 输入完成后,鹦鹉会逐一说出每个字,间隔1秒。
例如:输入“大家好”,鹦鹉依次说出:“大”1秒,“大家”1秒,“大家好”1秒。
评分标准:
5分:满足“具体要求”中的1);
6分:满足“具体要求”中的2);
9分:满足“具体要求”中的2)。
[超平老师解读]:
本题难度中等,考察的知识点包括问答指令和字符串处理,重点是字符串的遍历操作。所谓的遍历字符串是指逐个取出字符串中的每一个字符,需要使用循环结合变量、字符串运算实现。
参考代码如下:
简要说明3点:
1). 点击角色有两种实现方式,一是使用”当角色被点击“指令,二是使用”碰到鼠标指针“和”按下鼠标“组合。前者写起来比较简单,但是不受绿旗控制,后者则必须在点击绿旗后才有效,一般建议使用第二种方式;
2). 在Scratch中,一旦检测按下鼠标,通常需要结合松开鼠标,确保按下并松开是一次完整的操作;
3). 在进行字符串连接的时候,需要将初始值设置为空。
4. 打地鼠游戏(25分)
编程实现:
打地鼠游戏:通过鼠标控制锤子移动,在出现地鼠的地洞处点击锤子,被锤子砸中的地鼠出现眩晕后消失。
具体要求:
1). 运行程序,角色、背景如图所示(变量"分数”初始值0);
2). 鼠标点击右下角的"START”,进入游戏操作界面;
3). 等待1秒后,锤子持续跟随鼠标指针移动,按下一次鼠标左键,锤子砸下后拾起;
4). 一个地鼠在1-2秒的随机时间内在任意一个地洞中出现,如果地鼠未被锤子砸中,它会在1-2秒时间后消失;
5). 地鼠如果被锤子砸中,此时地鼠切换造型0.2秒,当它消失后分数+1;
6). 重复持续4)、5)步骤。
评分标准:
2分:满足“具体要求”中的1);
2分:满足“具体要求”中的2);
5分:满足“具体要求”中的3);
8分:满足“具体要求”中的4);
5分:满足“具体要求”中的5);
3分:满足“具体要求”中的6)。
[超平老师解读]:
本题难度中等偏上,考察的知识点包括外观编程、事件广播机制、变量和列表,随机数运算、程序流程控制等,综合性较强。
关于本作品的详细讲解,可以参考《打地鼠游戏-第14届蓝桥杯STEMA测评Scratch真题精选》这篇教程。
5. 洗牌发牌(30分)
编程实现:
洗牌发牌。
具体要求:
1). 运行程序,角色、背景如图所示(五张草花牌面按照从小到大顺序排列);
2). 按下一次空格键,五张草花牌背面朝上进行随机洗牌(能看到牌面移动过程);
3). 等待1秒,在五张草花牌中随机抽取两张牌放到舞台下方边缘处(两张纸牌按照抽取的先后顺序排列);
4). 按下一次A按键,五张牌翻开牌面。
评分标准:
5分:满足"具体要求"中的1);
10分:满足"具体要求"中的2);
5分:满足"具体要求"中的3);
10分:满足"具体要求"中的4)。
[超平老师解读]:
本题难度较大,是中级组压轴大题,考察的知识点包括克隆编程、私有变量、列表的灵活运用、随机数运算、事件广播机制等,具有较强的综合性。
关于本题的详细讲解,请参考《洗牌发牌-第14届蓝桥杯STEMA测评Scratch真题精选》这篇教程。
总体来说,本次STEMA测评试题难度中等,编程题重点考察的知识点有如下4个部分:
运动编程
Scratch画笔
克隆编程
列表和基本算法
其中,运动编程是基础,也许你已经发现了,画笔编程和克隆编程中都用到了运动编程,足见运动编程的重要性。
关于运动编程,超平老师总结了一个运动4要素模型,即:
起点
方向
速度
终点
也就是说,在实现运动编程时,我们要从这4个方面来考虑,然后选择最简单的实现方式,一旦你熟练掌握了这个模型,运动编程也就不在话下了。
列表是一种常见的数据结构,功能强大,使用灵活,这也让很多同学感觉学习起来有些难度,需要多练习、多思考、多总结。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香
需要本次STEMA考试素材和源码的,可以移步至“超平的编程课”公众号,或者联系本人。