回文数-第15届蓝桥第5次STEMA测评Scratch真题精选

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

如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。

第15届蓝桥杯第5次STEMA测评已于2024年3月10日落下帷幕,编程题一共有6题(初级组只有前5道编程题),分别如下:

  • 熊猫左右转

  • 返回地球

  • 吐丝的蜘蛛

  • 最大的三位数

  • 记忆力考验游戏

  • 回文数

回文数,本题是2024年3月10日举行的第15届蓝桥STEMA测评Scratch编程中级组编程第6题,初级组没有此题。题目要求编程求回文数。当输入一个正整数后,说出其倒序数,并将二者的和加入列表,直到和是回文数为止。

先来看看题目的要求吧。

一.题目说明

背景信息:

倒序数:将原来的整数的数字顺序倒过来组成的数。

例如:28的倒序数为82,10的倒序数为1。

回文数:一个整数与其倒序数相等,则称该数为回文数。

例如:22的倒序数为22,两者相等,故22为回文数。

编程实现:

回文数。

具体要求:

1). 点击绿旗,列表1为空,角色、背景如图所示;

图片

2). 1秒后,螃蟹说“请输入1~100的整数”,同时弹出输入框,如图所示;

例如:输入19。

图片

3). 输入完成后,螃蟹说出输入整数的倒序数,如图所示;

图片

4). 然后,将输入的数与其倒序数的和加入列表1中,如图所示;

例如:19与其倒序数91的和为110。

图片

5). 如果求得的和不是回文数,继续将求得的和与其倒序数再求和,并將得到的结果加入列表1中,如图所示;

例如:求得的和110不是回文数,将110与其倒序数11再求和,得到的结果为121。

图片

6). 重复执行具体要求5),当求和的结果为回文数时,程序结束。

评判标准:

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

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

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

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

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

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

二.思路分析

本题只有1个螃蟹角色,如图所示:

图片

很显然,这是一道简单的数论算法题,考查的是回文数算法,包括列表运算、字符串处理和自制积木等知识点。

说到回文数,你肯定不陌生,一个自然数,如果从左向右看和从右向左看数字都一样,换句话说,就是数字排列左右对称,就把它叫做“回文数”。

图片

比如121、5335、6084806都是回文数,当然,由同一个数字组成的数,如6、88、999也是回文数。

实际上,这是一道曾经考过的题目,2022年8月21日举行的第14届选拔赛的第4题,可以参考《回文数-第14届蓝桥杯Scratch选拔赛真题》这篇教程。

关于回文数的判断,一般有如下三种方式:

  • 字符串反转

  • 数字反转

  • 逐位判断

其中,前两种方法都需要得到倒序数,正好符合本题的要求。在Scratch中,数字可以直接当作字符串来进行处理,因此字符串反转方法是首选。

所谓的字符串反转,就是遍历整个数字字符串,分别取出每一位,再进行字符串连接。在具体实现时,通常有两种思路:

1). 正序遍历,前面插入

2). 倒序遍历,后面追加

两种方法都可以,相对来说,第一种要简单一些。

由于要反复计算某个数字的倒序数,为了方便,建议使用函数的编程思想,定义一个自制积木,用于计算给定数字的倒序数。

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

三.编程实现

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

  • 定义自制积木

  • 完成主程序

1. 定义自制积木

根据前面的思路分析,定义自制积木如下:

图片

代码比较简单,强调4点:

1). 自制积木带有参数,在整个自制积木中,都是使用参数来处理的;

2). 倒序数变量的初始值必须设置为空字符串,不能是数字0;

3). 这里采取的是正序遍历前面插入的方式来拼接字符串的;

4). 字符串倒过来,会出现0开头的情况,比如110倒过来是011,为避免这种情况,可以将字符串转成数字,这就是“将倒序数增加0”指令的作用。

调用这个自制积木,传入一个数字,就可以得到倒序数,并保存到变量“倒序数”中了。

2. 完成主程序

接下来,就可以按照题目的要求来完成主程序了,代码如下:

图片

代码有点多,说明4点:

1). 列表在使用之前一定要清空;

2). 由于说倒序数不需要重复执行,所以第一次求倒序数要单独调用,参数就是输入的数字,直接使用“回答”指令表示;

3). 为了方便,这里使用变量“”来表示原数字和倒序数之和;

4). 注意“重复执行”指令的位置,这个非常有技巧性,任何时候,都需要先将和加入列表,所以第一次加入列表时,不用放到循环中,这样代码就变得更简洁了。

至此,整个作品就创作好了,你可以输入1~100之间的任何整数来进行测试啦。

四.总结与思考

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

  • scratch问答指令;

  • 循环编程,包括计数循环和无限循环;

  • 列表的使用;

  • 字符串处理;

  • 自制积木;

这是中级组的最后一题,初级组没有这道题,难度中等,完成时间20分钟左右。本题的重点是如何使用计算出倒序数,难点在于重复计算倒序数并加入列表的逻辑处理。

相对于前面几次的测评而言,这一次的压轴题还是要简单不少,代码量不多,逻辑也并不复杂。

所以,超平老师经常给孩子们讲,一定要合理安排每道题的答题时间,最后一题的分值最高,但并不一定是最难的。不要等考试成绩出来了,嘀嘀咕咕说这道题我会,就是没有时间做。

更为关键的是,这还是一道原题,两题的相似度在90%左右。所以说,要想在比赛中获得好的成绩,历届真题是最好的复习资料,一定要重视真题,多练习,多思考,多总结。

超平老师给你留两道思考题:

1). 如果输入的不是数字,会出现什么情况,能否增加一个判断,确保输入的必须是数字;

2). 题目限定了数字范围是1~100,如果没有限制,比如输入9999,会出现什么情况,又该如何处理呢?

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

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

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

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

相关文章

nginx与tomcat的区别?

关于nginx和tomcat的概念 网上有很多关于nginx和tomcat是什么东西的定义,我总结了一下: tomcat是Web服务器、HTTP服务器、应用服务器、Servlet容器、web容器。 Nginx是Web服务器、HTTP服务器、正向/反向代理服务器,。 这里有两个概念是交叉的&#xff…

【C++STL详解(二)】——string类模拟实现

目录 前言 一、接口总览 二、默认成员函数 1.构造函数 2.拷贝构造 写法一:传统写法 写法二:现代写法(复用构造函数) 3.赋值构造 写法一:传统写法 写法二:现代写法(复用拷贝构造) 4.析构函数 三、…

包含密钥的OMP压缩感知模拟(MATLAB)

压缩感知(Compressed Sensing,CS)是一种新颖的信号采样和重建理论,它通过利用信号的稀疏性或者低维性,从极少量的观测中直接重建出完整的信号。压缩感知的核心思想是,在合适的条件下,信号本身的稀疏性或低维性可以使其信息内容大幅减少,从而可以通过较少的观测数据进行…

OSPF实验1

1,配置IP地址 [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 200.1.1.1/24 up up GigabitEthernet0/0/1 10.1.1.1/24 up …

ORA-01779 BYPASS_UJVC 11.2后废弃了

有这么个update语句 update A t set status 1 where exists (select 1 from B B where B.code A.code) 因性能问题需要修改写法。 在oracle10G这么update是没问题的: update( select …

Linux文件处理之ln命令详解

Linux文件处理之ln命令详解 在Linux系统中,ln命令是一个非常重要的工具,用于创建文件或目录的链接。链接在Linux文件系统中是一个核心概念,它允许用户以不同的路径名访问同一个文件或目录。通过ln命令,我们可以创建硬链接和软链接(也称为符号链接)。本文将详细解释ln命令…

Oracle基础【7-Oracle中RMAN恢复管理器】

🌈个人主页:godspeed_lucip 🔥 系列专栏:Oracle从基础到进阶 本文对应Oracle实验报告源文件下载:公众号程序员刘同学回复oracle实验获取下载链接 实验七 RMAN恢复管理器一、实验目的二、实验环境三、实验内容1 为备份…

jsp实现增删改查——(二)添加、修改、删除学生信息

学生信息CRUD——添加、修改、删除 在上一小节中,我们写好了list.jsp,用一个table表格显示数据库student表中的各个学生的(学号,姓名,生活费,出生日期),并对表格每一行的数据都配有…

【JavaParser笔记02】JavaParser解析Java源代码中的类字段信息(javadoc注释、字段​​​​​​​名称)

这篇文章,主要介绍如何使用JavaParser解析Java源代码中的类字段信息(javadoc注释、字段名称)。 目录 一、JavaParser依赖库 1.1、引入依赖 1.2、获取类成员信息 (1)案例代码 <

MySQL数据库(数据库连接池)

文章目录 1.批处理应用1.基本介绍2.批处理演示1.创建测试表2.修改url3.编写java代码 3.批处理源码分析 2.数据库连接池1.传统连接弊端分析2.数据库连接池基本介绍1.概念介绍2.数据库连接池示意图3.数据库连接池种类 3.C3P0连接池1.环境配置1.导入jar包2.将整个lib添加到项目中3…

从Magic6系列看荣耀AI的野心

监制 | 何玺 排版 | 叶媛 1月11日&#xff0c;荣耀正式发布Magic6系列旗舰手机。3月18日&#xff0c;荣耀举行春季旗舰新品发布会&#xff0c;再发荣耀Magic6至臻版、荣耀Magic6 RSR保时捷设计两款Magic6系列新品。 玺哥观察到&#xff0c;从荣耀Magic6到Magic6 Pro&#xff…

java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类

先定义一个抽象类RegexPatterns&#xff0c;定义相关正则字符串 : public abstract class RegexPatterns {/*** 手机号正则*/public static final String PHONE_REGEX "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";/*** 邮箱正则*/public stat…

AWS上面部署一台jenkins

问题 客户预算有限&#xff0c;需要在aws云上面搞一台EC2手动安装jenkins发版。 步骤 创建密钥对 在EC2服务里面创建密钥对&#xff0c;具体如下图&#xff1a; 设置密钥对&#xff0c;如下图&#xff1a; 保存好这个私钥文件&#xff0c;以便后续用这个私钥文件ssh登录j…

CSS水波纹效果

效果图&#xff1a; 1.创建一个div <div class"point1" click"handlePoint(1)"></div> 2.设置样式 .point1{width: 1rem;height: 1rem;background: #2ce92f;position: absolute;border-radius: 50%;z-index: 999;cursor: pointer;} 3.设置伪…

区块链的应用领域:重塑未来的信任机制

区块链作为一种新兴的技术&#xff0c;正在逐渐改变我们的生活。它以其独特的优势&#xff0c;正在开启一个信任的新时代。在金融、供应链管理、医疗健康、教育、文化娱乐、房地产等众多领域&#xff0c;区块链已经崭露头角&#xff0c;以其独特的方式发挥着作用。 1.金融领域…

【C语言】2048小游戏【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏描述&#xff1a; 2048是一款数字益智类游戏&#xff0c;玩家需要使用键盘控制数字方块的移动&#xff0c;合并相同数字的方块&#xff0c;最终达到数字方块上出现“2048”的目标。 每次移动操作&#xff0c;所…

GitLab 新项目创建和使用

一、下载 Git 客户端 Git - Downloading Package (git-scm.com) 二、打开 Git Bash 配置 gitlab 账户 下面的信息可以登录gitlab查看 git config --global user.name "yourname"git config --global user.email "youremailXX.com" 生成ssh_key ssh-k…

The connection errored: Failed host lookup: ‘sj.abbpt.com‘

报错解释&#xff1a; 错误表明Flutter应用程序在使用Dio库进行网络请求时&#xff0c;无法解析主机名’sj.abbpt.com’。这通常意味着设备无法通过DNS服务找到与该主机名相关联的IP地址。 解决方法&#xff1a; 检查主机名是否正确&#xff0c;没有拼写错误。 确认设备的网…

每日一练 | 华为认证真题练习Day209

1、关于BGP路由通告原则描述正确的是:&#xff08;多选&#xff09; A. BGP连接一建立&#xff0c;BGP Speaker将把自己所有BGP路由通告给新对等体。 B. BGP Speake会把自己所有的BGP路由通告给对等体。 C. 一般情况下&#xff0c;当存在多条路径时&#xff0c;BGP Speake只…

LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】

​ &#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题:打怪升级之旅 python数据分析可视化:企业实战案例…