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

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

  • 2026-08-24 12:50:39
【第36期】21天养成编程习惯:Scratch刷题第09天

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

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

Day09:GESP一级2023.12_返回地球

1. 准备工作

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

(2)添加角色Cat Flying和Earth。

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

2. 功能实现

(1)点击绿旗,角色Earth的初始位置为(X=170,Y=120),并以每秒向右旋转15度的速度不停的转动。

(2)点击绿旗,舞台背景换成Nebula,清除图形特效,并以每秒漩涡特效增加25的速度不停改变。

(3)点击绿旗,角色Cat Flying的初始位置为(X=-180,Y=-115),初始方向为90度,初始状态为显示,初始大小为100,初始造型为cat flying-a。

(4)角色Cat Flying 说“返回地球”2秒,面向地球以移动5步,大小减小1的速度向地球飞去,直到碰到地球为止。

(5)角色Cat Flying碰到地球后,隐藏,停止全部脚本。

注意:

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

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色,添加角色Cat Flying和Earth。

b. 舞台背景设置

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

(2)脚本编写

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

a. 角色:Cat Flying

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-180,Y=-115
  3. 初始方向:90°
  4. 初始状态:显示
  5. 初始大小:100
  6. 初始造型:cat flying-a
  7. 说“返回地球”2秒
  8. 面向地球
  9. 重复执行直到碰到地球:(以移动5步,大小减小1的速度向地球飞去)
    • 移动5步
    • 大小减小1
  10. 隐藏
  11. 停止全部脚本

b. 角色:Earth

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=170,Y=120
  3. 重复执行:(以每秒向右旋转15度的速度不停的转动)
    • 右转15°
    • 等待1秒

c. 背景

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始背景:Nebula
  3. 清除图形特效
  4. 重复执行:(以每秒漩涡特效增加25的速度不停改变)
    • 将漩涡特效增加25
    • 等待1秒

Day09:GESP二级2024.03_找因数

【题目描述】

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

小杨最近刚刚学习了因数的概念,具体来说,如果一个正整数  可以被另一个正整数  整除,那么我们就说  是  的因数,例如6可以被1、2、3、6整除,则1、2、3、6都是6的因数。

请你帮忙写一个程序,计算正整数  有多少个因数,存入变量 中。

【输入描述】

新建变量,用于存储计算因数个数的变量 。

如下图所示:

【输出描述】

新建变量,用于存储的因数个数。

如下图所示:

【输入样例】

a = 6

【输出样例】

result = 4

【输入样例】

a = 1

【输出样例】

result = 1

【参考答案】

其他测试用例

【测试用例1】

输入:a = 529输出:result = 3

【测试用例2】

输入:a = 750输出:result = 16

【测试用例3】

输入:a = 588输出:result = 18

【测试用例4】

输入:a = 518输出:result = 8

【测试用例5】

输入:a = 564输出:result = 12

Day09:GESP三级2025.09_菱形

【题目描述】

小杨最近迷上了用字符画画,他特别想画出一个漂亮的菱形。这个菱形要用字符画在一个 n行 n列的方格纸上(本题画在列表ans中),而且  是一个大于  的奇数(比如  等,)。

菱形的样子

  • 菱形的四个角分别位于:第一行的正中间、第一列的正中间、最后一行的正中间、最后一列的正中间
  • 这些角之间要用 “#” 字符连接起来,形成一个空心的菱形
  • 菱形内部和外部都用 “.” 字符填充

当  时,菱形长这样:

默认小猫角色和白色背景,编写程序根据给定的奇数,在列表中呈现对应的菱形。

【输入描述】

新建变量“”表示菱形的层数。

如下图所示:

【输出描述】

新建列表 “”用于存储最后的菱形。

如下图所示:

【输入样例】

n = 5

【输出样例】

ans = ['..#..', '.#.#.', '#...#', '.#.#.', '..#..']

【输入样例】

n = 3

【输出样例】

ans = ['.#.', '#.#', '.#.']

【注意事项】

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

【参考答案】

【测试用例】

【测试用例1】

输入:n = 7输出:ans = ['...#...', '..#.#..', '.#...#.', '#.....#', '.#...#.', '..#.#..', '...#...']

【测试用例2】

输入:n = 9输出:ans = ['....#....', '...#.#...', '..#...#..', '.#.....#.', '#.......#', '.#.....#.', '..#...#..', '...#.#...', '....#....']

【测试用例3】

输入:n = 11输出:ans = ['.....#.....', '....#.#....', '...#...#...', '..#.....#..', '.#.......#.', '#.........#', '.#.......#.', '..#.....#..', '...#...#...', '....#.#....', '.....#.....']

【测试用例4】

输入:n = 13输出:ans = ['......#......', '.....#.#.....', '....#...#....', '...#.....#...', '..#.......#..', '.#.........#.', '#...........#', '.#.........#.', '..#.......#..', '...#.....#...', '....#...#....', '.....#.#.....', '......#......']

【测试用例5】

输入:n = 15输出:ans = ['.......#.......', '......#.#......', '.....#...#.....', '....#.....#....', '...#.......#...', '..#.........#..', '.#...........#.', '#.............#', '.#...........#.', '..#.........#..', '...#.......#...', '....#.....#....', '.....#...#.....', '......#.#......', '.......#.......']

Day09:GESP四级2023.06_按身高排序

【题目描述】

默认小猫角色和白色背景。有两个列表,第一个列表“”存储名字,第二个列表“”存储这组名字对应的身高,这些身高由互不相同的正整数组成。

请按身高由大到小排序,同时能够得到对应名字的列表“”。

例如:

  • 名字列表:names = ["Emily", "Michael", "Sarah"]
  • 身高列表:heights = [180, 165, 170]

按照身高由大到小排序后,Emily最高,接着是Sarah和Michael

最后得到的名字列names = ["Emily", "Sarah", "Michael"]

【输入描述】

新建两个列表,“”存储一组姓名,“”存储这组姓名对应的身高,这些身高是互不相同的正整数。

如下图所示:

【输出描述】

无需新建,仍用以前的列表“”,存储按照身高由大到小排序后,对应的姓名。

如下图所示:

【输入样例】

names = [‘Emily’,’Michael’,’Sarah’]heights = [180,165,170]

【输出样例】

names = [‘Emily’,’Sarah’,’Michael’]

【输入样例】

names = [‘Mary’,’John’,’Emma’,’Tom’]heights = [160,180,170,157]

【输出样例】

names = [’John’,’Emma’,’Mary’,’Tom’]

【参考答案】

其他测试用例

一共5组测试用例,通过一组测试用例得5分。

【测试用例1】

names = [‘Alice’,’Bob’,’Tom’],heights = [155,185,150];names = [’Bob’,‘Alice’,’Tom’]

【测试用例2】

names = [‘Nicholas’, ‘Abigail’, ‘Benjamin’, ‘Elizabeth’],heights = [160,175,158,180];names = [‘Elizabeth’,‘Abigail’,‘Nicholas’,‘Benjamin’]

【测试用例3】

names = [‘William’,‘Olivia’, ‘James’,’Sarah’,’Nicholas’],heights = [174, 160, 178, 158, 180];names = [’Nicholas’,‘James’, ‘William’, ‘Olivia’, ’Sarah’]

【测试用例4】

names = [‘Olivia’, ‘William’],heights = [178,180];names = [‘William’, ‘Olivia’]

【测试用例5】

names = [‘Emily’],heights = [175];names = [‘Emily’]

Day09:PTA第02届_为绝句断句

【题目描述】

绝句是中国传统诗歌的一种体裁,常分为五言和七言。仅几十字,便能展现出一幅幅清新的画图,传达一种种真切的意境。

以下诗篇遗失了标点符号,请你编写一段程序,将以下诗篇进行断句,分别存放在列表中。

断句方式:

  1. 如果是五言绝句,,表示每五个中文字符为一句;
  2. 如果是七言绝句,,表示每七个中文字符为一句。

【输入描述】

首先输入一个正整数或,然后输入一首绝句诗篇,不含标点符号,存储在变量【诗篇】中。

如下图所示:

【输出描述】

输出一个列表,得到一首绝句,存储在列表【绝句】中。

如下图所示:

【输入样例】

5好雨知时节当春乃发生随风潜入夜润物细无声

【输出样例】

好雨知时节当春乃发生随风潜入夜润物细无声

【参考答案】

其他测试用例

【测试用例1】

输入:{"n":5,"诗篇":[春眠不觉晓处处闻啼鸟夜来风雨声花落知多少]}输出:{"绝句":["春眠不觉晓","处处闻啼鸟","夜来风雨声","花落知多少"]}

【测试用例2】

输入:{"n":5,"诗篇":[床前明月光疑是地上霜举头望明月低头思故乡]}输出:{"绝句":["床前明月光","疑是地上霜","举头望明月","低头思故乡"]}

【测试用例3】

输入:{"n":5,"诗篇":[白日依山尽黄河入海流欲穷千里目更上一层楼]}输出:{"绝句":["白日依山尽","黄河入海流","欲穷千里目","更上一层楼"]}

【测试用例4】

输入:{"n":5,"诗篇":[红豆生南国春来发几枝愿君多采撷此物最相思]}输出:{"绝句":["红豆生南国","春来发几枝","愿君多采撷","此物最相思"]}

【测试用例5】

输入:{"n":5,"诗篇":[千山鸟飞绝万径人踪灭孤舟蓑笠翁独钓寒江雪]}输出:{"绝句":["千山鸟飞绝","万径人踪灭","孤舟蓑笠翁","独钓寒江雪"]}

【测试用例6】

输入:{"n":7,"诗篇":[远上寒山石径斜白云深处有人家停车坐爱枫林晚霜叶红于二月花]}输出:{"绝句":["远上寒山石径斜","白云深处有人家","停车坐爱枫林晚","霜叶红于二月花"]}

【测试用例7】

输入:{"n":7,"诗篇":[碧玉妆成一树高万条垂下绿丝绦不知细叶谁裁出二月春风似剪刀]}输出:{"绝句":["碧玉妆成一树高","万条垂下绿丝绦","不知细叶谁裁出","二月春风似剪刀"]}

【测试用例8】

输入:{"n":7,"诗篇":[月落乌啼霜满天江枫渔火对愁眠姑苏城外寒山寺夜半钟声到客船]}输出:{"绝句":["月落乌啼霜满天","江枫渔火对愁眠","姑苏城外寒山寺","夜半钟声到客船"]}

【测试用例9】

输入:{"n":7,"诗篇":[泉眼无声惜细流树阴照水爱晴柔小荷才露尖尖角早有蜻蜓立上头]}输出:{"绝句":["泉眼无声惜细流","树阴照水爱晴柔","小荷才露尖尖角","早有蜻蜓立上头"]}

【测试用例10】

输入:{"n":7,"诗篇":[清明时节雨纷纷路上行人欲断魂借问酒家何处有牧童遥指杏花村]}输出:{"绝句":["清明时节雨纷纷","路上行人欲断魂","借问酒家何处有","牧童遥指杏花村"]}

青少年编程竞赛交流

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

最新文章

随机文章