当前位置:首页>java>【第36期】21天养成编程习惯:Scratch刷题第10天

【第36期】21天养成编程习惯:Scratch刷题第10天

  • 2026-09-28 15:36:30
【第36期】21天养成编程习惯:Scratch刷题第10天

跟老马一起“升级打怪”学编程!

  • 涉及考试:计算机学会编程能力等级认证(GESP)、计算机学会编程培训师资认证(PTA)、电子学会等级考试
  • 活动内容:提供不同等级的真题供小朋友们选择练习
  • 备考建议:根据自己备考的等级选择相应题目(备考GESP四级的孩子可选择PTA的题目进行练习)
  • 附加价值:可作为白名单比赛的备考训练
  • 本月打卡:本月GESP_Scratch打卡题目

Day10:GESP一级2025.09_换装

1. 准备工作

(1)删除默认小猫角色。

(2)添加角色Harper、Dress和Shoes。

(3)删除默认白色背景,添加背景Bedroom 3。

2. 功能实现

(1)点击绿旗,背景换成Bedroom 3。

(2)点击绿旗,角色Harper的初始位置为舞台中央,初始方向为90°,初始大小为100,初始造型为harper-b,初始图层为最后面。

(3)按下向左“←”键,x坐标减少5,按下向右键“→”,x坐标增加5,按下向上“↑”键,y坐标增加5,按下向下“↓”键,y坐标减少5,直到按下空格键为止,按下空格键后harper说“你好!”2秒。

(4)点击绿旗,角色Shoes的初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为shoes-b。

(5)按下空格键后,Shoes,移动到Harper,x坐标增加10,y坐标减少160。

(6)点击绿旗,角色Dress的初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为dress-b,初始图层为最前面。

(7)按下空格键后,Dress,移动到Harper,y坐标减少40。

注意事项:

  • 功能(1)全部写在背景代码区的【当绿旗被点击】积木下面。
  • 功能(2)(3)全部写在角色Harper代码区的【当绿旗被点击】积木下面。
  • 功能(4)(5)写在角色Shoes代码区的【当绿旗被点击】积木下面。
  • 功能(6)(7)写在角色Dress代码区的【当绿旗被点击】积木下面。

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色,添加角色Harper、Dress和Shoes。

b. 舞台背景设置

删除默认白色背景,添加背景Bedroom 3。

(2)脚本编写

编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。

a. 角色:Harper

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置为舞台中央(X=0,Y=0),初始方向为90°,初始大小为100,初始造型为harper-b,初始图层为最后面。
  3. 重复执行直到按下空格键
    • 如果按下向左“←”键,那么x坐标减少5
    • 如果按下向右键“→”,那么x坐标增加5
    • 如果按下向上“↑”键,那么y坐标增加5
    • 如果按下向下“↓”键,那么y坐标减少5
  4. 说“你好!”2秒。

b. 角色:Dress

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为dress-b,初始图层为最前面。
  3. 等待按下空格键。
  4. 移动到Harper,y坐标减少40。

c. 角色:Shoes

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为shoes-b。
  3. 等待按下空格键
  4. 移动到Harper,x坐标增加10,y坐标减少160。

d. 背景:

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 背景换成Bedroom 3

4. 评分标准

(1)点击绿旗,背景换成Bedroom 3。(2分)

(2)点击绿旗,角色Harper的初始位置为舞台中央,初始方向为90°,初始大小为100,初始造型为harper-b,初始图层为最后面。(4分)

(3)按下向左“←”键,x坐标减少5,按下向右键“→”,x坐标增加5,按下向上“↑”键,y坐标增加5,按下向下“↓”键,y坐标减少5,直到按下空格键为止,按下空格键后harper说“你好!”2秒。(5分)

(4)点击绿旗,角色Shoes的初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为shoes-b。(3分)

(5)按下空格键后,Shoes,移动到Harper,x坐标增加10,y坐标减少160。(4分)

(6)点击绿旗,角色Dress的初始位置为随机位置,初始方向为90°,初始大小为100,初始造型为dress-b,初始图层为最前面。(3分)

(7)按下空格键后,Dress,移动到Harper,y坐标减少40。(4分)


Day10:GESP二级2024.12_小杨读书

【题目描述】

小杨每天读故事书的页数逐渐增加。他第一天读了1页,第二天读了3页,以此类推,每天比前一天多读2页。

默认小猫角色和白色背景,编写程序计算小杨连续读了天,他一共读了多少页书。

【输入描述】

新建变量“”用于存储连续读书的天数。

如下图所示:

【输出描述】

新建变量“”用于存储计算结果。

如下图所示:

【输入样例】

n = 3

【输出样例】

result = 9

【输入样例】

n = 5

【输出样例】

result = 25

【注意事项】

  • 变量名的拼写(包括大小写)要和题目完全一致。
  • 输入变量直接赋值即可,无需使用“询问并等待”积木块。
  • 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块。

【参考答案】

其他测试用例

【测试用例1】

输入:n = 15输出:result = 225

【测试用例2】

输入:n = 26输出:result = 676

【测试用例3】

输入:n = 37输出:result = 1369

【测试用例4】

输入:n = 46输出:result = 2116

【测试用例5】

输入:n = 67输出:result = 4489

Day10:GESP三级2024.03_乘法问题

【题目描述】

小杨刚刚学习了乘法,我们把若干个正整数(大于1)存放到列表中,要求他将这些数乘起来。

对于大部分题目,小杨可以精准地算出答案放入变量中,不过,如果这些数的乘积超过10000,小杨就不会做了,这时在变量中存入 。

默认小猫角色和白色背景,请你写一个程序,告诉我们小杨会如何作答。

例如:若列表最初存放的数据为[3, 5],小杨计算完乘法后将15存入变量中。若列表最初存放的数据为[100, 100, 100],小杨不会做,将 存入变量中。

【输入描述】

新建列表,用于存放需要进行乘法的数据。

如下图所示:

【输出描述】

新建变量用于存储计算的结果,如果大于10000,那么存入 ,否则存入乘积的结果。

如下图所示:

【输入样例】

list = [100, 100, 100]

【输出样例】

result = >10000

【输入样例】

year = [3, 5]

【输出样例】

result = 15

【注意事项】

  • 列表名、变量名的拼写(包括大小写)要和题目完全一致。
  • 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

【参考答案】

其他测试用例

【测试用例1】

输入:list = [6, 7, 4, 3, 1, 15]输出:result = 7560

【测试用例2】

输入:list = [12, 7, 18, 2]输出:result = 3024

【测试用例3】

输入:list = [7, 2, 16]输出:result = 224

【测试用例4】

输入:list = [16, 16, 17, 12, 1, 4, 16, 13]输出:result = >10000

【测试用例5】

输入:list = [8, 16]输出:result = 128

Day10:GESP四级2024.09_小杨学排序

【题目描述】

有个互不相同的整数组成一个数列,为了方便查询小杨想知道这些数从小到大排序后在原数列中的位置编号是什么。

比如:原数列为[3, 7, 1, 6, 8],排序后的数列为[1, 3, 6, 7, 8],排序后的数列中,每个数在原数列中的位置编号为[3,1,4,2,5]。

默认小猫角色和白色背景。请你帮小杨把最后得到的编号用#连接起来。

【输入描述】

新建列表“数据”,用于存储待排数据。数据个数为,,数据互不相同。

如下图所示:

【输出描述】

新建变量“result”,用于存储排序后,每个元素在原始数列中的位置,中间用#连接。

如下图所示:

【输入样例】

数据 = [3, 7, 1, 6, 8]

【输出样例】

result= 3#1#4#2#5

【输入样例】

数据 = [17]

【输出样例】

result = 1

【注意事项】

1、 变量名的拼写(包括大小写)要和题目完全一致。

2、 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块

3、 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

【参考答案】

其他测试用例

【测试用例1】

输入:数据 = [47]输出:result = 1

【测试用例2】

输入:数据 = [32, 3, 35, 7, 42, 49, 22, 29]输出:result = 2#4#7#8#1#3#5#6

【测试用例3】

输入:数据 = [2, 36, 13, 16, 48, 23]输出:result = 1#3#4#6#2#5

【测试用例4】

输入:数据 = [17, 6]输出:result = 2#1

【测试用例5】

输入:数据 = [32, 3, 35, 7, 42, 49, 22, 29]输出:result = 2#4#7#8#1#3#5#6

Day10:PTA第08届_搬书比赛

【题目描述】

学校搬书比赛中,每位同学最大负重为  斤。每本书都有重量,小明想搬尽可能多的书,但总重量不能超过 。

【输入描述】

定义变量【】表示负重限制()。

将个整数依次存入列表【list】中,表示每本书的重量()。

如下图所示:

【输出描述】

输出最多能搬的书的数量【result】。

如下图所示:

【输入样例1】

10   2 3 1 5 4 

【输出样例2】

4

【输入样例1】

73 3 3 2

【输出样例2】

2

【参考答案】

其他测试用例

【测试用例1】

输入: {'M': 10, 'list': [11, 12, 13, 11, 12]}输出: {'result': 0}

【测试用例2】

输入: {'M': 12, 'list': [8, 12, 11, 11, 15, 13, 13, 9, 15, 8, 10, 11, 15, 14]}输出: {'result': 1}

【测试用例3】

输入: {'M': 26, 'list': [13, 13, 12, 15, 12, 12, 6, 11, 8, 6]}输出: {'result': 3}

【测试用例4】

输入: {'M': 19, 'list': [3, 13, 1, 12, 7, 12, 14, 13, 7]}输出: {'result': 4}

【测试用例5】

输入: {'M': 47, 'list': [13, 8, 12, 3, 6, 12]}输出: {'result': 5}

【测试用例6】

输入: {'M': 31, 'list': [6, 4, 6, 4, 8, 8, 4, 8, 7, 15, 1, 15, 13, 14, 12, 11, 11]}输出: {'result': 6}

【测试用例7】

输入: {'M': 14, 'list': [3, 15, 9, 13, 14, 6, 2, 13, 15, 4, 3, 1, 3, 2, 2, 2, 1, 7]}输出: {'result': 7}

【测试用例8】

输入: {'M': 45, 'list': [13, 5, 7, 11, 10, 5, 10, 15, 5, 9, 7, 1, 5]}输出: {'result': 8}

【测试用例9】

输入: {'M': 35, 'list': [9, 8, 9, 3, 2, 12, 2, 12, 15, 13, 15, 5, 6, 1, 6, 5, 5]}输出: {'result': 9}

【测试用例10】

输入: {'M': 46, 'list': [2, 5, 3, 1, 1, 2, 5, 2, 1, 1, 2, 3]}输出: {'result': 12}

青少年编程竞赛交流

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),添加小助手微信,让他邀请大家进入学习群。进群之后大家可以参与定期组织的21天刷题打卡、等级考试测评、教育部白名单比赛辅导以及青少年编程组队竞赛等活动。

最新文章

随机文章