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

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

  • 2026-10-12 11:06:34
【第36期】21天养成编程习惯:Scratch刷题第03天

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

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

Day03:GESP一级2024.09_努力的蜻蜓

1. 准备工作

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

(2)添加角色Dragonfly和Hippo1。

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

2. 功能实现

(1)点击绿旗,舞台背景换成Boardwalk。

(2)点击绿旗,角色Hippo1的初始位置为(X=-150,Y=10),初始方向为90°方向,初始造型为“hippo1-a”。

(3)点击绿旗,角色Dragonfly的初始位置为(X=100,Y=-120),初始方向为90°方向,初始大小为50,初始造型为“Dragonfly-a”。

(4)Dragonfly说“你好!”2秒,左转15度。以等待0.2秒y坐标增加15,再等待0.2秒y坐标减少3并切换造型的方式向上飞行,直到碰到舞台边缘为止。

(5)Dragonfly碰到舞台边缘后停止全部脚本。

(6)等待1秒后,角色Hippo1说“加油”。之后一直面向Dragonfly,每隔1秒钟切换一次造型,直到停止全部脚本。

注意事项:

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

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色,添加角色Dragonfly和Hippo1。

b. 舞台背景设置

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

(2)脚本编写

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

a. 角色:Hippo1

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-150,Y=10
  3. 初始方向:90°
  4. 初始造型:hippo1-a
  5. 等待1秒
  6. 说“加油”
  7. 重复执行
    • 面向Dragonfly
    • 等待1秒
    • 下一个造型

b. 角色:Dragonfly

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=100,Y=-120
  3. 初始方向:90°
  4. 初始大小:50
  5. 初始造型:Dragonfly-a
  6. 说“你好”,2秒
  7. 左转15°
  8. 重复执行直到 碰到舞台边缘:
    • 等待0.2秒
    • y坐标增加15
    • 等待0.2秒
    • y坐标减少3
    • 下一个造型
  9. 停止全部脚本

c. 背景:

当绿旗被点击时:

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

Day03:GESP二级2023.12_足球联赛积分

【题目描述】

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

在足球联赛里,一个球队赢下一场比赛得到3个积分,打平一场比赛得到1个积分,输掉比赛得到0分。

现已知一个球队在整个联赛里的比赛情况,求该球队最终的积分。

【输入描述】

新建变量,,分别表示这个球队赢下的比赛场数,打平的比赛场数,输掉的比赛场数。()。

如下图所示:

【输出描述】

新建变量,一个整数,表示该球队最终的积分。

如下图所示:

【输入样例】

x = 19y = 6z = 4

【输出样例】

result = 63

【输入样例】

x = 3y = 26z = 20

【输出样例】

result = 35

【注意事项】

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

2、输入变量直接赋值即可,无需使用“询问并等待”积木块。

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

【参考答案】

其他测试用例

【测试用例1】

输入:x=12;y=17;z=14输出:result=53

【测试用例2】

输入:x=7;y=3;z=6输出:result=24

【测试用例3】

输入:x=0;y=21;z=17输出:result=21

【测试用例4】

输入:x=39;y=14;z=26输出:result=131

【测试用例5】

输入:x=18;y=4;z=27输出:result=58

Day03:GESP三级2024.09_小杨的N字矩阵

【题目描述】

小杨想要构造一个  的  字矩阵(为奇数),这个矩阵从左上角到右下角的对角线、第1列和第列都是字母A,其余都是井号#。

默认小猫角色和白色背景,编写程序请你帮小杨根据给定的在列表中呈现对应的字矩阵。

【输入描述】

新建变量“”用于存储字矩阵的行数,为奇数且。

如下图所示:

【输出描述】

新建列表“list”用于存储字矩阵。

如下图所示:

【输入样例】

m = 5

【输出样例】

list = ['A+++A', 'AA++A', 'A+A+A', 'A++AA', 'A+++A']

【注意事项】

  1. 变量名的拼写(包括大小写)要和题目完全一致。
  2. 输入变量直接赋值即可,无需使用“询问并等待”积木块。

【参考答案】

【测试用例】

【测试用例1】

输入:m = 3输出:list = ['A+A', 'AAA', 'A+A']

【测试用例2】

输入:m = 7输出:list = ['A+++++A', 'AA++++A', 'A+A+++A', 'A++A++A', 'A+++A+A', 'A++++AA', 'A+++++A']

【测试用例3】

输入:m = 9输出:list = ['A+++++++A', 'AA++++++A', 'A+A+++++A', 'A++A++++A', 'A+++A+++A', 'A++++A++A', 'A+++++A+A', 'A++++++AA', 'A+++++++A']

【测试用例4】

输入:m = 11输出:list = ['A+++++++++A', 'AA++++++++A', 'A+A+++++++A', 'A++A++++++A', 'A+++A+++++A', 'A++++A++++A', 'A+++++A+++A', 'A++++++A++A', 'A+++++++A+A', 'A++++++++AA', 'A+++++++++A']

【测试用例5】

输入:m = 13输出:list = ['A+++++++++++A', 'AA++++++++++A', 'A+A+++++++++A', 'A++A++++++++A', 'A+++A+++++++A', 'A++++A++++++A', 'A+++++A+++++A', 'A++++++A++++A', 'A+++++++A+++A', 'A++++++++A++A', 'A+++++++++A+A', 'A++++++++++AA', 'A+++++++++++A']

Day03:GESP四级2025.03_小杨排序

【题目描述】

给定10个整数,每个整数的范围大于等于1小于等于100,存储在列表list中。默认小猫角色和白色背景。按照以下要求进行排序。

(1)奇数在前,偶数在后。

(2)奇数按照从小到大排序。

(3)偶数按照从大到小排序。

排序后的结果存在result中,每个数据用#连接。

比如:list = [32, 20, 13 ,70, 21, 98, 67, 17, 80, 41],排序后的结果:result = 13#17#21#41#67#98#80#70#32#20

【输入描述】

新建列表“list”,用于存储待排数据。

如下图所示:

【输出描述】

新建变量“result”,用于存储排序后的结果,中间用#连接。

如下图所示:

【输入样例】

list = [32, 20, 13 ,70, 21, 98, 67, 17, 80, 41]

【输出样例】

result = 13#17#21#41#67#98#80#70#32#20

【输入样例】

list = [81, 39, 71, 10, 36, 87, 76, 30, 48, 81]

【输出样例】

result = 39#71#81#81#87#76#48#36#30#10

【注意事项】

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

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

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

【参考答案】

其他测试用例

【测试用例1】

输入:list = [64, 50, 37, 20, 88, 55, 33, 61, 5, 78]输出:result = 5#33#37#55#61#88#78#64#50#20

【测试用例2】

输入:list = [33, 67, 56, 64, 97, 81, 10, 19, 13, 54]输出:result = 13#19#33#67#81#97#64#56#54#10

【测试用例3】

输入:list = [49, 38, 36, 11, 84, 51, 73, 21, 8, 97]输出:result = 11#21#49#51#73#97#84#38#36#8

【测试用例4】

输入:list = [43, 36, 99, 62, 28, 27, 79, 57, 32, 49]输出:result = 27#43#49#57#79#99#62#36#32#28

【测试用例5】

输入:list = [49, 57, 78, 55, 40, 23, 68, 65, 61, 9]输出:result = 9#23#49#55#57#61#65#78#68#40

Day03:PTA第05届_总成绩是多少

【题目描述】

淘淘最近学习了编程入门课程,这门课程的总成绩计算方法是:

总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%

淘淘想知道,这门课程自己最终能得到多少分。

【输入描述】

输入三个非负整数,存储在变量,,中,分别表示淘淘的作业成绩、小测成绩和期末考试成绩。三项成绩满分都是 100分。

如下图所示:

【输出描述】

输出一个整数,存储在变量中,表示淘淘这门课程的总成绩,满分也是 100 分

如下图所示:

【输入样例】

100 100 80 

【输出样例】

90

数据说明:

对于 100% 的数据, 且  都是 10 的整数倍。

【参考答案】

其他测试用例

【测试用例1】

输入:{'A': 30, 'B': 40, 'C': 60}输出:{'result': 48}

【测试用例2】

输入:{'A': 80, 'B': 20, 'C': 80}输出:{'result': 62}

【测试用例3】

输入:{'A': 90, 'B': 70, 'C': 90}输出:{'result': 84}

【测试用例4】

输入:{'A': 10, 'B': 70, 'C': 20}输出:{'result': 33}

【测试用例5】

输入:{'A': 50, 'B': 70, 'C': 70}输出:{'result': 66}

【测试用例6】

输入:{'A': 10, 'B': 70, 'C': 100}输出:{'result': 73}

【测试用例7】

输入:{'A': 50, 'B': 0, 'C': 100}输出:{'result': 60}

【测试用例8】

输入:{'A': 60, 'B': 0, 'C': 50}输出:{'result': 37}

【测试用例9】

输入:{'A': 20, 'B': 20, 'C': 20}输出:{'result': 20}

【测试用例10】

输入:{'A': 80, 'B': 40, 'C': 60}输出:{'result': 58}

青少年编程竞赛交流

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

最新文章

随机文章