小猫小狗玩数学-第14届蓝桥杯STEMA测评Scratch真题精选

news2025/8/2 20:33:44

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

蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多文化教育研究中心合作推出的考试项目。STEM能力测试致力于综合评价学生的 STEM 水平,对学生的科技素养、逻辑思维和编程能力等三方面进行客观科学的测试。

小猫小狗玩数学,本题是2023年2月12日举行的第14届蓝桥杯STEMA考试Scratch图形化编程真题中级组编程部分第5题,也是压轴题,题目要求编写程序实现小猫出算式题,玩家输入算式结果,小狗能够判断算式结果是否正确并统计答对题目的数量。

先来看看题目的要求吧。

一.题目要求

编程实现:

小猫出算式题,玩家输入算式结果,小狗能够判断算式结果是否正确。

具体要求:

1). 运行程序,角色、背景如图所示(变量:“答对题数”初始值0);

2). 小猫说出3个数字(3个数字均是0-10之间的随机数,数字间使用逗号隔开);

3). 小猫说出2个符号(2个符号的四种可能情况:“+,-”、“-,+”、“+,+”、“-,-”符号间使用逗号隔开);

4). 小猫将之前的3个数字和2个符号组成算式并询问;

例如:3个随机数字“7,9,4”与2个随机符号“-,-”组合成的算式:7 - 9 - 4 = ?

5). 玩家输入的结果为正确时,小狗说:“回答正确”,答对题数+1;玩家输入的结果为错误时,小狗说:“回答错误”,答对题数不变;

6). 小猫共出3道题,小狗完成3道题的判断后,说出玩家答对的题目数,程序结束。

评判标准:

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

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

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

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

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

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

二.思路分析

本题只有两个角色,分别是小猫和小狗,如图所示:

其中小猫负责出题,小狗负责判卷并统计答题情况,两个角色一唱一和,一起来考察玩家的数学算术水平。

这里的重点是出题,根据题目要求,一个完整的数学算式由3个数字和两个运算符号组合而成,其中数字都是在0~10之间取随机数,而运算符号则是在“+”和“-”之间进行随机。

很显然,我们需要使用变量来保存这3个数字和两个运算符,然后结合随机数设置好数字和运算符的值。小猫要分别说出3个数字、两个运算符和算式,这需要用到字符串连接运算。

实现的流程也比较简单,先设置3个随机数字,再设置两个随机符号,然后拼接算术并提问,当用户输入答案后,由小狗来判断正确与否。

有一个小地方稍微麻烦一点,就是要根据随机的数字和运算符先计算出正确答案并保存起来,作为小狗判断的依据。

两种运算符,一共有4种组合,分别是“+,-”、“-,+”、“+,+”、“-,-”,怎么计算比较简单呢?

常规的方法是使用条件进行判断,4种组合总共也只需要判断4次,感觉也还行。

实际上还有一个更巧妙的方法,这就是在随机运算符的过程中就开始计算,每随机一个运算符计算一次,当两个运算符都确定下来后,正确答案也就出来了,这样可以节省大量的判断语句,岂不妙哉。

三.编程实现

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

  • 初始化设置

  • 随机3个数字

  • 随机两个加减号

  • 小猫说话并出题

  • 小狗判断对错

  • 重复出题3次并统计答对数量

1. 初始化设置

初始化设置包括两个方面,一是创建变量,二是角色初始化,这里一共需要7个变量,如下所示:

对于小猫角色,设置好其初始位置和方向即可,代码如下:

对于小狗角色,同样需要设置其位置和方向,代码如下:

为了避免小狗头上脚下,需要将旋转方式设置为左右翻转,同时这里将变量“答对题数”初始化为0。之所以放在小狗中设置,是因为接下来对变量的修改也是在小狗角色中,这并不必须的,但是将相关的代码放在一个角色中,是一个良好的编程习惯。

2. 随机3个数字

这个比较简单,为了简化代码,我这里使用了自制积木,代码如下:

3. 随机两个加减号

接下来需要随机“+”和“-”,这是一个二选一的操作,类似于日常生活中掷硬币一样,不是正面就是反面(别跟我说立着,那是特殊情况^_^)。

我们可以在1到2之间取随机数,如果为1,则设为“+”,否则设为“-”。根据前面的思路分析,每设置一个符号,就立刻进行计算,并将计算结果保存到变量“答案”中。

为了简化代码,这里仍然使用了自制积木,代码如下:

代码比较好理解,需要注意一点,就是在每次运算之前需要先将变量“答案”初始化为0。

4. 小猫说话并出题

有了上面的两个自制积木,结合字符串连接操作,按题目要求,先说出3个数字,然后说出两个符号,最后将数字和运算符连接成数学算式进行提问,在绿旗代码块下面添加如下代码:

小猫询问之后,等待玩家输入答案,然后由小狗来判断,因此这里增加了一个广播指令,需要注意的是这里使用了“广播并等待”指令,这是为了确保在小狗判断对错之后,小猫才继续下一次提问。

5. 小狗判断对错

小狗角色在接收到广播之后,直接比较玩家输入的“回答”和变量“答案”即可,代码也非常简单,如下所示:

6. 重复出题3次并统计答对数量

上面的代码,我们只出了一道题,将这个过程重复3次,就可以出3道题,在小猫角色中增加重复指令即可,代码如下:

出完3道题之后,小狗会说出答对题目数量,所以在代码的结尾,增加了一个广播指令,相应的,小狗角色要接受广播并说出答对数量,然后结束程序,在小狗角色中编写代码如下:

至此,整个作品就创作好了,一个简单的自动出题系统就诞生了,赶紧来测试一下你的算术水平吧。

四.总结与思考

本题分数为30分,积木块数量85个左右 ,涉及到的知识点主要包括:

  • 循环指令的使用,这里使用的是“重复执行10”指令;

  • 条件指令的使用,重点是“如果...那么...否则”指令;

  • 变量的使用;

  • 随机数的灵活运用;

  • 算术运算符的使用,包括+和-;

  • 字符串连接运算符的使用,尤其是多个连用的情况;

  • Scratch问答指令;

  • 事件广播机制,重点是广播并等待的作用及使用。

作为中级组最后一题,本题还是有一定难度的,考察的知识点还是挺多的,这需要考生具备扎实的编程基础,能够将各知识点综合起来,实现复杂的功能和效果。

为了简化代码,我在本作品中使用了自制积木,虽然这不是必须的,但是超平老师还是建议你多用用自制积木,这是将复杂问题变成简单问题的思维训练,一旦你具备了这种思维,你会变得越来越厉害的。

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

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

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

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

相关文章

蓝牙运动耳机哪个好,比较好的运动蓝牙耳机

很多想选择蓝牙运动耳机的朋友都不知道应该如何选择,运动首先需要注意的就是耳机的防水能力以及耳机佩戴舒适度,在运动当中会排出大量的汗水,耳机防水等级做到越高,可以更好地保护耳机不受汗水浸湿,下面就分享五款适合…

智能电视“套娃式”收费背后的自我救赎

配图来自Canva可画 近年来随着智能化浪潮的迅速铺开,与以前只能看电视的智能电视相比,现在的智能电视还能打游戏、听音乐,用户还可在电视上自行下载、安装、卸载应用软件,功能大大丰富了。但随着智能电视功能的逐渐增多&#xff…

我们应该如何优雅的处理 React 中受控与非受控

引言 大家好,我是19组清风。有段时间没有和大家见面了,最近因为有一些比较重要的事情(陪女朋友和换了新公司)在忙碌所以销声匿迹了一小段时间, 后续会陆陆续续补充之前构建 & 编译系列中缺失的部分,提…

day 33 状态压缩dp

二维状态压缩dp对于解决哈密顿回路问题的状态压缩dp只能计算固定起点到其他点的总方案数或最小路径等回路计数小蓝现在在第一栋教学楼,他想要访问每栋教学楼正好一次,最终回到第一栋教学楼(即走一条哈密尔顿回路)可看做&#xff1…

华为OD机试题,用 Java 解【计算面积】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

索引的创建与设计原则

1.索引的声明与使用 1.1索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。按照 物理实现方式,索引可以分…

【编程基础之Python】6、Python基础知识

【编程基础之Python】6、Python基础知识Python基础知识Python的基本要素模块语句表达式注释Python的代码格式Python基础知识 Python 是一种高级的、动态的、解释型的编程语言,具有简单易学、开发效率高、可读性强等特点,广泛应用于数据科学、Web 开发、…

CRM系统能帮外贸行业解决哪些问题

国内的外贸行业经历了四个发展阶段,从发展期到繁荣期,CRM客户管理系统逐步走到幕前,成为外贸企业必不可少的主打工具。那么外贸行业整面临哪些问题?该如何解决?下面我们就来说说适合外贸行业的CRM解决方案。 外贸行业…

数据分享|2023年OSM道路数据(全国,分省,分市)

道路数据是我们在各项研究中经常使用的数据!道路数据虽然很常用,但是却基本没有能下载最近年份道路数据的网站,所以很多人不知道如何获到道路数据。 本次我们为大家推荐的下载道路数据的网站是Open Street Map!我们先来了解下Open Street Map,其简称为OSM,是一个开源的地…

整数保序的离散化(C/C++)

目录 1. 离散化的概念 1.1 离散化的运用思路 1.2 离散化的方法 1.2.1 排序 1.2.2 确定一个元素离散化后的结果 1.3 案例分析 1.3.1 1.3.2 区间和 (来源:Acwing) 1. 离散化的概念 离散化,把无限空间中有限的个体映射到有限的…

机房信息牌系统

产品特色: 无线低功耗安装简单,快速布置易于维护墨水屏显示,清晰,更环保信息后台推送,远程管理多模版样式随意制作多尺寸:4.2寸,7.5寸,10.2寸4.2寸7.5寸10.2寸标签特性:…

每日一个小技巧:教你如何使用终端工具给你的电脑发送弹窗提醒

现在人手一部智能手机,这些智能手机都有个非常实用的功能,那就是弹窗提醒。当我们收到短信,或者微信信息时,手机就会弹窗显示信息的大致内容。有了这个功能你就不会错过重要信息了。 电脑上也有类似的功能,也很实用。…

改进YOLO系列 | 添加轻量化Decouple_Head 和 ASFF_Head

绿色为ASFF_Head,浅蓝色Decoupled_Head,深蓝色是第三步加的_initialize_dh_biases方法后的效果。 参数量与计算量对比 模型参数量 parameters计算量GFLOPsyolov5s_Head723538916.5ASFF_Head1267484725.0Decoupled_Head892869722.0结构图 本篇介绍的这个Decouple_Head和YOLOX…

亚马逊、temu、速卖通、eBay如何提高店铺的订单数量?有什么技巧?

亚马逊卖家店铺的排名与店铺的订单数量有很大关系,所以卖家必须尝试改善店铺的销售。如果找不到正确的方法,订单速度很慢,卖家应该如何提高店铺的订单数量? 一、选择价格低、流量大的产品 无论是精细操作还是配送模式操作&…

代码随想录 NO51 | 动态规划_leetcode583. 两个字符串的删除操作 72. 编辑距离

动态规划_leetcode583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结动态规划快结束了,时间过的好快啊,今天编辑距离系列结束! 583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的…

python使用requests提交post请求并上传文件(multipart/form-data)

目录 一、背景 二、请求接口上传文件 2.1、分析接口 2.2、python进行请求 三、总结 一、背景 也是前几天,有一个需求上传文件需要自动化。具体是上传到系统一个文件,并收到返回结果。考虑使用python的requests,一般这种查询或上传文件的接…

DMotion - 基于DOTS的动画框架和状态机

【博物纳新】专栏是UWA旨在为开发者推荐新颖、易用、有趣的开源项目,帮助大家在项目研发之余发现世界上的热门项目、前沿技术或者令人惊叹的视觉效果,并探索将其应用到自己项目的可行性。很多时候,我们并不知道自己想要什么,直到某…

Android反射@hide API 方法、变量,支持Android11和Android12

Android源码中现在有大量的方法和变量被hide所修饰,而这些被hide修饰的方法和变量是不允许应用层进行反射获取的,所以富有探索精神的程序员们就开始想尽各种办法绕过系统hide限制来使用hide修饰的方法和变量。1、套娃(适配Android10即之前&am…

Python实现贝叶斯优化器(Bayes_opt)优化Catboost分类模型(CatBoostClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景贝叶斯优化器(BayesianOptimization) 是一种黑盒子优化器,用来寻找最优参数。贝叶斯优化器是基…

PHPExcel 表格设置

4.5.3。通过行和列设置单元格值 通过设置坐标单元格值可以使用工作表的setCellValueByColumnAndRow方法来实现。 //设置单元格B8 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 8, ‘Some value’); 4.5.4。由列和行中检索的小区 检索的小区的值&#…