修建金字塔-第12届蓝桥杯Scratch省赛3真题第4题

[导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第42讲。

第12届蓝桥杯青少年组省赛分两次进行,这是2021年4月24日举行的第二次省赛考试初级组,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

修建金字塔,本题是第12届蓝桥杯Scratch第二次省赛真题初级组编程第4题,题目要求考生编程修建15层高的金字塔,其中前5层快速修建,中间5层慢速修建,最后5层快速修建。

先来看看题目的要求吧。

一.题目说明

编程实现:

修建15层高的金字塔。

具体要求:

1). 第一层金字塔并排使用15个砖块堆砌;

2). 每向上修建一层砖块减少1;

3). 前5层快速修建(瞬间完成);

4). 中间5层慢速修建(能看见修建过程);

5). 最后5层快速修建(瞬间完成),金字塔完成修建并且以上步骤完全正确。

评判标准:

  • 5分:满足要求1);

  • 15分:满足要求2);

  • 15分:满足要求3);

  • 15分:满足要求4);

  • 20分:满足要求5)。

二.思路分析

本题只有1个角色,就是砖块,如图所示:

修建金字塔的过程,就是不停地复制砖块的过程,通常有两种方式可以实现,一是克隆,二是图章,对于本题而言,两种方法都可以使用。

这里的重点有两个:

1). 如何实现慢速和快速

2). 逐层复制砖块时,如何计算砖块的初始位置

针对第一点,我们可以利用自制积木的特性来实现,默认情况下,使用克隆或图章复制砖块是慢速,如果在自制积木中勾选了“运行时不刷新屏幕”,则可以瞬间复制完所有砖块,这就是所谓的快速。

对于第二点,我们可以这样来思考,每一层都是从左至右来复制的,假设当前层砖块数量为n,当第n个砖块复制完成后,将砖块角色左移n个砖块的距离,这样就回到了第一个砖块的位置,再右移半个砖块的距离,然后再将砖块角色上移一层砖块的高度,这样就可以接着复制下一层了。

三.编程实现

根据上面的思路分析,我们可以分3步来编写程序:

  • 编写主体程序

  • 慢速搭建5层

  • 快速搭建5层

1). 编写主体程序

由于舞台大小的限制,为了确保最底层的15个砖块都落在舞台范围内,需要调整一下砖块角色的大小,我这里将砖块的大小设置为33,如图所示:

在搭建金字塔过程中,每一层的砖块数量是变化的,所以,我们需要创建一个变量“砖块数”表示每一层要复制的砖块数量。

整个搭建的过程分3步,前5层快速搭建,中间5层慢速搭建,最后5层快速搭建,实际上就是快速搭建5层和慢速搭建5层,我们可以使用两个自制积木来实现这两个功能。

如此一来,我们就可以先完成程序的主体部分,代码如下所示:

有个细节要说明一下,在设置第1层第1个砖块的位置时,需要让砖块和舞台边缘有一定的距离,这个距离应该大于半个砖块的长度。之所以这么做,是考虑到角色在碰到舞台边缘时,并不一定会按照实际距离向前移动,从而导致坐标计算出现偏差。

2). 慢速搭建5层

有了主体程序,解析就需要编写自制积木了,我们先来实现慢速搭建5层的自制积木,新建一个自制积木,命名为“慢速搭建5层”。

根据前面的思路分析,我们这里使用克隆来复制砖块,针对每一层的砖块来说,每复制一个砖块,右移30步(即一个砖块的长度),当复制完所有砖块后,就将砖块移到最左边的起始位置,这可以通过“砖块数  * 30”计算出来,接着右移半个砖块的距离(15步),再将砖块上移一个砖块的高度(20步),具体的代码如下所示:

一旦有了克隆体,我们需要将克隆体显示出来,编写代码如下:

3). 快速搭建5层

快速搭建5层的逻辑及代码和慢速搭建5层完全一致,唯一不同的是需要瞬间克隆完所有的砖块,在新建自制积木时,勾选左下角的“运行时不刷新屏幕”,如图所示:

然后将慢速搭建5层中的代码复制过来即可,代码如图所示:

这里的”运行时不刷新屏幕“到底是什么意思呢,有什么作用呢?

更准确地来说,“运行时不刷新屏幕”,是指不刷新舞台。其作用是确保自制积木中的代码在执行时省去舞台刷新的步骤,并在整个自制积木执行完毕后再刷新屏幕。

由于刷新舞台会消耗计算机资源,需要一定的时间,因此使用“运行时不刷新屏幕”功能可以使特定的代码加快执行效率,缩短运行时间,但是用户无法通过舞台看到程序运行过程中的效果变化,可以简单的理解这部分的代码是同时执行的。

在之前介绍过的《切换子弹》《组合图形》作品中,都使用了自制积木的“运行时不刷新屏幕”这个编程技巧。

四.总结与思考

本题难度系数为3,一共35个积木块,分值为70,涉及到的知识点主要包括:

  • Scratch舞台坐标及角色位置的计算;

  • 克隆技术及克隆的特征;

  • 自制积木的使用,尤其是“运行时不刷新屏幕”的理解和运用;

  • 变量的使用;

本题的难点在于如何计算每1层第1个砖块的位置,这需要有很好的逻辑思维和数学功底,这也就是我们经常说的编程和数学之间的关系,它们是相辅相成的。

因为编程,我们需要灵活地运用课本上学到的数学知识,让数学真正地有了用武之地,学有所用。反之,有了较好的数学基础,让编程变得更简单,也更强大。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,十分感谢。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯scratch是指蓝桥杯编程大中使用Scratch编程语言进行的级比的问。具体的目会根据每年的比而有所不同,以下是一个例子: 目要求创建一个游戏,模拟猴子爬楼梯的场景。猴子每次可以爬1到3级的楼梯,目标是爬到楼梯的最顶层。玩家可以通过按键来让猴子爬楼梯,同时需要显示猴子当前所在的楼梯层数以及已经爬过的楼梯数量。 首先,我们需要使用Scratch中的精灵功能来创建一个猴子的角色,可以自定义猴子的造型和动作。接下来,我们需要创建一个楼梯场景,可以使用Scratch中的背景功能来绘制楼梯。可以使用简单的图形表示楼梯,比如长方形。 之后,我们需要添加按键事件,让玩家输入按键来控制猴子的爬楼梯动作。可以使用Scratch中的事件功能来实现按键事件的触发。当玩家按下某个按键时,猴子开始向上爬楼梯。可以使用Scratch中的运动功能来控制猴子的位置,让其向上移动相应的楼梯层数。 同时,我们需要计算猴子当前所在的楼梯层数和已经爬过的楼梯数量。可以使用Scratch中的变量功能来记录这些信息。当猴子爬上一级楼梯时,楼梯层数加一,已经爬过的楼梯数量也加一。可以使用Scratch中的运算功能来实现变量的加法操作。 最后,我们需要添加判断条件,当猴子爬到楼梯的最顶层时游戏结束。可以使用Scratch中的控制功能来实现判断条件。当猴子的位置达到最顶层时,显示游戏结束的提示信息,并停止猴子的爬楼梯动作。 通过以上步骤,我们可以完成蓝桥杯scratch中的猴子爬楼梯游戏。这个例子中只是其中的一个目,实际比中的问会更加复杂和多样化。但无论目怎样,我们都可以通过使用Scratch的各种功能和编程思维,去解决这些问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值