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

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

  • 2026-09-13 22:26:29
【第36期】21天养成编程习惯:Scratch刷题第06天

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

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

Day06:GESP一级2024.09_小熊演杂技

1. 准备工作

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

(2)添加角色Bear-walking和Basketball。

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

2. 功能实现

(1)点击绿旗,背景换成Theater 2。

(2)点击绿旗,角色Bear-walking的初始位置为(X=0,Y=-39),初始方向为90°,旋转方式为左右翻转。初始造型为“bear-walk-a”,初始大小为40,移到最前面。

(3)点击绿旗,角色Basketball的初始大小为180,初始方向为90°,移到Bear-walking所在位置并将Y坐标减少60,这样就呈现出熊踩球的效果。

(4)角色Bear-walking每隔0.1秒切换一次造型不断重复。

(5)当按下向左键时,Bear-walking面向左边,当按下向右键时,Bear-walking面向右边。

(6)Basketball不停向左转5°,直到按下向左键,Basketball不停右转5°,直到按下向右键,重复以上过程。这样即可呈现开始逆时针转,按下向左键顺时针转,按下向右键逆时针转的效果。

注意事项:

  • 功能(1)全部写在背景代码区的【当绿旗被点击】积木下面。
  • 功能(2)(4)全部写在角色Bear-walking代码区的【当绿旗被点击】积木下面。
  • 功能(5)写在角色Bear-walking代码区的【当按下向左键】和【当按下向右键】积木下面。
  • 功能(3)(6)全部写在角色Basketball代码区的【当绿旗被点击】积木下面。

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色;添加角色Bear-walking和Basketball。

b. 舞台背景设置

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

(2)脚本编写

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

a. 角色:Bear-walking

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=0,Y=-39
  3. 初始方向:90°
  4. 旋转方式:左右翻转
  5. 初始造型:bear-walk-a
  6. 初始大小:40
  7. 初始图层:最前面
  8. 重复执行
    • 等待0.1秒
    • 下一个造型

当按下向右键时:

  • 面向90°方向

当按下向左键时:

  • 面向-90°方向

b. 角色:Basketball

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始大小:180
  3. 初始方向:90°
  4. 初始位置:移到 Bear-walking
  5. 将y坐标减少60
  6. 重复执行:
    • 重复执行直到 按下向左键:左转5°
    • 重复执行直到 按下向右键:右转5°

c. 背景:

当绿旗被点击时:

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

Day06:GESP二级2025.12_小杨的爱心快递

【题目描述】

小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:

  • 按体积计算:如果包裹比较蓬松(比如装了很多泡沫纸保护文具),运费按体积计算,公式是 体积()  2。
  • 按重量计算:如果包裹比较结实沉重,运费按重量计算。为了鼓励减轻包裹重量,规则是:当重量()小于300克 时,运费为  元;当重量()达到或超过300克 时,运费为  元。

快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。

默认小猫角色和白色背景,编写程序帮助小杨快速计算出每份爱心快递的运费,最后输出的答案存入变量中。

【输入描述】

新建变量“”,表示快递的体积(单位:立方厘米)。

新建变量“”,表示快递的重量(单位:克)。

新建变量“”,表示重量较轻时()的运费(单位:元)

新建变量“”,表示重量较重时()的运费(单位:元)

注意:所有输入的数字都是不超过  的正整数。

如下图所示:

【输出描述】

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

如下图所示:

【输入样例】

V = 100G = 300M = 60N = 70

【输出样例】

ans = 50

【输入样例】

V = 99G = 200M = 60N = 70

【输出样例】

ans = 49.5

【注意事项】

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

【参考答案】

其他测试用例

【测试用例1】

输入:V = 809,G = 268,M = 439,N = 381输出:ans = 404.5

【测试用例2】

输入:V = 316,G = 118,M = 421,N = 413输出:ans = 158

【测试用例3】

输入:V = 630,G = 724,M = 804,N = 821输出:ans = 315

【测试用例4】

输入:V = 421,G = 302,M = 928,N = 369输出:ans = 210.5

【测试用例5】

输入:V = 593,G = 246,M = 485,N = 466输出:ans = 296.5

Day06:GESP三级2025.12_小杨的黄金格探险

【题目描述】

小杨在探险时发现了一张神奇的矩形地图,地图有  行和  列。每个格子的坐标是 ,其中  表示行号从 1 到 , 表示列号 1 到 。

小杨听说地图中隐藏着一些“黄金格”,这些格子满足一个特殊的数学关系:当行号  和列号  的乘积等于参数  的平方时,该格子就是黄金格。具体来说,黄金格的条件是: 。

例如,如果  ,那么满足  的格子,如 、、 都是黄金格。

默认小猫角色和白色背景,编写程序帮助小杨计算地图中黄金格的总数。

【输入描述】

新建变量“”表示地图的行数。

新建变量“”表示地图的列数。

新建变量“”表示参数。

注: 三个数都在1至100之间。

如下图所示:

【输出描述】

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

如下图所示:

【输入样例】

H = 10W = 10x = 4

【输出样例】

ans = 3

【输入样例】

H = 1W = 1x = 1

【输出样例】

ans = 1

【注意事项】

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

【参考答案】

【测试用例】

【测试用例1】

输入:H = 9,W = 18, x=2输出:ans = 3

【测试用例2】

输入:H = 3,W = 19, x=15输出:ans = 0

【测试用例3】

输入:H = 15,W = 8, x=5输出:ans = 1

【测试用例4】

输入:H = 18,W = 18, x=12输出:ans = 5

【测试用例5】

输入:H = 12,W = 20, x=6输出:ans = 6

Day06:GESP四级2024.03_完全平方数

【题目描述】

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

小杨同学有一个包含了个正整数的序列,他想知道其中有多少对下标组合,使得是完全平方数,并将结果存入变量中。

如果是完全平方数,则存在正整数使得。

例如:序列,,,,都是完全平方数,即。

【输入描述】

新建列表,用于存储个正整数。

如下图所示:

【输出描述】

输出一个非负数存储在变量中,表示有多少对下标组合,使得是完全平方数。

如下图所示:

【输入样例】

lst = [1, 4, 3, 3, 5]

【输出样例】

result = 3

【输入样例】

lst = [3, 5]

【输出样例】

result = 0

【注意事项】

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

【参考答案】

其他测试用例

【测试用例1】

输入:lst = [14, 17, 3, 10, 17, 2, 18]输出:result = 1

【测试用例2】

输入:lst = [1, 16, 18, 14, 6, 20, 8, 17, 19, 9]输出:result = 6

【测试用例3】

输入:lst = [13, 17, 10, 5]输出:result = 0

【测试用例4】

输入:lst = [17, 9, 3, 16, 1, 14, 20, 7]输出:result = 4

【测试用例5】

输入:lst = [11, 12, 10, 14, 18, 19, 2, 12, 8]输出:result = 2

Day06:PTA第07届_和数

【题目描述】

给定一个无重复数据的正整数序列,判断其中有多少个数,等于数列中其他两个数的和。

比如,对于数列4 3 1 2,这个问题的答案就是2,因为 3 = 2 + 1,4 = 1 + 3。

【输入描述】

输入一个正整数数列,存储在列表中,列表的长度不大于100。

如下图所示:

【输出描述】

输出一个整数,存储在变量中,即数列中等于其他两个数之和的数的个数。

如下图所示:

【输入样例】

4 3 1 2

【输出样例】

2

【参考答案】

其他测试用例

【测试用例1】

输入: {'list': [1, 4, 3, 5, 7, 9, 8, 10]}输出: {'result': 6}

【测试用例2】

输入: {'list': [1, 3, 10, 8, 9, 6]}输出: {'result': 2}

【测试用例3】

输入: {'list': [3, 9, 6, 7, 4, 10]}输出: {'result': 3}

【测试用例4】

输入: {'list': [9, 8, 5]}输出: {'result': 0}

【测试用例5】

输入: {'list': [5, 4, 3, 9]}输出: {'result': 1}

【测试用例6】

输入: {'list': [12, 5, 7, 8, 15, 10, 4, 13, 9, 17]}输出: {'result': 5}

【测试用例7】

输入: {'list': [15, 8, 9, 10, 11, 12, 13, 6, 17, 18, 19]}输出: {'result': 4}

【测试用例8】

输入: {'list': [2, 3, 10, 6, 7, 9, 5, 11, 14, 17, 18, 19]}输出: {'result': 9}

【测试用例9】

输入: {'list': [17, 3, 4, 5, 6, 9, 11, 12, 15, 1, 18, 20]}输出: {'result': 10}

【测试用例10】

输入: {'list': [1, 2, 13, 4, 5, 6, 8, 11, 12, 3]}输出: {'result': 8}

青少年编程竞赛交流

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

最新文章

随机文章