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

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

  • 2026-10-13 18:34:35
【第36期】21天养成编程习惯:Scratch刷题第01天

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

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

Day01:GESP一级2023.09_跳舞

1. 准备工作

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

(2)添加角色Ballerina,并为其添加声音Dance Around。

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

2. 功能实现

(1)点击绿旗,角色Ballerina的初始位置为(X=10,Y=0),初始方向90°,初始造型为ballerina-a。

(2)点击绿旗,舞台的初始背景为Spotlight,清除图形特效,每隔1秒颜色特效增加25,一共增加10次。

(3)播放音乐Dance Around,Ballerina说“开始跳舞”2秒后,开始跳舞,每隔0.5秒切换一次造型,一共切换20次。

(4)跳舞结束,停止播放音乐,Ballerina说“谢谢大家”,2秒。

注意:

(1)功能(1)、(3)、(4)全部写在ballerina角色代码区的【当绿旗被点击】积木下面。

(2)功能(2)全部写在背景代码区的【当绿旗被点击】积木下面。

3. 设计思路与实现

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

a. 角色设置

删除小猫角色,添加角色Ballerina。

为角色Ballerina添加声音Dance Around。

b. 舞台背景设置

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

(2)脚本编写

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

a. 角色:Ballerina

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=10,Y=0。
  3. 初始方向:90°。
  4. 初始造型:ballerina-a。
  5. 播放音乐 Dance Around。
  6. 说“开始跳舞”,2秒。
  7. 重复执行20次:
    • 下一个造型
    • 等待0.5秒
  8. 停止所有声音
  9. 说“谢谢大家”,2秒。

b. 背景:

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始背景:Spotlight。
  3. 清除图形特效。
  4. 重复执行10次:
    • 等待1秒。
    • 将颜色特效增加25。

Day01:GESP二级2024.09_小杨购物

【题目描述】

小杨有  元钱用于购物。商品A的单价是  元,商品B的单价是  元。

小杨想购买相同数量的商品A和商品B。

默认小猫角色和白色背景,编写程序请你帮小杨计算出他最多能够购买多少个商品A和商品B。

【输入描述】

新建变量  用于存储小杨购物的金额。

新建变量  用于存储商品A的价格。

新建变量  用于存储商品B的价格。

,,

如下图所示:

【输出描述】

新建变量  用于存储小杨最多购买商品A和商品B的个数。

如下图所示:

【输入样例1】

n = 12,a = 1,b = 2

【输出样例1】

result = 4

【提示1】

由于需要购买相同数量的两种商品,因此小杨最多购买4件商品A和4件商品B,共花费  元。因此,答案为4。

【输入样例2】

n = 13,a = 1,b = 2

【输出样例2】

result = 4

【提示2】

由于需要购买相同数量的两种商品,因此小杨最多购买4件商品A和4件商品B,共花费  元。如果小杨想购买5件商品A和5件商品B,则需要花费  元,超过了小杨的预算13元。因此,答案为4。

【注意事项】

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

【参考答案】

一共有  元,购买的A商品和B商品数量相同,能买的数量是 。

考虑到商品的件数只能是整数,而  除以 的值可能不是整数,所以还需要对这个表达式取整。剩余的钱数少于A和B的和时,不能单买一个或者一套A和B,所以  除以  的值需要向下取整。

其他测试用例

【测试用例1】

输入:n = 50693,a = 5884,b = 2763输出:result = 5

【测试用例2】

输入:n = 50740,a = 8428,b = 9546输出:result = 2

【测试用例3】

输入:n = 22984,a = 2004,b = 4590输出:result = 3

【测试用例4】

输入:n = 86789,a = 8418,b = 3190输出:result = 7

【测试用例5】

输入:n = 91579,a = 1960,b = 7045输出:result = 10

Day01:GESP三级2023.06_计算最终值

【题目描述】

默认小猫角色,白色背景。存在一种仅支持2种操作和1个变量的编程语言:

  • X++ 使变量 “X” 的值增加1
  • X-- 使变量 “X” 的值减少 1

最初,“X”的值是0,给你一个由操作组成的列表“lst”,需要得到执行所有操作后,“X”的最终值。

【输入描述】

新建列表“lst”,存储变量“X”执行的操作,例如 lst = [“X++”,”X++”,”X--”]

最初,X = 0

X++:X加1,X = 0 + 1 = 1

X++:X加1,X = 1 + 1 = 2

X--:X减1,X = 2 - 1 = 1

如下图所示:

【输出描述】

新建变量“X”,初始值为0,经过列表中的操作后将最终的结果存入其中。

如下图所示:

【输入样例】

lst = [“X++”,”X++”,”X--”]

【输出样例】

X = 1

【输入样例】

lst = [“X++”,”X++”,”X++”]

【输出样例】

X = 3

【参考答案】

其他测试用例

【测试用例1】

lst = [“X++”,”X++”,”X--”,”X--”,”X--”];X = -1

【测试用例2】

lst = [“X++”,”X--”,”X++”,”X++”];X = 2

【测试用例3】

lst = [“X--”,”X--”,”X++”,”X--”];X = -2

【测试用例4】

lst = [”X++”,”X--”,”X--”,”X++”];X = 0

【测试用例5】

lst = [”X++”,”X++”,”X++”,”X++”];X = 4

Day01:GESP四级2023.12_序列排序

【题目描述】

默认小猫角色和白色背景。

对于给定的正整数序列,按照每个数的各位数之和从大到小排序,各位数之和相同的按照本身大小排序,大的在前,小的在后,结果仍存放在列表中。

比如:,各位数之和为 [ 8 (17), 8 (26), 9(9), 4 (13), 16 (88), 1 (10)],按照由大到小排序[16 (88), 9(9), 8(26), 8(17), 4(13), 1(10)],由于26和17各位数的和都是8,所以按照本身由大到小排序26排在17前面,最后排序的结果为[88, 9, 26, 17, 13, 10]。

【输入描述】

新建列表,用于存储原始的数据。

如下图所示:

【输出描述】

仍使用列表,用于存储得到的结果。

如下图所示:

【输入样例】

lst = [17, 26, 9, 13, 88, 10]

【输出样例】

lst = [88, 9, 26, 17, 13, 10]

【输入样例】

lst = [70, 73, 79, 22, 15, 12]

【输出样例】

lst = [79, 73, 70, 15, 22, 12]

注意:

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

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

【参考答案】

其他测试用例

【测试用例1】

输入:lst = [46, 5, 99, 66, 65, 58, 91, 67, 34, 26, 25, 42, 98, 15]输出:lst = [99, 98, 67, 58, 66, 65, 91, 46, 26, 34, 25, 42, 15, 5]

【测试用例2】

输入:lst = [90, 82, 67, 18, 69, 21, 98, 7, 5]输出:lst = [98, 69, 67, 82, 90, 18, 7, 5, 21]

【测试用例3】

输入:lst = [15, 89, 55, 40, 23, 70, 2, 49]输出:lst = [89, 49, 55, 70, 15, 23, 40, 2]

【测试用例4】

输入:lst = [76, 18, 9, 17, 13, 40, 69, 97, 78]输出:lst = [97, 78, 69, 76, 18, 9, 17, 40, 13]

【测试用例5】

输入:lst = [35, 70, 30, 100, 16, 36, 10, 43, 30, 97, 89, 76]输出:lst = [89, 97, 76, 36, 35, 70, 43, 16, 30, 30, 100, 10]

Day01:PTA第04届_最小的数

【题目描述】

自从听了孔融让梨的故事,陶陶和爸爸妈妈分享水果的时候,总是挑出最小的留给自己,请编程实现下面功能:依次输入3个整数、、,将、、中的最小值输出。

【输入描述】

将三个整数存入到变量中,。

如下图所示:

【输出描述】

将三个整数的最小值存入变量。

如下图所示:

【输入样例】

232

【输出样例】

2

【参考答案】

其他测试用例

【测试用例1】

输入:{"a":579067,"b":775753,"c":657926}输出:{"result":579067}

【测试用例2】

输入:{"a":697701,"b":581280,"c":229604}输出:{"result":229604}

【测试用例3】

输入:{"a":476111,"b":977280,"c":721803}输出:{"result":476111}

【测试用例4】

输入:{"a":993540,"b":9047,"c":391981}输出:{"result":9047}

【测试用例5】

输入:{"a":32328,"b":2185,"c":76842}输出:{"result":2185}

【测试用例6】

输入:{"a":75833,"b":33514,"c":49947}输出:{"result":33514}

【测试用例7】

输入:{"a":26558,"b":15749,"c":98179}输出:{"result":15749}

【测试用例8】

输入:{"a":5787,"b":1955,"c":8288}输出:{"result":1955}

【测试用例9】

输入:{"a":2848,"b":1068,"c":7665}输出:{"result":1068}

【测试用例10】

输入:{"a":783,"b":827,"c":787}输出:{"result":783}

青少年编程竞赛交流

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

最新文章

随机文章