数据计算-第15届蓝桥杯第一次STEMA测评Scratch真题精选

news2024/11/17 11:00:14

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

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

  • 行走的螃蟹

  • 飞驰的高铁

  • 旋转的正方体

  • 弹跳小球

  • 比较身高

  • 数据计算

数据计算,本题是2023年8月20日举行的第15届蓝桥杯STEMA测评Scratch编程中级组编程第6题,题目要求编程实现数据计算。游戏开始后,输入两个整数,机器人先说出两数的和,然后将整数转成二进制并输出。

先来看看题目的要求吧。

一.题目说明

编程实现:

数据计算。

十进制整数转换成二进制整数:采用“除2取余,逆序排列”法可以将十进制数数转换为二进制整数,例如:140

计算步骤:

140/2 = 70 ......0

70/2  = 35 .....0

35/2  = 17 ......1

17/2   = 8 ......1

8/2   = 4 .......0

4/2   = 2 .......0

2/2   = 1 ........0

1/2   = 0 ........1

余数逆序排序后,转换为二进制的结果为 10001100

具体要求:

1). 运行程序,角色、背景如图所示;

图片

2). 等待1秒,机器人说:“输入2个数据”2秒;

图片

3). 舞台下方出现询问框,机器人说:"输入第1个数据”(数据为整数,且1 ≤ 数据 ≤ 100);

例如:输入80

图片

4). 完成输入,舞台下方出现询问框,机器人说:"输入第2个数据”(数据为整数,且1 ≤ 数据 ≤ 100);

例如:输入60

图片

5). 完成输入,机器人说出两个数据的和;

图片

6). 等待1秒,机器人说出两个数据和的二进制数。

图片

评判标准:

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

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

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

  • 5分:满足"具体要求"中的4);

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

  • 65分:满足"具体要求"中的6)。

二.思路分析

本题只有1个角色,就是机器人,如图所示:

图片

本题考查的知识点包括列表应用和数学运算。

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

  • 获取输入数据并求和;

  • 将十进制数字转成二进制;

其中,模块1比较简单,只需要使用问答指令,将玩家输入的两个数字相加,然后说出即可。

真正的难点是模块2,对于很多同学来说,二进制是一个陌生的概念。当然,出题老师充分考虑到这一点,所以给出了进制转换的原理,并给出了一个案例。这就要求考生要读懂这个案例,并迅速找到实现思路。

转换的原理就8个字,“除2取余,逆序排列”,这就意味着需要使用余数指令,如图:

图片

同时,每次除以2之后,我们都需要把商保存起来,这里的商必须是整数部分,所以需要结合除法指令和向下取整指令,如图:

图片

在这个过程中,我们面临如下两个小问题:

1). 除2取余运算要执行多少次?

2). 怎么保存每次运算的商和余数?

很显然,不同的数字,计算的次数是不一样的,但是它们都有一个共同的特点,就是当商等于0时,就不需要再进行计算了,这就是循环结束的条件。

每进行一次除2取余运算,下一次就需要对新的商进行运算,是不是要把每一次的商都用一个变量保存起来呢?确实需要保存,但是我们不需要新的变量,直接使用一个变量,每次更新一下即可,这其实就是编程中经典的迭代思想。

对于每次的余数,则可以使用两种方式来处理,一是使用列表,将每次计算的余数保存到列表,计算完成,依次将列表中的数字取出拼接成一个数字串即可;二是直接使用字符串连接操作,将每次得到的余数进行拼接。在本作品中,超平老师将使用方式1来保存余数。

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

三.编程实现

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

  • 准备工作

  • 获取数据输入并求和

  • 将十进制转成二进制

1. 准备工作

这里的准备工作比较简单,主要是创建好需要用到的变量和列表,如图:

图片

其中,变量“i”是计数器,在循环遍历列表时需要用到。

2. 获取数据并求和

这一步比较简单,其代码如下:

图片

为方便理解,这里使用了两个变量“数字1”和“数字2”,实际上,还可以省去这两个变量,每次将回答进行累加即可,如图:

图片

不过,需要注意,使用方式1时,变量“”可以不用初始化,而使用方式2时,必须要将变量“”初始化为0。

方式2是一个非常好用的编程技巧,如果要输入多个数据的时候,它的优势就体现出来了,你说是吧。

3. 将十进制转成二进制

为了简化代码,我们将转换的过程定义成一个自制积木,自制积木的代码如下:

图片

简单说明3点:

1). 列表一定要清空,确保没有垃圾数据;

2). 变量“二进制”的初始值一定要设置为空;

3). 在向列表中添加余数的时候,每次将余数插入到列表的最前面,这就相当于逆序保存了余数,在接下来循环遍历列表的时候,只需要按照顺序拼接列表项即可。

有了自制积木,在绿旗代码块的最下面,添加如下3行代码即可:

图片

至此,整个作品就创作好了,一个简易的进制转换计算器就搞定了。

四.总结与思考

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

  • Scratch问答指令;

  • 变量的使用;

  • 列表的基本操作;

  • 运算符,包括取余、除法、向下取整等;

  • 字符串连接运算;

这是中级组的第6题,也是最后一题,难度较大,完成时间20分钟左右,难点是如何实现进制的转换。

二进制,是计算机技术中广泛采用的一种数制,由德国哲学家莱布尼茨发明,相传是受到了中国易经的启发。

图片

二进制数据是用0和1两个数码来表示的数,它的基数为2,进位规则是“逢二进一”,数字计算机只能识别和处理由0和1符号串组成的代码。

计算机中一切都可以用二进制来表示,不管是图片、指令、文件还是视频在计算机内部都是使用二进制来存储的。

对于进制之间的互相转换,是每一个学习编程的孩子都必须熟练掌握的,相信通过本作品的学习,你已经掌握了十进制转换二级制的原理和技巧了。

超平老师给你留一个思考题,如果要将十进制转换成八进制、十六进制,该如何实现呢,能否在本作品的基础上,增加这两个小功能,创作一个进制转换计算器呢。

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

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

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

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

相关文章

ThreeJS-3D教学二:基础形状展示

three中提供了22 个基础模型,此案例除了 EdgesGeometry、ExtrudeGeometry、TextGeometry、WireframeGeometry,涵盖 17 个形状。 Fog 雾化设置,这是scene场景效果EdgesGeometry , WireframeGeometry 更多地可能作为辅助功能去查看几何体的边和…

修炼k8s+flink+hdfs+dlink(一:安装flink)

一:standalone的ha环境部署。 创建目录,上传安装包。 mkdir /opt/app/flink 上传安装包到本目录。 tar -zxvf flink-1.13.6-bin-scala_2.12.tgz配置参数。 在flink-conf.yaml中添加zookeeper配置 jobmanager.rpc.address: node01 high-availability: …

论文浅尝 | INGRAM:通过关系图的归纳知识图谱嵌入

笔记整理:郭荣辉,天津大学硕士 链接:https://arxiv.org/abs/2305.19987 动机 归纳知识图谱补全是预测训练期间没有观察到的新实体之间缺失的三元组的任务。虽然大多数归纳知识图谱补全方法假定所有实体都是新的,但它们不允许在推理…

【c语言的malloc函数介绍】

malloc&#xff08;memory allocation的缩写&#xff09;是C语言中的一个函数&#xff0c;用于动态分配内存空间。这个函数允许你在程序运行时请求指定大小的内存块&#xff0c;以供后续使用。malloc函数属于标准库函数&#xff0c;需要包含头文件#include <stdlib.h> 才…

使用Vue、ElementUI实现登录注册,配置axios全局设置,解决CORS跨域问题

目录 引言 什么是ElementUI&#xff1f; 步骤1&#xff1a;创建Vue组件用于用户登录和注册 1. 基于SPA项目完成登录注册 在SPA项目中添加elementui依赖 在main.js中添加elementui模块 创建用户登录注册组件 配置路由 修改项目端口并启动项目 静态页面展示图 步骤2&#x…

搭建qml box2d开发环境

box2d是开源的优秀物理引擎 box2d官网 https://box2d.org/ qml box2d插件工程 https://gitee.com/gao_yao_yao/qml-box2d 1. qml box2d插件工程 下载&#xff0c;解压qml-box2d-master.zip&#xff0c;用qt打开box2d.pro&#xff0c;编译Debug|Release拷贝Box2D.dll|Box2Dd.…

LeetCode算法二叉树—226. 翻转二叉树

目录 226. 翻转二叉树 代码&#xff1a; 运行结果&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入…

easyrecovery好用吗 easyrecovery软件收费吗

EasyRecovery是一款专业的数据恢复软件&#xff0c;它功能强大且性价比高&#xff0c;能够精确找回需要的文件&#xff0c;方便又快捷。那么Easyrecovery好用吗&#xff0c;Easyrecovery软件收费吗。今天我为大家解答一下这两个问题。 一、Easyrecovery好用吗 EasyRcovery可用…

系统接口响应信息通用加密设计

设计目的 出于对一些敏感信息的安全性考虑&#xff0c;接口的响应信息需要进行加密&#xff0c;避免明文传输 使用场景 本系统前端响应信息加密 第三方系统响应信息加密 功能设计思路 配置模式加密 使用场景&#xff1a;本系统前端响应信息加密 在nacos中配置需要加密的…

用于生物分子修饰的Alkyne NHS ester,906564-59-8

产品简介&#xff1a;用于生物分子修饰的炔烃NHS酯。铜催化的化学反应中的炔基几乎从未在天然分子中遇到过。然而&#xff0c;这种NHS酯允许将炔基连接到氨基上&#xff0c;氨基在自然界中普遍存在&#xff0c;存在于蛋白质、肽、合成氨基DNA和许多小分子中。炔基随后可以通过铜…

langchain+gpt+agent

一.agentConversation 通过用户问题&#xff0c;来选择 import json import os import refrom langchain import FAISS, PromptTemplate, LLMChain from langchain.agents import initialize_agent, Tool, AgentType from langchain.chains import RetrievalQA from langchai…

C++ | C++11新特性(下)

前言 前面我们介绍了C11列表初始化、新的类功能以及右值引用等新特性&#xff0c;本文继续介绍关于可变参数模板以及lambda表达式等新语法&#xff1b; 一、可变参数模板 在C11前&#xff0c;我们有普通固定数量模板参数&#xff0c;但对于可变参数&#xff0c;我们无从下手&am…

淘宝电商必备的大数据应用

在日常生活中&#xff0c;大家总能听到“大数据”“人工智能”的说法。现在的大数据技术应用&#xff0c;从大到巨大科学研究、社会信息审查、搜索引擎&#xff0c;小到社交联结、餐厅推荐等等&#xff0c;已经渗透到我们生活中的方方面面。到底大数据在电商行业可以怎么用&…

什么是EventEmitter?它在Node.js中有什么作用?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是EventEmitter&#xff1f;⭐ 它在Node.js中的作用是什么&#xff1f;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为…

轻松上手Docker:学习如何创建和运行自己的Docker容器

文章目录 轻松上手Docker&#xff1a;学习如何创建和运行自己的Docker容器容器的介绍Docker的技术架构容器的工作机制&#xff08;Docker&#xff09;容器的关键技术 - NamespaceNamespace隔离说明 容器的关键技术 - CgroupDocker环境搭建1&#xff09;安装基础软件包2&#xf…

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测&#xff0…

跟着顶级科研报告IPCC学绘图:温度折线/柱图/条带/双y轴

复现IPCC气候变化过程图 引言 升温条带Warming stripes&#xff08;有时称为气候条带&#xff0c;目前尚无合适且统一的中文释义&#xff09;是数据可视化图形&#xff0c;使用一系列按时间顺序排列的彩色条纹来视觉化描绘长期温度趋势。 在IPCC报告中经常使用这一方案 IPCC是…

自学——网络安全——黑客技术

想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01;&#xff01;&#xff01; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队…

【小程序 - 基础】WXML、WXSS语法以及小程序的配置、网络数据请求_03

目录 一、WXML模板语法 1. 数据绑定 1.1 数据绑定的基本原则 1.2 在 data 中定义页面的数据 1.3 Mustache 语法的格式 1.4 Mustache 语法的应用场景 2. 事件绑定 2.1 什么是事件 2.2 小程序中常用的事件 2.3 事件对象的属性列表 2.4 target 和 currentTarget 的区别…

510758-28-8,用于标记蛋白质和酶的配体TBTA

产品简介&#xff1a;Tris(benzyltriazolylmethyl)amine (TBTA)是一种配体&#xff0c;能作为生化工具用于标记蛋白质和酶。 CAS号&#xff1a;510758-28-8 中文名&#xff1a;三[(1-苄基-1H-1,2,3-三唑-4-基)甲基]胺 英文名&#xff1a;TBTA 化学式&#xff1a;C30H30N10…