回文数-第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。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言----找出10个整数中的最大值

今天让我们来看看如何找出10个数的最大值吧。 题目描述 今天杰克在做数学题目的时候产生了思考,我应该怎么才能找出10个数的最大值呢,给大家一道题目,帮帮杰克吧,现有数组int arr[] { 1,2,15,4,8,6,23,8,9,10 };,使用…

ceisum 画矩形 画带高度的矩形 画竖起来的矩形

一、画矩形,每个点不带高度,距离地表500米 viewer.entities.add({polygon: {hierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([113.34742631368005, 38.1066616874903,113.34779274419935, 38.1022786524791,113.358628631…

是谁?写的Java神作一出版就获Jolt图书大奖【抽奖赠书】

送书活动 1️⃣参与方式:点此参与抽书抽奖 2️⃣获奖方式:小程序随机 抽5位,每位小伙伴一本《Effective Java中文2024版》 3️⃣活动时间:截止到 2024-4-6 12:01:00 注:所有抽奖活动都是全国范围免费包邮到家&#xff…

.[backups@airmail.cc].faust勒索病毒深度解析 | 数据恢复 | 数据解密

前言: 在当今数字化时代,网络安全问题日益凸显,其中勒索病毒无疑已成为一大全球性的威胁。这些恶意软件不仅悄无声息地侵入个人和企业的计算机系统,而且以其狡猾的加密手段锁定重要数据,进而向受害者索要高额赎金。随着…

Sora可能会改变我们的思维方式

当经济学家评估生成式人工智能对人类工作的影响时,教育家也有自己的担忧,毕竟在写作、答疑等领域,AI所展现的能力已经令许多人类望尘莫及,学者们可能有这样的思考:散文是否会继续主导人类的交流和论证。 社交媒体和新闻…

windows 系统下 mysql 数据库的下载与安装(包括升级安装)

windows 系统下 mysql 数据库的下载与安装(包括升级安装) 一、mysql 介绍: MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。 MySQL 是最流行的关系型数据库管理系统之一&#xf…

上位机图像处理和嵌入式模块部署(qmacvisual测量标定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在机器视觉中,测量是很重要的一个环节。如果是简单的定位,可能精度要求并不那么严格。但是如果是对产品进行QA测量,需要精确到0.1mm,甚至是0.05mm这样的精度,那就需要对camera…

15.Python访问数据库

如果数据量较少,则我们可以将数据保存到文件中;如果数据量较 大,则我们可以将数据保存到数据库中。 1 SQLite数据库 SQLite是嵌入式系统使用的关系数据库,目前的主流版本是SQLite 3。SQLite是开源的,采用C语言编写而…

Spring boot如何执行单元测试?

Spring Boot 提供了丰富的测试功能,主要由以下两个模块组成: spring-boot-test:提供测试核心功能。spring-boot-test-autoconfigure:提供对测试的自动配置。 Spring Boot 提供了一个 spring-boot-starter-test一站式启动器&…

不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝

今天我要向大家介绍一款非常强大的系统诊断和监控工具——sysdig。它能替代top、iftop、lsof和strace等工具,让你的工作更加高效。下面让我举几个应用场景,让你亲眼见证它的强大! 什么是sysdig sysdig是一款开源的系统诊断和监控工具&#…

排序算法-归并排序

Leetcode链接:. - 力扣(LeetCode) 归并:将原始数组划分为若干个子数组,然后将这些子数组分别排序,最后再将已排序的子数组合并成一个有序的数组。是一种分治思想 思路: 1.分 2.治 3.怎么治 …

Matlab实验:FIR数字滤波器设计

01.代码内容及原理 02.代码所有效果图 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复MATLAB实验;本公众号致力于解决找代码难,写代码怵。各位有什么急需的代码,欢迎后台留言~不定时更…

从零开始,构建智慧企业:人事管理软件新升级全攻略

本文从智能化人事管理的六大核心要素探讨如何打造一个适应现代企业需求的智能化人事管理系统,并介绍几款市场上表现优秀的人事管理软件。 随着我国经济的发展,企业全球化是大势所趋,难免会出现跨国员工数量增加、办公地点分散、跨部门协作等…

超图新建三维数据集继续学习

1 新建三维数据集 之前操作过新建三维数据集,还不熟悉,继续熟悉; 现在有一个文件型的数据源,名为swtest1;它前面小图标上有UDX三个字母,表明这是一个UDX类型的数据源;在此数据源上右击&#x…

vs2022 开始自己的第一个Python程序

这是针对于vs2022安装和使用教程(详细)创建Python项目的简单示例,旨在示范从项目搭建到程序运行的简单流程,代码就是打印Hello World,适合初次使用vs2022的用户~ 1.以Python为例,下拉到Python应用程序&…

c#仿ppt案例

画曲线 namespace ppt2024 {public partial class Form1 : Form{public Form1(){InitializeComponent();}//存放所有点的位置信息List<Point> lstPosition new List<Point>();//控制开始画的时机bool isDrawing false;//鼠标点击开始画private void Form1_MouseD…

一次普通的漏洞挖掘思路分享

No.0 前言 一名web安全小白&#xff0c;自己仅学了一点思路&#xff0c;直接实战&#xff0c;运气不错&#xff0c;碰到了管理员弱口令&#xff0c;进入后台后&#xff0c;继续测试自己学会的思路挖掘深一点的漏洞&#xff0c;这里与各位分享一下&#xff0c;如果有更多的思路…

01 - 半加器 异或门

---- 整理自B站UP主 踌躇月光 的视频 1. 半加器 ABSC0000011010101101 S A ‾ B A B ‾ C A B \begin{aligned} S & \overline{A}B A\overline{B} \\ C & AB \end{aligned} SC​ABABAB​ 2. 异或门 S A ‾ B A B ‾ \begin{aligned} S & \overline{A}B A\o…

如何评估编码器性能优劣?全方位检测方法与常见故障解决方案

编码器是一种电子或机械装置&#xff0c;其主要功能是将物理量&#xff08;如角位移、直线位移、速度、压力、温度等&#xff09;转换为相应的电信号&#xff0c;或者是将数据、信号或信息进行格式转换和编码&#xff0c;使其能够适应特定的通讯协议、传输介质或存储要求。 在…

当面试官问你插入排序算法,你敢说自己会吗?

算法学习的重要性 在程序员的世界里&#xff0c;算法就如同一座桥梁&#xff0c;连接着问题与解决方案&#xff0c;是实现优秀程序的关键。 掌握算法&#xff0c;就能够在面对各种问题时&#xff0c;找到最合适的解决方法&#xff0c;以最少的时间和空间&#xff0c;实现最优的…