编程语言
首页 > 编程语言> > 电子学会青少年编程等级考试四级题目解析07

电子学会青少年编程等级考试四级题目解析07

作者:互联网

一、题目:数字反转

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

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

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

01

02

1. 准备工作

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

2. 功能实现

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

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

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

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

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


二、视频讲解

666


三、答案

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秒钟。

标签:小猫,07,temp,四位数,反转,编程,Jaime,四级,位数
来源: https://blog.csdn.net/LSGO_MYP/article/details/123065702