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

蓝桥杯选拔赛每一届都要举行4~5次,和省赛、国赛相比,题目要简单不少,再加上篇幅有限,因此我精挑细选了一部分题目进行解读。

第12届蓝桥杯青少年组第3次选拔赛于2020年10月25日举行,形式为线上考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

植树节种树,本题是2020年10月25日举行的第12届蓝桥杯Scratch选拔赛真题编程第5题,初级组和中级组都有此题,题目要求编程创作植树节种树作品,通过程序把树木种到对应位置。

先来看看题目的要求吧。

一.题目说明

背景信息:

植物节是保护树木,并组织动员组织群众积极参加以植树造林为活动内容的节日,提倡通过这种活动,激发人们爱林造林的热情、意识到环保的重要性。每年3月12日为植树节。

编程实现:

通过程序把树木种到对应位置。

具体要求:

1). 点击绿旗,舞台上出现整齐排列的九块土地,右侧出现三种树木的列表。鼠标指针碰到其中一块土地时土地会改变颜色,鼠标离开时土地恢复成原来的颜色;

2). 在右侧选中一种树木用鼠标拖拽到指定的土地上,松开鼠标即为种下树木;

注意:

a. 必须移动土地上,才能种下,否则树消失;

b. 种下的树,必须在土地的正中央;

c. 已经种下的树不能再拖拽。

3). 每块土地上只能种一棵树,如果该块土地已经种树,第二次把树种在这块土地的时候拖拽出来的树会说:“这里已经有树了!”1秒,然后删除拖拽的树;

4). 当9块土地都种满了树,程序结束。

二.思路分析

本题一共有4个角色,如图所示:

其中土地角色有两个造型,分别为橙色和红色,如图所示:

本题考察的重点是Scratch克隆编程,9块土地以3行3列方式在舞台左侧整齐排列,这是典型的克隆编程,只需要使用嵌套循环,逐行克隆即可。

当鼠标点击右侧的树木时,立刻克隆出一棵树木,并跟随鼠标移动,当鼠标移到指定土地上,松开鼠标时,需要判断是否在该土地上种下树木。因此,我们必须要获取如下三大信息:

1). 当前土地是哪一块土地;

2). 当前土地上,是否已经种下树木了;

3). 当前土地的坐标,也就是树木要种下的位置;

这里的9块土地都是克隆出来的,要区分不同的克隆体,需要使用私有变量,我们可以定义一个私有变量”_id“,然后在克隆的时候分别将变量设置为1-9,这样就可以通过id来区分每块土地了。

每块土地是否已经种树及坐标信息,可以使用列表来进行保存,如图所示:

列表的初始值,可以在生成克隆体的时候进行,其中土地状态为0表示当前土地上还没有种树,为1则表示已经种树。

如此一来,问题就变得简单了,当松开鼠标时,先获取当前土地的id,然后通过列表就可以获取其状态,如果已经种树就删除克隆体,否则就将克隆体移到对应的位置上。

三.编程实现

根据题目描述和思路分析,我们可以分四步来编写程序:

  • 变量和列表初始化设置

  • 克隆土地角色

  • 克隆树木并种树

  • 种满土地结束程序

1. 变量和列表初始化

首先创建3个变量,分别命名为”_id“、”当前土地“和”种树数量“,如图:

其中,"_id"是土地角色的私有变量,添加下划线是为了区分全局变量和私有变量。“种树数量”是用来记录已经种下树木的数量。

接着创建3个列表,封面命名为”土地状态“、”x坐标“和”y坐标“,如图所示:

切换到土地角色,编写代码如下:

注意,在Scratch编程中,使用列表时一定要记得清空列表数据。

2. 克隆土地角色

这是一个3行3列的规则排列,我们只需要逐行克隆即可,在上面的初始化代码下面,增加代码如下:

这是一个典型的克隆代码,使用的是两层循环,内层循环解决的是如何在一行克隆3个土地,而外层循环解决的则是如何克隆3行。

每次克隆之前,将x和y坐标保存到列表中,同时将_id加1,根据克隆体在克隆时和本体特征完全一致的原理,每个克隆体就都有自己的id和坐标值,并存放到列表中了。

生成克隆体之后,需要显示出来,当鼠标移到克隆体上时,切换到绿色造型,松开时切换到橙色造型,代码如图:

这里还做了一个非常重要的动作,就是“将当前土地设为_id”,如此一来,我们就可以通过变量“当前土地”获知要在哪一块土地上种树了。

3. 克隆树木并种树

对于树木角色来说,这里的3个树木角色逻辑完全一样, 接下来我们就以“tree1”角色为例进行讲解。

当鼠标点击tree1角色时,立刻生成一个克隆体,对应的代码如下:

简要说明两点:

1). 这里并没有使用事件指令“当角色被点击”,是为了避免点击克隆体也会生成一个克隆体的情况;

2). 在“克隆自己”指令后面增加了一个“等待按下鼠标不成立”指令,是为了确保在松开鼠标之前只有一个克隆体。

一旦生成了克隆体,克隆体就需要跟随鼠标移动,直到松开鼠标为止,如果此时不在土地上,就立刻删除克隆体,否则就需要考虑是否种树,这部分的代码如下:

如果克隆体碰到了土地,此时就需要判断当前土地是否已经种树了,还记得前面的“土地状态”列表和“当前土地”变量吧。

将两个指令进行组合就可以获取当前土地的状态了,如果状态为1,表示已经种树了,就提示“这里已经有树了”,然后删除克隆体。否则就将克隆体移到该土地的位置,并将状态值更新为1,同时增加“种树数量”的值。

在上面的“否则”指令中,增加代码如下:

4. 种满土地结束程序

当9块土地全部种满之后,需要结束程序,在上面的程序中,每成功种下一棵树,变量“种树数量”就增加1,当变量为9时,就说明已经全部种满了。

很多同学会想,这还不简单嘛,直接判断当变量等于9时,停止全部脚本不就行了。你可以试一下,会发现,一旦停止全部脚本,所有的克隆体都消失了,这是Scratch的特点,一旦停止全部脚本,克隆体都会消失。

实际上,在上面的代码中,只有两个地方是无限重复执行的,即土地克隆体和tree1角色绿旗代码块中,所以,我们只需要将它们改成条件循环即可。

将土地角色的克隆体代码块修改如下:

同理,在tree1角色中,修改绿旗代码块如下:

这样一来,当所有土地都种满数后,代码就都停止下来了,关键是克隆体也不会消失。另外两个树角色的代码和tree1基本一样,只是位置稍有不同,这里就不再列出了。

至此,整个作品就创作完成了,一个简单有趣的植树作品就诞生了,^_^。

四.总结与思考

本题难度系数为5,积木块数量73个左右 ,涉及到的知识点主要包括:

  • 克隆编程,重点是克隆按规则排列的克隆技巧;

  • 变量的使用,尤其是私有变量在克隆体中的应用;

  • 列表的应用;

  • 拖拽角色的实现;

  • 循环编程,包括循环嵌套和条件循环;

  • 条件语句的嵌套。

本题难度较大,关键是要找到判断当前土地是否已经种树的方法,这里结合了全局变量、私有变量和列表。这需要考生熟练掌握私有变量在克隆编程中的用法,以及对列表有着敏锐的感觉。

同时,这道题在很大程度上考察了孩子的逻辑思维能力,可以说是一道非常好的考题。

如果你觉得文章对你有所帮助,别忘了点赞,你的鼓励是我坚持继续写下去的最大动力,Thanks♪(・ω・)ノ。

有需要素材和源码的,可以联系本人。

植树节种树-第12届蓝桥杯Scratch选拔赛真题精选相关推荐

  1. 时光倒流-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第88讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  2. 春夏秋冬-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第89讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  3. 竹蜻蜓-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第84讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  4. 小猴吃苹果-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第90讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  5. 吃豆人游戏-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第79讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  6. 乒乓球游戏-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第81讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  7. 放大镜-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第80讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  8. 棒子老虎鸡-第12届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第86讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

  9. 闰年计算-第13届蓝桥杯Scratch选拔赛真题精选

    [导读]:超平老师计划推出Scratch蓝桥杯真题解析100讲,这是超平老师解读Scratch蓝桥真题系列的第76讲. 蓝桥杯选拔赛每一届都要举行4~5次,和省赛.国赛相比,题目要简单不少,再加上篇幅 ...

最新文章

  1. WIn7下Ubuntu 14.04 安装
  2. VMware vCenter 6.0 安装及群集配置介绍
  3. 学python需要什么基础知识-学习Python需要知道哪些基础入门知识?
  4. JVM-08垃圾收集Garbage Collection【GC常用参数】
  5. 【数据结构与算法】7.位图算法、12306抢票算法
  6. 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版)
  7. mysql 查看导出数据字典
  8. 递归的应用之字符串反转
  9. 使用tinymini210开发远程的温度监控系统,实现C#和安卓客户端显示数据和控制
  10. myeclipse与mysql连接_myeclipse 与 mysql 的连接
  11. spring5教程(一)——Overview
  12. 苹果计算机怎么显示桌面,苹果mac电脑快速显示桌面及切换应用的详细教程
  13. 软件工程和计算机科学考公务员,软件工程可以考公务员吗
  14. 群晖无数据丢失的磁盘阵列变更解决方案(4盘位两个Raid1转SHR-1)
  15. 【独家】寒武纪A轮融资1亿美元,成全球AI芯片首个独角兽,阿里参投
  16. Java程序的编辑、编译、运行
  17. 【文献解读 情感合成】Expressive Speech Driven Talking Avatar Synthesis with DBLSTM using 有限的情感双峰数据
  18. CNN Tensorflow 入门——以Cifar-10为例
  19. 【算法】各种哈希算法
  20. node.js下安装 webpack 的时候,出现:TypeError:this is not a typed array;

热门文章

  1. 计算机应用基础2004年,计算机应用基础2004年上半年全国试题参考答案1
  2. Latex参考文献问题---参考文献条数不显示
  3. [附源码]计算机毕业设计Python+uniapp基于安卓的校园跑腿代购476ww(程序+lw+APP+远程部署)
  4. 运维是计算机行业里技术含量最低的岗位吗?
  5. c#线程-线程间发消息-线程给窗体传值
  6. 某x动漫app逆向分析
  7. 台式计算机文件打不开怎么回事,电脑文件打不开是怎么回事 电脑Word文档打不开怎么处理...
  8. linux根据修改日期删除,在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?...
  9. 使用java将多种类型的文件如Word、PDF、JPG汇总到一个文档中(Word或者PDF)
  10. DataFun: 微信NLP算法微服务治理