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

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

  • 2026-10-29 06:46:46
【第35期】21天养成编程习惯:Scratch刷题第15天

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

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

Day15:GESP一级2025.06_心想事成

1. 准备工作

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

(2)添加角色Motorcycle和Abby。

(3)删除默认白色背景,添加背景Night City With Street和Hearts。

2. 功能实现

(1)点击绿旗,舞台背景换成Night City With Street。

(2)点击绿旗,角色Motorcycle的初始位置为(X=180,Y=-110),初始方向为90°,初始造型为Motorcycle-a,初始大小为90,初始状态为隐藏。

(3)等待4秒钟后,Motorcycle显示出来,一边播放音乐car vroom,一边以x坐标减少5的速度行驶,直到碰到角色Abby。

(4)碰到Abby后,换成Motorcycle-b造型,换成Hearts背景。

(5)点击绿旗,角色Abby的初始位置为(X=-180,Y=-80),初始方向为90°,初始造型为abby-a,初始大小为80。

(6)每隔1秒,角色Abby更换到下一个造型,重复执行4次。

注意事项:

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

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色,添加角色Motorcycle和Abby。

b. 舞台背景设置

删除默认白色背景,添加背景Night City With Street和Hearts。

(2)脚本编写

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

a. 角色:Motorcycle

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=180,Y=-110
  3. 初始方向:90°
  4. 初始造型:Motorcycle-a
  5. 初始状态:隐藏
  6. 等待4秒
  7. 显示
  8. 播放声音car vroom
  9. 重复执行直到碰到角色Abby
    • x坐标减少5
  10. 更换造型:Motorcycle-b
  11. 更换背景:Hearts

b. 角色:Abby

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-180,Y=-80
  3. 初始方向:90°
  4. 初始造型:abby-a
  5. 初始大小:80
  6. 重复执行4次
    • 等待1秒
    • 下一个造型

c. 背景:

当绿旗被点击时:

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

4. 评分标准

(1)点击绿旗,舞台背景换成Night City With Street。(2分)

(2)点击绿旗,角色Motorcycle的初始位置为(X=180,Y=-110),初始方向为90°,初始造型为Motorcycle-a,初始大小为90,初始状态为隐藏。(5分)。

(3)等待4秒钟后,Motorcycle显示出来,一边播放音乐car vroom,一边以x坐标减少5的速度行驶,直到碰到角色Abby。(6分)

(4)碰到Abby后,换成Motorcycle-b造型,换成Hearts背景。(3分)

(5)点击绿旗,角色Abby的初始位置为(X=-180,Y=-80),初始方向为90°,初始造型为abby-a,初始大小为80。(5分)

(6)每隔1秒,角色Abby更换到下一个造型,重复执行4次。(4分)


Day15:GESP二级2025.03_图书馆里的老鼠

【题目描述】

图书馆里面有  本书。不幸的是,图书馆里混进了一只老鼠。老鼠每  小时能啃坏一本书,假设老鼠在啃坏一本书之前不会啃另一本。

默认小猫角色和白色背景,编写程序计算经过  小时,图书馆还有多少本完好的书。

【输入描述】

新建变量“”,用于存储书的数量。

新建变量“”,用于存储老鼠啃坏一本书的时间。

新建变量“”,用于存储经过的小时数。

输入数据保证 。

如下图所示:

【输出描述】

新建变量“”用于存储最后的结果。

如下图所示:

【输入样例】

n = 10x = 2y = 3

【输出样例】

result = 8

【输入样例】

n = 5x = 2y = 4

【输出样例】

result = 3

【注意事项】

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

【参考答案】

其他测试用例

【测试用例1】

输入:n = 29,x = 2, y=3输出:result = 27

【测试用例2】

输入:n = 88,x = 1, y=10输出:result = 78

【测试用例3】

输入:n = 75,x = 1, y=12输出:result = 63

【测试用例4】

输入:n = 57,x = 2, y=10输出:result = 52

【测试用例5】

输入:n = 14,x = 4, y=3输出:result = 13

Day15: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 = ['.......#.......', '......#.#......', '.....#...#.....', '....#.....#....', '...#.......#...', '..#.........#..', '.#...........#.', '#.............#', '.#...........#.', '..#.........#..', '...#.......#...', '....#.....#....', '.....#...#.....', '......#.#......', '.......#.......']

Day15:CIE四级2023.12_小明游泳

小明准备参加校运会比赛,他需要统计每天的训练时间。从点分一直训练到点分,编程计算这一天共训练了几个小时,几分钟?

1. 准备工作

(1)默认小猫角色;

(2)默认白色背景。

2. 功能实现

(1)询问“开始训练在几点?”,存入变量;询问“开始训练在几分?”,存入变量,24小时制,例如开始时间是10点10分;

(2)询问“结束训练在几点?”,存入变量;询问“结束训练在几分?”,存入变量,24小时制,例如结束时间是20点20分(注意:结束分钟可能小于开始分钟);

(3)说出这一天的训练时间是几小时,几分钟。

3. 设计思路与实现

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

a. 角色设置

默认小猫角色。

b. 舞台背景设置

默认白色背景。

(2)脚本编写

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

新建变量a,b,c,d用于存储起始的时间和终止的时间。

新建变量total,用于存储训练用的总分钟数。

新建变量m,用于存储训练用的分钟数。

新建变量h,用于存储训练用的小时数。

a. 角色:小猫

当绿旗被点击时:

  1. 开始:点击小绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 询问“开始训练在几点?”,存入变量a。
  3. 询问“开始训练在几分?”,存入变量b。
  4. 询问“结束训练在几点?”,存入变量c。
  5. 询问“结束训练在几分?”,存入变量d。
  6. 计算训练一共用的分钟数 total = (c*60+d)-(a*60+b)
  7. 计算训练用的小时数 total/60 向下取整。
  8. 计算训练用的分钟数 total对60取余。
  9. 说出这一天的训练时间是几小时,几分钟。

Day15:PTA第09届_三国名将

【题目描述】

大高老师最近在研究《三国演义》,特别迷上了其中的6位著名将领。他设计了一个有趣的编码规则:将任意字符串(长度不超过100)转换为数字编码,然后根据编码结果匹配对应的三国名将。

已知6位三国名将存储在列表中(下标从 0 开始):s[6] = {"Guanyu", "Zhangfei", "Caocao", "Diaochan", "Zhugeliang", "Simayi"}

编码规则如下:

(1)将输入字符串中的每个字符转换为对应的字符编码值()

(2)计算字符串中所有字符编码值的总和

(3)将总和除以6取余数(即对6取模)

(4)根据余数确定对应的名将(余数0对应s[0],余数1对应s[1],以此类推)

【输入描述】

输入一个只包含小写字母的字符串,存储在变量【】中,表示要编码的字符串。

如下图所示:

【输出描述】

输出一个字符串,存储在变量【】中,表示对应的三国名将。

如下图所示:

【输入样例1】

andy

【输出样例1】

Caocao

【输入样例2】

hello

【输出样例2】

Zhugeliang

【参考答案】

其他测试用例

【测试用例1】

输入: {'str': 'rose'}输出: {'ans': 'Diaochan'}

【测试用例2】

输入: {'str': 'sunflower'}输出: {'ans': 'Zhangfei'}

【测试用例3】

输入: {'str': 'lily'}输出: {'ans': 'Zhugeliang'}

【测试用例4】

输入: {'str': 'tulip'}输出: {'ans': 'Guanyu'}

【测试用例5】

输入: {'str': 'orchid'}输出: {'ans': 'Diaochan'}

【测试用例6】

输入: {'str': 'pine'}输出: {'ans': 'Caocao'}

【测试用例7】

输入: {'str': 'maple'}输出: {'ans': 'Simayi'}

【测试用例8】

输入: {'str': 'willow'}输出: {'ans': 'Zhugeliang'}

【测试用例9】

输入: {'str': 'apple'}输出: {'ans': 'Caocao'}

【测试用例10】

输入: {'str': 'bamboo'}输出: {'ans': 'Guanyu'}

青少年编程竞赛交流

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

最新文章

随机文章