金箍棒变化-第15届蓝桥杯国赛Scratch初/中级组真题第1题
[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第193讲。
如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。
第15届蓝桥杯国赛已于2024年9月7日正式落下帷幕,初级组和中级组共用一套试题,编程题一共有6题(初级组只有前5题),分别如下:
-
金箍棒变化
-
画矩形
-
保护大熊猫
-
能力雷达图
-
九宫格博弈战
-
扫雷游戏
金箍棒变化,本题是2024年9月7日举行的第15届蓝桥国赛Scratch初/中级组编程第1题,题目要求编程创作金箍棒变化作品。当用户输入大时,孙悟空说大,金箍棒在1秒内变大至150;当输入小时,孙悟空说小,金箍棒在1秒内缩小至50。
先来看看题目的要求吧。
一.题目说明
编程实现:
金箍棒变化。
具体要求:
1). 点击绿旗,金箍棒初始大小为 100,角色、 背景如图所示;
2). 1秒后,金箍棒说 “请输入大或小”,同时舞台下方显示输入框,如图所示;
3). 输入完成后,孙悟空说出输入的内容 1秒;
4). 如果孙悟空说“大”,那么金箍棒在1秒内逐渐变大,直到大小为150,如图所示;
5). 如果孙悟空说“小”,那么金箍棒在 1秒内逐渐变小,直到大小为 50,如图所示。
评判标准:
-
2分:满足"具体要求"中的1);
-
3分:满足"具体要求"中的2);
-
3分:满足"具体要求"中的3);
-
6分:满足"具体要求"中的4);
-
6 分:满足"具体要求"中的5)。
二.思路分析
本题包含两个角色,分别是孙悟空和金箍棒,如图所示:
本题考查的知识点包括外观编程和事件广播机制。
题目的要求比较简单,金箍棒询问“请输入大或小”,待用户输入大或小后,孙悟空说大或小,接着金箍棒变大或变小,如图所示:
如何在两个角色之间来回切换流程呢?
这是要解决的第一个问题,答案是使用广播机制,如果有明确的执行顺序,得使用“广播并等待”指令。
其次,金箍棒如何在1秒内从100变到150或50呢?
Scratch提供的指令中,有“1秒内滑行到x,y”,但没有“1秒内将大小增加到”。
针对这个问题,我们可以粗略估计一下,由于重复执行指令本身是需要花费时间的,可以利用次数来控制时间。
如果每次大小增加1(或-1),一共需要重复执行50次,如果每次大小增加2(或-2),则需要重复执行25次,看看哪个更接近1秒。
思路有了,接下来,我们就进入程序实现环节。
三.编程实现
根据上面的思路分析,我们分三步来编写程序:
-
金箍棒询问
-
孙悟空说话
-
金箍棒变化
1. 金箍棒询问
切换到金箍棒角色,编写代码如下:
代码非常简单,强调两点:
1). 角色的初始化设置包括位置和大小,尤其是大小,必须要设置;
2). 在询问之后,使用的是“广播并等待”指令,这可以确保在孙悟空说话之后才能执行下面的代码;
2. 孙悟空说话
切换到孙悟空角色,编写代码如下:
代码非常简单,说明两点:
1). 角色坐标的设置在题目中没有要求,但是我们应该有这样的好习惯;
2). “回答”指令相当于是一个全局变量,每个角色都可以直接使用;
3. 金箍棒变化
切换到金箍棒角色,在”广播并等待“指令下面继续编写代码如下:
代码比较简单,强调两点:
1). 这里使用了两个”如果...那么“指令,没有使用”如果...那么...否则“指令,是确保只有在输入小的时候金箍棒才变小;
2). 这里的次数和大小并不是唯一的,只要确保在1秒内就可以;
至此,整个作品就创作好了,就是这么简单。
四.总结与思考
本题是初/中级组编程部分第1题,分数为20分,积木块数量23个左右,涉及到的知识点主要包括:
-
外观编程;
-
问答指令;
-
事件广播机制;
作为本次国赛的第1题,题目比较简单,完成时间5分钟左右,基本上是一道送分题。关键点有两个,一是如何确保两个角色严格按照顺序轮流执行程序,二是如何通过循环控制程序的执行时间。
超平老师给你留一道思考题,如何精确计算循环执行的时间(小提示:计时器)?
你还有什么好的方法吗,非常欢迎您和超平老师交流分享。
如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄
需要素材和源码的,可以移步至“超平的编程课”gzh。