当前位置: 首页 > news >正文

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

[导读]:超平老师的《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。

相关文章:

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

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第154讲。 第15届蓝桥杯第1次STEMA测评已于2023年8月20日落下帷幕,编程题一共有6题,分别如下&a…...

谈谈前端和后端的选择

引言 在我的印象中,也是视线里,后端都是在一个黑屏的页面,左边一个文件类,右边在不停的写sql,一只手放在键盘上,一边写,一遍不停的关联进入,感觉很无趣,他们的分享不是什么java集成&…...

Vue3最佳实践 第六章 Pinia,Vuex与axios,VueUse 1(Pinia)

Pinia状态管理 在 Vue3 中项目中组件之间传递数据时,可以使用 Props 和 Emit,还可以使用 Provide/Inject 来代替 Props 和 Emit。Props 和 Emit 只能在具有父子关系的组件之间传递数据,所以层级越深,过程就越复杂。为了解决此类问…...

Java比较器之equals、comparable、comparator

文章目录 前言一、基本类型比较1.2.equals3.和equals的区别 二、对象的比较1.覆写基类的equals2.基于Comparable接口类的比较3.基于Comparator比较器比较4.三种方式对比 前言 在Java中,基本类型的对象可以直接比较,而自定义类型,默认是用equ…...

Virtio-user使用简介

一、简述​ DPDK支持几种方式让用户空间的报文重新进入内核协议栈(这种dpdk和kernel直接通信的路径叫做exception path),例如tap/tun设备使用,kni,Virtio-user。这里主要讲Virtio-user使用,Virtio-user是virtio PMD的虚拟设备&…...

点云从入门到精通技术详解100篇-基于深度学习的三维植物点云分割网络

目录 前言 研究现状及趋势 传统的植物表型分割方法 现行的植物表型分割方法...

C语言 Cortex-A7核 SPI 实验

1 实验目的 1、数码管显示相同的值0000 1111 2222 .... 9999 2、数码管不同的值1234 2 代码 include/spi.h #ifndef __SPI_H__ #define __SPI_H__ #includ…...

Spring工具类--ReflectionUtils的使用

原文网址:Spring工具类系列--ReflectionUtils的使用_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Spring的ReflectionUtils的使用。 ReflectionUtils工具类的作用:便利地进行反射操作。 Spring还有一个工具类:ReflectUtils,它们在…...

zemax西德莫尔目镜

高性能的军用光学仪器 在两个双胶合透镜之间,增加了一块平凸透镜 半视场角增大到35度 入瞳直径4mm波长0.51、0.56、0.61半视场35焦距27.9mm 镜头参数: 成像效果:...

C++ 拷贝构造函数

介绍和示例 拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象。 复制对象把它作为参数传递给函数。 复制对象…...

怎么使用 Flink 向 Apache Doris 表中写 Bitmap 类型的数据

Bitmap是一种经典的数据结构,用于高效地对大量的二进制数据进行压缩存储和快速查询。Doris支持bitmap数据类型,在Flink计算场景中,可以结合Flink doris Connector对bitmap数据做计算。 社区里很多小伙伴在是Doris Flink Connector的时候&…...

LeetCode 四数相加II 哈希

原题链接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题面&#xff1a; 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i,…...

python(自4) xpath下载 lxml安装 lxml语法 使用方式

&#xff08;一&#xff09;安装 搜索xpath 讲解 XPath 教程 (w3school.com.cn) 一&#xff0c;下载地址 &#xff1a; https://chrome.zzzmh.cn/info/hgimnogjllphhhkhlmebbmlgjoejdpjl 二 &#xff0c;拖拽 &#xff08;二&#xff09;lxml安装 cmd 打开终端 cd pythond…...

05-Zookeeper典型使用场景实战

上一篇&#xff1a;04-Zookeeper集群详解 1. Zookeeper 分布式锁加锁原理 如上实现方式在并发问题比较严重的情况下&#xff0c;性能会下降的比较厉害&#xff0c;主要原因是&#xff0c;所有的连接都在对同一个节点进行监听&#xff0c;当服务器检测到删除事件时&#xff0c…...

stl格式-3D三角形

文章目录 什么是stl文件?格式首选stl的语法1.这是一个stl格式的文件:2.下面先举个例子(难度略微提示)补充:关于\<\<我试了一下:这个法线你随便写好像也没问题\>> 3.来个立方体4.最后再写一个由三个直角形组成的立方体 什么是stl文件? 首先说一下,这个stl不是cpp…...

基于微信小程序的高校暑期社会实践小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...

ARM-day2

1、 .text .global _start_start:MOV r0, #0x1ADDS r1,r0, #0x1cmp r1, #100bl funstop:b stopfun:ADD r2,r1,r1.end2、思维导图...

macOS Sonoma 14 正式版(23A344)发布,附黑/白苹果镜像下载地址

系统介绍&#xff08;系统下载地址&#xff1a;http://www.imacosx.cn/115300.html&#xff09; 黑果魏叔9 月 27日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS Sonoma 14 正式版&#xff08;23A344&#xff09;。 macOS 14正式版系统发布&#xff1a;全新功能与改…...

HarmonyOS开发:封装一个便捷的Log工具类

前言 日志打印&#xff0c;没什么好说的&#xff0c;系统已给我们提供&#xff0c;且调用也是非常的简单&#xff0c;我们封装的目的&#xff0c;一是扩展&#xff0c;打印一些不常见的类型&#xff0c;比如格式化json&#xff0c;使得日志看起来比较好看&#xff0c;二是&…...

第十章_祖冲之_圆周率

倒数1又2/3章&#xff0c;keep_writting的一天&#xff1a; 第十章10.1.7 运行程序资源下载网站为何打不开呢&#xff1f;...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...