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

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

  • 2026-10-10 15:38:30
【第36期】21天养成编程习惯:Scratch刷题第11天

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

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

Day11:GESP一级2024.06_踢足球

1. 准备工作

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

(2)添加角色Soccer Ball和Wand。

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

2. 功能实现

(1)点击绿旗,背景换成Playing Field。

(2)点击绿旗,角色Wand的初始位置为(X=10,Y=20),初始方向为90°,初始大小为50。

(3)点击绿旗,角色Soccer Ball的初始位置为(X=-185,Y=-140),移到最前面。

(4)角色Soccer Ball始终面向鼠标指针,直到按下空格键为止。

(5)按下空格键后,角色Soccer Ball一边播放声音“basketball bounce”一边以每次移动10步的速度移动25次。

(6)移动过后,如果碰到Wand,角色Soccer Ball说“命中”1秒,否则说“未命中”1秒,停止全部脚本。

(7)当角色Soccer Ball碰到Wand即命中后,等待0.1秒,Wand右转45°,移动到坐标(X=60,Y=30)。

注意事项:

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

3. 设计思路与实现

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

a. 角色设置

删除默认小猫角色,添加角色Soccer Ball和Wand。

b. 舞台背景设置

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

(2)脚本编写

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

a. 角色:Wand

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=10,Y=20
  3. 初始方向:90°
  4. 初始大小:50
  5. 等待 碰到 Soccer Ball
  6. 等待0.1秒
  7. 右转45°
  8. 移到:X=60,Y=30

b. 角色:Soccer Ball

当绿旗被点击时:

  1. 开始:点击绿旗,也就是程序启动,就要执行后续的程序指令。
  2. 初始位置:X=-185,Y=-140
  3. 移到最前面
  4. 重复执行直到 按下空格键:
    • 面向鼠标指针
  5. 播放声音 basketball bounce
  6. 重复执行 25 次
    • 移动10步
  7. 如果碰到 Wand 那么 说“命中”1秒,否则 说“未命中”1秒。
  8. 停止全部脚本

c. 背景:

当绿旗被点击时:

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

Day11:GESP二级2025.03_数字变换游戏

【题目描述】

默认小猫角色和白色背景,输入一个正整数 ,按照如下规则进行变换,算出第  次变换后的数是多少?

规则:从开始,如果是偶数,变换为除以2的数,如果是奇数,变换为加上3 的数。

【输入描述】

新建变量“”用于存储一个正整数。

新建变量“”用于存储变换的次数。

如下图所示:

【输出描述】

输出变换后的数。

如下图所示:

【输入样例】

n = 3k = 5

【输出样例】

n = 6

【输入样例】

n = 10k = 4

【输出样例】

n = 2

【注意事项】

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

【参考答案】

其他测试用例

【测试用例1】

输入:n = 24,k = 1输出:n = 12

【测试用例2】

输入:n = 26,k = 99输出:n = 1

【测试用例3】

输入:n = 30,k = 1输出:n = 15

【测试用例4】

输入:n = 12,k = 73输出:n = 6

【测试用例5】

输入:n = 8,k = 46输出:n = 4

Day11:GESP三级2024.06_小杨画矩形

【题目描述】

小杨想构造一个高为 ,宽为的矩形,这个矩形的边框用小写字母“a”来绘制,中间用“=”填充。

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

【输入描述】

新建变量用于存储矩形的高。

新建变量用于存储矩形的宽。

如下图所示:

【输出描述】

新建列表用于存储最后生成的矩形,注意每次点击绿旗之后都需要清空该列表,然后再向内插入数据。

如下图所示:

【输入样例】

h = 7w = 7

【输出样例】

list = ['aaaaaaa', 'a=====a', 'a=====a', 'a=====a', 'a=====a', 'a=====a', 'aaaaaaa']

【输入样例】

h = 5w = 6

【输出样例】

list = ['aaaaaa', 'a====a', 'a====a', 'a====a', 'aaaaaa']

【注意事项】

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

【参考答案】

【测试用例】

【测试用例1】

输入:h = 3,w = 10输出:list = ['aaaaaaaaaa', 'a========a', 'aaaaaaaaaa']

【测试用例2】

输入:h = 7,w = 6输出:list = ['aaaaaa', 'a====a', 'a====a', 'a====a', 'a====a', 'a====a', 'aaaaaa']

【测试用例3】

输入:h = 4,w = 8输出:list = ['aaaaaaaa', 'a======a', 'a======a', 'aaaaaaaa']

【测试用例4】

输入:h = 6,w = 7输出:list = ['aaaaaaa', 'a=====a', 'a=====a', 'a=====a', 'a=====a', 'aaaaaaa']

【测试用例5】

输入:h = 8,w = 6输出:list = ['aaaaaa', 'a====a', 'a====a', 'a====a', 'a====a', 'a====a', 'a====a', 'aaaaaa']

Day11:GESP四级2024.09_回文拼接

【题目描述】

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是一样的,例如,aabaa和ccddcc都是回文串,但abcd不是。

小杨有一堆仅包含小写字母的字符串存储在列表“数据”中,他想判断每个字符串是否由两个长度至少为2的回文串前后拼接而成,若字符串是由两个长度至少为2的回文串前后拼接而成记为Yes,否则记为No。

默认小猫角色和白色背景。请你编写程序记录判断的结果并用井号#将结果连接起来。

【输入描述】

新建列表“数据”,用于存储等待判断的字符串。

如下图所示:

【输出描述】

新建变量“result”,用于记录判断的结果,并用井号#将结果连接起来。

如下图所示:

【输入样例】

数据 = ['abcd', 'aabbb', 'aaac', 'abcdd']

【输出样例】

result = No#Yes#No#No

【输入样例】

数据 = ['abcdd', 'abcd', 'aabbb', 'aaac', 'abccbabbb']

【输出样例】

result = No#No#Yes#No#Yes

【注意事项】

  1. 变量名的拼写(包括大小写)要和题目完全一致。
  2. 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块
  3. 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

【参考答案】

其他测试用例

【测试用例1】

输入:数据 = ['abcd', 'aabbb', 'abcdd', 'abccbabbb', 'aaac']输出:result = No#Yes#No#Yes#No

【测试用例2】

输入:数据 = ['ccffges', 'abcd', 'gesppsegaaa', 'abcddcbaabccba', 'aabbb', 'abcdd', 'abbabaab', 'aabbabccba', 'abccbabbb', 'aaac']输出:result = No#No#Yes#Yes#Yes#No#Yes#No#Yes#No

【测试用例3】

输入:数据 = ['aabbb', 'abcd', 'aaac']输出:result = Yes#No#No

【测试用例4】

输入:数据 = ['abcd', 'aabbb', 'abcdd', 'abccbabbb', 'aaac']输出:result = No#Yes#No#Yes#No

【测试用例5】

输入:数据 = ['abcd', 'abcddcbaabccba', 'aabbb', 'abcdd', 'aabbabccba', 'abccbabbb', 'aaac']输出:result = No#Yes#Yes#No#No#Yes#No

Day11:PTA第04届_淘淘摘苹果

【题目描述】

陶陶家的院子里有一棵苹果树,每年都会结10个苹果。等到苹果成熟的时候,陶陶就会跑去摘。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

【输入描述】

10个  之间的整数(以厘米为单位)存入变量中,分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开,前后无空格。

1个  之间的整数(以厘米为单位)存入变量中,表示陶陶把手伸直的时候能够达到的最大高度。

如下图所示:

如下图所示:

【输出描述】

一个整数,存入变量中,表示陶陶能够摘到的苹果的数目。

如下图所示:

【输入样例】

100 200 150 140 129 134 167 198 200 111110

【输出样例】

5

【参考答案】

其他测试用例

【测试用例1】

输入:{“s”:["185 154 199 177 117 151 110 198 140 162"],"h":110}输出:{"result":3}

【测试用例2】

输入:{“s”:["178 139 142 166 197 156 148 190 134 197"],"h":119}输出:{"result":4}

【测试用例3】

输入:{“s”:["116 123 102 141 155 162 137 170 194 172"],"h":116}输出:{"result":5}

【测试用例4】

输入:{"s":["137 106 190 118 183 106 131 105 129 130"],"h":114}输出:{"result":8}

【测试用例5】

输入:{“s”:["167 200 133 157 190 178 143 132 187 147"],"h":101}输出:{"result":0}

【测试用例6】

输入:{“s”:["175 162 173 157 182 166 119 112 183 189"],"h":111}输出:{"result":2}

【测试用例7】

输入:{“s”:["123 124 137 157 148 113 104 183 135 132"],"h":114}输出:{"result":7}

【测试用例8】

输入:{“s”:["183 118 177 137 195 189 136 175 131 190"],"h":105}输出:{"result":2}

【测试用例9】

输入:{“s”:["184 200 157 149 149 175 189 147 185 149"],"h":118}输出:{"result":1}

【测试用例10】

输入:{“s”:["147 174 126 176 158 128 150 138 121 143"],"h":117}输出:{"result":6}

青少年编程竞赛交流

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

最新文章

随机文章