数字与图形-第13届蓝桥杯Scratch国赛真题第5题

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

第13届蓝桥杯青少年组国赛于2022年5月29日举行,形式为在线考试。Scratch分为初级组和中级组,其中初级组面向7~10岁孩子,中级组面向11~14岁孩子。

数字与图形,本题是第13届蓝桥杯Scratch国赛真题编程第5题,初级组和中级组都有此题。题目要求考生编程实现根据输入的一组数字生成柱状图,初步体验数据的处理和图形化显示。

先来看看题目的要求吧。

一.题目说明

编程实现:

数字与图形。

具体要求:

1). 点击绿旗,出现空列表以及输入框;

2). 按要求输入一组数字(最少为1个数字,最多为9个数字,每个数字之间用空格隔开),其中每个数字最小为1,最大为30;

3). 将这组数字装入空列表中;

4). 1秒后,根据列表中的数据,呈现出相应的柱状图(相邻两个柱间隔40)。

评判标准:

  • 10分:满足“具体要求”中的1);

  • 10分:满足“具体要求”中的2);

  • 25分:满足“具体要求”中的3);

  • 55分:满足“具体要求”中的4)。

二.思路分析

先由玩家输入一组数据,程序接收到数据之后,进行相应的处理,最后以柱形图的方式呈现在舞台上,这是一个典型的IPO模式。

什么是IPO呢,所谓的IPO是三个英文单词Input、Process和Output的缩写,分别表示输入、处理和输出,它是计算机中一个非常基本的编程思想和设计模式。

其实,在我们的日常生活中到处都有IPO模式,比如榨汁机,将橘子输入到机器中,经过机器的处理,就可以输出美味可口的橘子汁。再比如,鲁迅先生的名言“吃进去的是草,挤出的是奶”描述的也是一种IPO模式。

回到本题,我们可以从IPO的3个方面来分析,即输入、处理和输出。

首先是输入,在Scratch中,可以使用“询问并等待”指令,然后使用“回答”指令接收用户输入的数据,这一步非常简单。

其次是处理,用户输入的数字是一个字符串,我们需要将这个字符串中的数字挨个提取出来,存入到列表中,换句话说,就是将字符串转换成列表。转换的关键就在于空格,因为数字之间是使用空格隔开的,具体的实现方法稍后介绍。

最后是输出,题目要求以柱形图的方式来呈现数据,这就意味着在舞台上需要排列大量的小方块,可以使用克隆或者图章来实现。

三.编程实现

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

  • 获取用户的输入[Input]

  • 将字符串转成列表[Process]

  • 生成柱形图[Output]

1. 获取用户的输入[Input]

当绿旗被点击时,出现空列表和输入框,这一步是最简单的,首先,创建一个列表,将其命名为“有效数据”,并清空,然后使用问答指令,并使用变量“数字串”保存玩家输入的数据,代码如图所示:

2. 将字符串转成列表[Process]

接下来,我们就需要将字符串中的数字逐个提取出来,然后存入到列表中。根据上面的思路分析,这里是通过空格来分隔数字的,我们可以循环遍历数字串中的每一个字符,如果字符不是空格,就将这个数字提取出来并进行连接,直到碰到空格,就将连接好的数字存入列表。

这里的关键是如何判断字符是否为空,在Scratch中,直接打一个空格键即可,这部分的代码如下:

说明两点:

1). 在上图标示的圆框中,按一下空格键就表示一个空白字符,但是这种方法不能处理多个空格的情况,针对本题而言,我们能处理一个空格的数据即可;

2). 最后,单独使用“将数字加入有效数据”指令,其目的是将最后一个数字存入列表,否则就少了一个数字。

3. 生成柱形图[Output]

有了完整的列表数据,我们就可以生成柱形图了,可以使用克隆和图章两种方式,这里我选择克隆方式。

一个数字对应一根柱子,而每根柱子都有若干个小方块堆积而成的,所以,我们可以使用嵌套循环来实现,其中内层的循环负责生成一根柱子,而外层的循环负责自左至右生成多根柱子,其代码如下:

这里的关键是关于坐标的设置和变化,对于每一根柱子来说,都是从底部往上克隆,所以,在克隆每一根柱子之前,使用“将y坐标设为-168”指令来设置它的起点。

每根柱子都包含多个小方块,因此,每克隆一个小方块,就往上移动一点,这就是“将y坐标增加11”指令的作用。同时,这些柱子自左至右排列,所以,一开始,将本体的x坐标设为-220,当一根柱子克隆完成之后,使用“将x坐标增加40”指令往右移动40步。

当然了,不要忘了加上克隆体显示的代码,如下:

至此,整个作品就创作完了,你可以输入各种不同的数据来测试效果了。 

四.总结与思考

本题的总代码量为45个积木块左右,难度中等,涉及到的知识点主要包括:

  • 列表及相关操作,包括创建、获取列表数据和清空列表数据;

  • 字符串的处理,包括连接和比较操作,尤其要注意空字符串的特殊性;

  • 变量的使用,尤其是变量在循环遍历列表中的使用;

  • 克隆的技巧,结合嵌套循环进行批量克隆;

  • 使用问答模块实现交互;

  • 坐标的设置及灵活运用;

  • 编程中的IPO模式。

本题的难点在于如何将使用空格分隔的字符串转换为列表,和Python、C等语言相比较而言,Scratch对字符串的处理要弱很多,所以,这里能够处理一个空格的情况即可,尤其是在比赛时,快速按照题目要求完成创作即可,不用追求完美。

本题还涉及了编程中的IPO模式,这是一个非常重要的编程思想,计算机的诞生、发展史都是基于这一重要思想的。

其实,我们每个人都有自己的IPO模型,我们每一天的学习,都是获取信息输入-大脑处理-总结输出的一个过程,不同的人有不同的输入、处理和输出方式,比如我正在写的系列教程就是一种输出方式,你的IPO模式又是怎样的呢?

需要源码和素材的,可以练习本人。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 青少组蓝桥杯scratch国赛真题是面向青少年参赛的一个编程竞赛。蓝桥杯是中国最大的国家级高校计算机竞赛,它旨在激发青少年对计算机科学的兴趣和热情。 该比赛要求参赛者使用Scratch这个简单易学的编程语言来完成编程任务。Scratch是一种图形编程环境,可以通过拖拽图形块来编写程序。它不需要掌握复杂的语法和编程知识,非常适合初学者。 蓝桥杯青少组的Scratch真题通常涵盖各种主,如游戏设计、动画制作和创意编程等。参赛者需要根据目要求设计和完成一个创意的项目,同时需考虑实现的难度和创新性。 在比赛中,参赛者需要展示他们在程序设计、逻辑思维和创作能力方面的才能。不仅需要完成项目的基本要求,还需要有独特的创意和技术上的突破。 蓝桥杯Scratch国赛真题是通过评委进行评分的,评分标准包括功能完整性、创新性、用户体验和代码质量等。评委会根据项目的表现和解决问的方法来评定参赛者的成绩。 通过参与蓝桥杯青少组的Scratch国赛,青少年可以锻炼他们的编程技能和创造力,增加对计算机科学的兴趣与了解。这项比赛为他们提供了一个展示自己创意和才华的平台,同时也能为参赛者带来学习和成长的机会。 ### 回答2: 青少组蓝桥杯是中国青少年计算机编程竞赛的一个分支,以挖掘和培养青少年计算机编程潜力为目标。蓝桥杯scratch国赛是该组别中一个重要的赛事,其中使用了Scratch编程语言。 Scratch是麻省理工学院开发的一种图形化编程语言,适合初学者入门。蓝桥杯scratch国赛真题主要考察参赛选手的Scratch编程能力和创造力。根据往年比赛目,这些真题通常涉及动画制作、游戏设计和问求解等方面。 选手在参赛前,首先需要了解Scratch语言的基本知识和操作方法。比赛中,选手需要根据目要求,在Scratch平台上进行编程创作。他们会利用Scratch提供的图形化积木,完成任务的实现。这些任务可能要求设计一个动画、制作一个游戏,甚至是解决某个实际问。 参赛选手需要熟悉Scratch的各类积木,如控制积木、事件积木、运算积木等,才能准确表达创意,完成任务要求。同时,他们还需要具备逻辑思维和创新能力,能够在限定的时间内进行快速设计和开发。 参加蓝桥杯scratch国赛有助于培养青少年的计算机编程兴趣和能力。这项比赛为他们提供了一个展示自己创意和才华的舞台。而通过参与比赛,他们还能通过与其他优秀选手交流学习,提升自己的编程水平。 总之,青少组蓝桥杯scratch国赛真题要求选手在Scratch平台上进行编程创作,并展示他们的创造力和解决问的能力。这项赛事不仅是一种竞赛形式,更是促进计算机编程教育普及和青少年创意能力培养的重要活动。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值