当前位置:   article > 正文

【青少年编程】【四级】数字反转

【青少年编程】【四级】数字反转

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老师上,大家可以关注一下。

数字反转

Jaime想去城堡探险,在城堡门口遇到了小猫,Jaime必须答对小猫提出的问题才能进入城堡。

小猫出题啦:找到一个四位数,该四位数的各位数字翻转(个位变千位,十位变百位,百位变十位,千位变个位)后组成一个新的四位数,原来的四位数是这个新四位数的4倍。

Jaime想请你帮助他编写程序并找到这个四位数。

01

02

1. 准备工作

(1)保留小猫角色,添加背景“Castle 1”和角色“Jaime”。

2. 功能实现

(1)点击绿旗后,小猫说:“请说出符合要求的四位数”;

(2)遍历所有的四位数;

(3)获得每个四位数的反转数;

(4)判断该反转数的4倍是否等于未反转前的四位数;

(5)如果满足(4),Jaime说出该四位数2秒钟,如:8712=4*2178。

3. 设计思路与实现

(1)角色分析

  • 角色:Jaime、小猫

(2)背景分析

  • 背景:Castle 1

(3)所用积木块介绍

a. 外观类

  • 在规定的时间内在舞台上显示输入的文字。

b. 事件类

  • 程序开始积木块。
  • 点击舞台区的绿旗,执行以绿旗开始的所有程序脚本。

  • 消息事件启动积木块,消息是脚本之间、角色之间、舞台与角色之间沟通的重要通道。
  • 当接收到消息时,执行后面的程序指令。

  • 广播一个消息,等待消息接收对象的脚本处理完之后再来继续下面的脚本。

c. 控制类

  • 循环积木块:一遍一遍地执行包起来的积木序列。
  • 判断条件是否为真,如果尖尖角里面的返回值为真则停止循环。

  • 条件判断语句,如果条件返回值为真(bool值),那么执行模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令。

d. 运算类

  • 算术运算,返回左边与右边的乘积。

  • 算术运算,返回左边与右边的商。

  • 比较运算,左边等于右边返回true值(真),否则返回false值(假)。

  • 比较运算,左边大于右边返回true值(真),否则返回false值(假)。

  • 连接两个字符串,得到一个新的字符串。

  • 算术运算,返回左边除以右边的余数。

  • 算术运算,返回X的绝对值。下拉框包括:向下取整、向上取整、平方根、sin、cos、tan、asin、acos、atan、ln、log、e^ 、10^。

e. 变量类

  • 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。

  • 设置变量的值为给定值,通常用于初始化变量。

  • 设置变量的值为自身的值加X。

f. 自制积木类

  • 建立一个列表,输入列表名称,然后选择适用于所有角色还是适用于当前角色。

  • 将一个元素加入到列表的末尾。

  • 清空列表。

(4)角色、舞台背景设置

a. 角色设置

按照题目要求,保留默认的小猫角色。

在角色区,点击“选择一个角色”菜单,在角色库中选择“Jaime”。

b. 舞台背景设置

在舞台区,点击“选择一个背景”菜单,在背景库中选择“Castle 1”。

(5)脚本编写

a. 角色:小猫

新建变量“result”,用于存储反转过后的四位数。

新建变量“位数”,用于存储数字的位数。

新建变量“temp”,临时变量。

制作新的积木:反转四位数(数字),参数:数字。输入数字得到反转的数字。

函数:反转四位数(数字)

  1. 初始化变量:result = 0,位数 = 1000,temp = 数字。
  2. 重复执行直到 temp == 0:
    • result += 位数 * temp % 10 (个位数反转之后变为当前位数,累加到result上面)
    • temp = 向下取整 temp / 10(抹掉个位数)
    • 位数 = 位数 / 10(抹掉一位,位数少1)

新建列表“list”,用于存储找到满足条件的数字后所要显示的信息。

新建消息“找到”,用于通知Jaime已经把所有找到的结果填入列表完毕。

新建变量“i”,用于计数器,遍历1000到9999。

流程描述:

点击小绿旗时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始化列表:清空。
  3. 初始化计数器:i = 1000。
  4. 小猫说:“请说出符合要求的四位数”。
  5. 重复执行直到 i > 9999:遍历所有四位数
    • 获得每个四位数的反转数。
    • 判断该反转数的4倍是否等于未反转前的四位数,如果是,把需要显示的文本加入到列表中。
    • 计数器 i += 1。
  6. 广播“找到”并等待。

b. 角色:Jaime

流程描述:

当接收到“找到”时:

  1. Jaime说出列表中所存的结果2秒钟。

4. 评分标准

(1)点击绿旗后,小猫说:“请说出符合要求的四位数”;(1分)

(2)遍历所有的四位数;(3分)

(3)获得每个四位数的反转数;(3分)

(4)判断该反转数的4倍是否等于未反转前的四位数;(2分)

(5)Jaime说出该四位数2秒钟,如:8712=4*2178。(1分)

5. 考点分析

四级考试大纲与说明

(一)考核目标

学生对编程软件的较强综合操作能力,考查使用软件进行数据处理的能力,同时对函数和过程的理解和使用进行考查,以及学生对已掌握知识的深度综合应用及思考更优程序方案,另针对参加 4 级考试的学生将进行结合分析和计算的情境考查。

(二)能力目标

通过本级考试的学生,逻辑推理能力很不错,对数据的处理,函数和过程等的理解和使用掌握得很不错,对已学知识的综合应用能力很好,具备一定的程序调试和优化能力。学生对编程软件的进一步综合操作能力,考查新建链表,字符串处理,循环的复杂运用,理解函数的作用范 围,理解多线程的概念,同时考查学生对已掌握知识的深度综合应用, 另针对参加 4 级考试的学生将进行难度更高的逻辑推理能力的考查。

(三)考试标准

1、理解并使用链表、函数和多线程。

  • 1)能够新建链表;
  • 2)能够完成对链表中数据的插入、删除;
  • 3)字符串处理;
  • 4)能够自己创建一个有返回值的函数;
  • 5)理解函数的作用范围;
  • 6)理解多线程的概念;
  • 7)循环的复杂运用;
  • 8)逻辑,算法过渡。

(四)知识块

  • 1. 字符串:字符串操作,加密
  • 2. 函数:不同类型函数的创建,参数的设置,返回值,函数的调用
  • 3. 链表:创建链表,实现数据的增、删、改、查,显示和隐藏,找最值,平均值等
  • 4. 大综合:前面所有知识点的综合使用,考查
  • 5. 程序优化:使用已有知识进行问题的优化
  • 6. 逻辑,算法过渡:分析和计算情境考察,如爬楼梯的方法(递归)
  • 7. 循环的复杂运用:循环的结构,循环的嵌套,递归调用

备注:

  • 为本题涉及到的知识点。
  • 为需要掌握,但本题未涉及到的知识点。

(五)题型配比及分值

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/数据结构灵魂2/article/detail/60510
推荐阅读
相关标签
  

闽ICP备14008679号