比较身高-第15届蓝桥杯第一次STEMA测评Scratch真题精选

news2024/11/19 5:43:09

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第153讲。

第15届蓝桥杯第1次STEMA测评已于2023年8月20日落下帷幕,编程题一共有6题,分别如下:

  • 行走的螃蟹

  • 飞驰的高铁

  • 旋转的正方体

  • 弹跳小球

  • 比较身高

  • 数据计算

比较身高,本题是2023年8月20日举行的第15届蓝桥杯STEMA测评Scratch编程中级组编程第5题,题目要求编程实现比较身高。游戏开始后,先向列表中插入5个随机的身高数据,1秒后计算他们的平均身高,再等1秒,将小于平均身高的数据填充到另一个列表中,并排序。

先来看看题目的要求吧。

一.题目说明

编程实现:

比较身高。

具体要求:

1). 运行程序,角色、背景如图所示(列表1和列表2为空);

图片

2). 等待1秒后,在列表1中随机生成5个不重复的整数(170 ≤ 整数 ≤ 190),表示5名同学的身高;

图片

3). 等待1秒后,小男孩说出5名同学的平均身高2秒(平均身高四舍五入取整);

图片

4). 在列表2中自动填入列表1中小于平均身高的数据(按照由小到大的顺序排列)。

图片

评判标准:

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

  • 15分:满足"具体要求"中的2);

  • 15分:满足"具体要求"中的3);

  • 40分:满足"具体要求"中的4)。

二.思路分析

本题只有1个角色,就是卡通小人,如图所示:

图片

本题考查的知识点包括列表操作、数学运算和排序算法。

根据题目的描述,我们使用计算思维中的拆分思想,可以将作品的功能分为4个模块:

  • 随机身高数据

  • 计算平均身高

  • 筛选数据

  • 排序

对于模块1,要求在列表1中随机生成5个不重复的整数。这里的关键是不重复,这就要求每随机一个身高,都需要判断列表1中是否包含该数据,如果包含,则重新生成,直到不包含为止,这通常需要使用”重复执行直到“指令。

模块2则比较简单,可以有两种方式:

1). 在生成身高数据的时候,进行累加,然后将总和除以5;

2). 单独计算,使用循环遍历列表,进行累加,然后将总和除以5;

两种方式各有优劣,方式1比较简单,方式2的代码结构更优,为了让代码结构更加清晰,超平老师选择方式2。

模块3,筛选数据也比较简单,只需要对列表1进行遍历,挨个比较,将小于平均身高的数据插入到列表2中即可。

模块4是排序,也是本作品的难点。关于排序,在之前的真题中出现过多次,比如:

  • 《考试成绩系统-第12届蓝桥杯Scratch省赛2真题第5题》

  • 《列表排序-第14届蓝桥杯STEMA测评Scratch真题精选》

排序是编程中最常见的基础算法,关于排序的算法也挺多的,常见的经典排序算法有选择排序、插入排序、冒泡排序和快速排序等。

实际上,针对此题中的数据,还有更简单的方式,就是比较法。

本题中的身高在170~190之间,而列表2中的数据在170 ~ 平均身高之间,我们可以让数字从平均身高开始,将其和列表2中的数据挨个比较,如果相等,则说明该数字是最大值,将其移到列表的最前面,否则就不做任何操作。

然后将数字减1,再重复上面的操作,直到所有小于平均身高的数据都处理完,这样就可以将列表2中的数据按照从小到大进行排列了。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

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

  • 初始化

  • 随机身高数据

  • 计算平均身高

  • 筛选数据

  • 排序

1. 初始化

本题的初始化比较简单,包括列表的清空、角色的位置,在角色中编写代码如下:

图片

注意:需要先创建好列表1和列表2。

由于代码较多,为了简化代码结构,也为了方便讲解,超平老师定义了4个自制积木,分别用于实现随机身高数据、计算平均身高、筛选数据和排序,如图:

2. 随机身高数据

根据思路分析,需要创建变量,将其命名为”随机数“,然后随机一个身高,重复判断列表1中是否包含该随机数,代码如下:

图片

这段代码非常经典,专门用于实现向列表中插入不重复数据,其关键点是”重复执行直到“指令的使用。

每次生成的随机数有两种可能性,要么不在列表中,要么在列表中。如果不在列表中,条件不成立,循环结束,直接将随机数插入列表中;如果在列表中,则需要执行循环,重新生成随机数,直到生成的随机数不在列表中,然后再将随机数插入到列表中。

3. 计算平均身高

这一模块相对比较简单,使用循环将列表中的每一项取出来,累加求和,再除以5即可,为了实现这一功能,需要创建3个变量:

  • i,用作计数器

  • 身高和

  • 平均身高

其实现代码如下:

图片

需要注意,这里的平均身高是需要进行四舍五入的。

4. 筛选数据

筛选数据比较简单,仍然是循环遍历列表,将小于平均身高的列表项插入到列表2中,其代码如下:

图片

需要注意,这里的变量”i“和自制积木”计算平均身高“中的”i“是同一个变量。它是计数器,可以反复使用,但是必须要重新初始化,确保每次都是从第1项开始遍历。

5. 排序

最后一步就是排序了,根据前面的思路分析,我们要使用两次循环来实现,其代码如下:

图片

简单说明如下:

1). 内层循环的作用是对于给定的数字,判断其是否存在于列表2中,如果存在,则将其移到到列表的最前面(先删除,再插入);

2). 外层循环的作用则是将数字从平均身高开始,每比较一轮,就将数字减1,直到列表2中所有小于平均身高的数据都处理一遍;

4个自制积木都已经全部实现了,将其连接起来,完整的代码如下:

图片

至此,整个作品就创作好了,你可以运行程序多测试几遍,看看效果如何吧。

四.总结与思考

本题是中级组编程部分第5题,分数为80分,积木块数量70个左右,涉及到的知识点主要包括:

  • 列表的基本操作,包括插入和删除;

  • 遍历列表;

  • 循环编程,尤其是两层循环;

  • 运算符,包括随机数、四舍五入、连接字符串、不成立等;

  • 排序算法;

这是中级组的第5题,题目有一定的难度,完成时间20分钟左右,难点是如何实现列表的排序。

在实际编写程序的时候,很多同学习惯性地将所有代码都写在一起,从效果上来看,当然是没什么问题的。但是在编程的过程中,比较容易出错,一会儿在这里加点代码,一会儿在那儿删除代码,操作起来很不方便。

所以,超平老师强烈建议你使用模块化的思想,将其拆分成4个不同的模块,并使用自制积木分别实现。如此一来,代码的结构更加清晰,编程的时候也不容易出错,操作起来也非常方便,一举三得,何乐而不为呢,你说是吧。

超平老师给你留一个思考题,除了上面介绍的排序算法之外,你还知道哪种排序方法呢,可以编程实现吗?

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1039536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HUAWEI】trunk和access两种链路模式实例

目录 🥮0.写在前面 🍣基本操作命令 🍣常见视图命令 🥮1、trunkaccess 🍣1.1、拓扑图 🍣1.2、操作思路 🍣1.3、配置操作 🍡1.3.1、LSW1配置 🍡1.3.2、LSW2配置 &#x1f3…

Android Key/Trust Store研究+ssl证书密钥

前言:软件搞环境涉及到了中间件thal trustzone certificate key,翻译过来是thal信任区域证书密钥 ,不明白这是什么,学习一下 ssl证书密钥 SSL密钥是SSL加密通信中的重要组成部分。SSL证书通过加密算法生成,用于保护网…

sgx支持数据库环境配置,编译,debug

环境都编译为debug模式,为了开发,并利用sgx的debugger sgx-gdb进行debug 查看cpu是否支持sgx delldell-Precision-3630-Tower  /nvme  lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte…

AUTOSAR中的Crypto Stack(一)--概述

前面我们聊到了比较多的关于信息安全的概念,以及主流MCU的信息安全方案。但从软件工程师的角度来看,最终这些信息安全的概念都是会从软件来实现;如何设计出一种合理、安全的信息安全软件框架,我们从AUTOSAR的加密栈来分析。 该协议栈主要从以下几个方面来介绍: AUTOSAR中…

蓝桥杯打卡Day15天

文章目录 买不到的数目错误票据 一、买不到的数目OJ链接 本题思路:引理:给定a,b,若dgcd(a,b)>1 ,则一定不能凑出最大数。结论:如果 a,b均是正整数且互质,那么由 axby,x≥0,y≥0 不能凑出的最大数是 ab−a−b。 证…

Bigemap如何查看历史影像

工具 Bigemap gis office地图软件 BIGEMAP GIS Office-全能版 Bigemap APP_卫星地图APP_高清卫星地图APP 很多人都在寻找历史影像图,这块的需求是非常大,历史影像一般可以用于历史地貌的变迁分析,还原以前的生态场景,对范围面积…

深入探讨Vue.js:从基础到高级(最佳实践)

文章目录 Vue.js 基础1. Vue.js 是什么?2. Vue 实例3. 双向数据绑定 Vue 组件1. 什么是 Vue 组件?2. 组件之间的通信 Vue 模板语法1. 插值和指令2. 条件和循环3. 事件绑定和表单输入绑定 Vue 路由1. Vue Router安装和配置:导航: 2…

企业做软文推广的三大错误有哪些?媒介盒子为您解答

软文营销已经成为企业宣传的主要方式,但有很多企业来找媒介盒子咨询,明明花了大量成本来做软文推广,为什么就是没效果呢?小编看了下,发现大部分企业做软文推广效果不明显,基本上犯了三大错误,接…

风向对风力机发电的影响

目录 1. 摘要2. 简介 1. 摘要 随着风力发电机的增大,风向随高度的变化(风偏转)在入流风场中起到了至关重要的作用。我们使用明尼苏达大学Eolos风能研究站5年的实地数据集来探讨风偏转的特性及其对涡轮性能的影响。风偏转表现出明显的日变化&…

一款值得入手的双节电池1A电流线性充电芯片-YB4028

概述: YB4028 是一款双节串联锂电池充电管理芯片,集成涓流、恒流、恒压三段式线性充电管理,符合锂电池安全充电规范。充电输入耐压高达20V,充电电流高至 10A,可通过片外电阻配置。 YB4028 集成防倒灌电路,输入电压拔…

大数据flink篇之一-基础知识

一、起源 2010至2014年间,由柏林工业大学、柏林洪堡大学和哈索普拉特纳研究所联合发起名Stratosphere的研究项目。2014年4月,项目贡献给Apache基金会,成为孵化项目。更名为Flink2014年12月,成为基金会顶级项目2015年9月&#xff…

MAC word 如何并列排列两张图片

系统:MAC os 参考博客 https://baijiahao.baidu.com/s?id1700824516945958911&wfrspider&forpc 步骤1 新建一个word文档和表格 修改表格属性 去掉自动重调尺寸以适应内容 插入图片 在表格的位置插入对应的图片如下 去除边框 最终结果如下

数据大爆炸:大数据分析如何改变我们的世界

文章目录 大数据分析的基本概念数据的三个V大数据分析的技术 大数据分析在商业中的应用1. 个性化营销2. 风险管理3. 供应链优化4. 客户服务 大数据分析在医疗保健中的应用1. 疾病预测2. 患者治疗3. 医疗设备监控 大数据分析在科学研究中的应用1. 天文学2. 生物学3. 气象学 大数…

mock.js与组件通信之总线的讲解

目录 一Mock.js 1.1简介 1.2 安装配置Mock.js 1.3 mock.js的使用 二. 组件通信之总线 2.1 总线的简介 2.2 总线的使用-以导航栏的收进为例 好啦今天的分享就到这啦!! 一Mock.js 1.1简介 Mock.js 是一个用于生成随机数据的 JavaScript 库。它可以模拟…

关于vantUI的导航组件tab标签页在ios和安卓中运用遇到的坑

vantTab的默认值 应用场景问题描述原始代码更正代码 应用场景 根据路由传值设置默认tab页,获取不同的数据并进行展示 问题描述 ios可正常按照路由传值默认tab页,安卓始终默认tabList的第一个value值,疑安卓系统中不接受dataMap.tabActive为…

虚拟车衣VR云展厅平台扩大了展览的触达范围

传统展厅主要是以静态陈列的形式来传达内容,主要的展示形式有图片、视频等,具有一定的局限性,体验感较差,客户往往不能深入地了解信息和细节内容。 VR全景看车是通过虚拟现实技术实现逼真的汽车观赏和试乘体验。消费者可以通过智能…

Python图像处理-----几何变换

文章目录 一、图像几何变换理论二、图像平移2.1 使用数学公式的实现方式为:2.2 使用矩阵实现的方式为2.3 使用opencv三、图像缩放3.1 用数学式子表示为公式(a为缩放系数):3.2 用矩阵表示如公式所示:一、图像几何变换理论 图像几何变换不改变图像的像素值,在图像平面上进行像…

Docker ---- network中的命令详解

最近一直在使用docker,记录一些遇到的问题。 问题1:在搭建ealsticsearch与kibana时运行成功后第二次想运行出错了或者访问不了? 因为两个启动的容器是被互相隔离的,没有启用网络的互相通信不了。 问题2:怎么查看自己…

Kafka 运维必懂:从原理到调优,看完秒变大佬

1 Kafka 概述 Kafka 起初是 由 LinkedIn 公司采用 Scala 语言开发的一个多分区、多副本且基于 ZooKeeper 协调的分布式消息系统,现已被捐献给 Apache 基金会。 目前 Kafka 已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流…

左神高阶提升班5(贪心尝试、范围上的尝试模型

目录 【案例1 贪心尝试】 【题目描述】 【思路解析】 【代码实现】 【案例2 范围上的尝试模型】 【题目描述】 【思路解析】 【代码实现】 【案例3 范围上的尝试模型】 【题目描述】 【思路解析】 【代码实现】 【案例4 从左至右上尝试的模型 范围上的尝试模型…