news 2026/9/9 20:34:35

2026年GESP Scratch三级真题复盘:核心考点与避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026年GESP Scratch三级真题复盘:核心考点与避坑指南

2026年3月的CCF-GESP Scratch三级认证刚结束,我带着几个学生复盘完整个考期,说实话,这轮三级考试的题目风格比前两年要“稳”不少,但坑也不少。很多孩子在考场里觉得“我写完了”,结果一出成绩才发现问题全出在那些不起眼的小细节上——列表忘了初始化、广播消息乱飞、素材没有正确处理透明背景,这些几乎成了三级考生的经典失分点。

这篇文章我想结合今年3月这轮考期的几道典型题例,说说Scratch三级到底在考什么、现场的代码级实现该怎么搭,以及那些平时练习时根本没人提醒你的隐性扣分项。不管是正在备考三级的孩子,还是带竞赛班的老师,这篇都应该能帮你少走不少弯路。

1. GESP三级到底考什么:先看懂这级认证的定位和考点分布

1.1 三级在整条GESP认证链里的位置

GESP全称是CCF编程能力等级认证,Scratch方向一共分了四级,之后再往深走就是转Python和C++方向。一级二级解决的更多是“能不能把积木拖明白”,比如循环、分支、简单事件处理,到二级结束,孩子基本能独立做一个单角色的小动画或者简单小游戏。

但三级是个分水岭。它的核心考察点不再是“你会不会用某个积木”,而是你有没有“数据管理”和“模块化设计”的意识。具体来说,列表、变量的灵活应用、广播消息的时序控制、克隆体的生命周期管理,这些才是三级真正想考核的东西。

今年3月这轮的试卷整体难度分布是:基础操作题占40%左右,中等难度项目题占40%,真正有区分度的综合算法题占20%。这和往年没什么太大变化,但有两道题明显加强了“真实场景应用”的权重——一道是亮度侦测的模拟应用,另一道是带数据记录功能的口算闯关游戏。这两道题放在考场上,很多平时只刷“走迷宫”“打地鼠”这类模板项目的孩子,一下就露怯了。

1.2 三级核心考点与高频失分点

为了方便备考,我把这轮考试涉及的考点和失分点整理成了一张表,这也是我每次给学生做考前冲刺都会用的对照表:

考点模块典型题型高频失分点
变量与列表成绩记录、数据统计、排行榜忘记初始化列表、索引从0开始(Scratch从1开始)、把列表当普通变量直接运算
运算符与逻辑取余判断、条件组合、随机数范围边界值写错、除数为0、不会用“与或非”组合条件
事件与广播多角色协作、闯关流程控制广播和“广播并等待”用混、消息时序错乱
侦测与外观亮度侦测、颜色侦测、造型切换不理解侦测返回值范围、素材透明背景未处理
算法初步累加、计数、最值查找、简单排序循环次数设置错误、不会用“列表的项目数”控制循环

这五块内容里,最容易被忽略但每年都考的就是“变量与列表”。很多孩子学了一两年Scratch,变量用得挺溜,但你问他“列表的第几项到底怎么读”,他可能当场卡住。今年三级考试里恰好就有这么一道列表应用题,后面我会专门拆解。

2. 真题思路拆解:四道代表性能考住人的三级考题

这轮考试的大题部分,我根据考生回忆和考点规律整理出了四道最有代表性的题目,基本覆盖了三级最核心的能力要求。下面逐一拆思路。

2.1 列表应用题:用“变量模块的列表”管理闯关成绩

题目大意是:舞台上有出题角色和计分角色,游戏共5关,每一关结束后要把本关得分记录到一个列表里,等全部通关后,计分角色要计算出总成绩、平均成绩,并且报出最高分是哪一关。

这题考的就是列表的基本功。需要用到“变量模块”里的这几个积木:将[得分]加入[成绩列表]成绩列表的第[1]项成绩列表的项目数删除成绩列表的第[1]项删除成绩列表的全部项目

我拆这道题的逻辑是这样的:先把“第几关”记成一个变量当前关卡,每关结束后,用“将[本关得分]加入[成绩列表]”把数据存进去。计算平均分的时候,不能直接拿列表做运算,必须用一个变量总分,用一个循环从第1项遍历到“列表的项目数”,累加每一项,最后除以项目数。

这道题真正的拿分点在于:中间的循环遍历环节。很多孩子不习惯“用列表的项目数控制循环次数”,他们会写一个固定数字比如“重复执行5次”,这在5关游戏里碰巧能跑通,但考官一眼就能看出你不理解列表的动态特性。我在平时训练里反复强调——凡是处理列表,循环次数一律用“列表的项目数”,不是固定数字。

2.2 亮度侦测与光影模拟:把环境光变成程序输入

今年这轮考试里出现了一道很有新意的题:模拟一个夜间的舞台,要求程序实时读取环境的亮度值,当亮度低于某个阈值时,舞台自动切换成“夜间模式”——背景变暗、星星角色显示出来,并且月亮角色会从舞台左边移动到右边。当亮度恢复正常时,一切又变回白天模式。

这个题的考点有两个:一个是“侦测”模块里的“亮度”积木的使用,另一个是“如果…那么…否则”的条件判断和外观切换。

先说亮度积木。Scratch的侦测面板里有一个“亮度”积木,它返回的是当前设备环境光的强度,取值范围是0到100,0代表完全黑暗,100代表亮度极高。笔记本和台式机一般都有环境光传感器,所以在电脑上运行Scratch是可以实时读到这个数值的。考题要求用这个数值作为条件判断的依据,本质上是在教孩子理解“传感器数据驱动程序逻辑”这个 IoT 场景里的核心思路。

实现时需要注意:亮度值的变化是连续的,考生需要设定一个合理的阈值。我看到有些孩子把阈值设在50,然后做出来的效果是星星一闪一闪、背景疯狂切换,这其实是一种典型的“阈值抖动”问题。解决方法是加入一个“滞后判断”,用变量把上一次的亮度状态记下来,或者加一个延时缓冲。但这道题因为考的是三级,官方参考答案里给出的就是最简单直接的“如果亮度<40那么切夜间,否则切白天”,考试时建议按标准思路来,不要过度设计。

2.3 素材复用:把网上找的素材变成自己能用的角色

还有一道题专门考了素材处理,题目要求是:给定一张有白色边框的背景图片和一张带透明背景的角色素材PNG图,要求考生把它们导入到项目里,并实现角色在场景中移动时,素材边缘不出现白色方块。

这道题其实是在回应一个很实际的需求——网上找的素材如何直接在Scratch中使用。很多孩子平时习惯了直接用Scratch自带的矢量素材库,一遇到外部素材就抓瞎。

这道题的考点拆开来看有三个:

  • 判断素材格式:PNG支持透明通道,JPG/JFIF不支持透明背景;
  • 导入方式的选择:背景图用“上传背景”,角色图用“上传角色”;
  • 透明背景的处理:如果图片带白底或非透明底色,直接上传会导致角色周围出现难看的色块。

第三点是最容易出问题的。很多孩子在网上下载的明明是透明背景的PNG,但导入后依然有白边,原因往往是下载的其实是JPG格式,或者PNG本身没有真正的Alpha通道。考场上的标准判定是:如果上传后角色周围出现纯色矩形底,就说明图片不是真正的透明背景,需要用图形软件处理,或者用Scratch自带的矢量编辑工具“选择工具”把白底抠掉再转为位图。

这道题还顺带考了造型切换:要求角色在移动过程中间隔切换两个造型,模拟走路动画。这里需要注意“外观”模块里“下一个造型”和“切换造型到…”的区别,以及通过设置“造型切换时间”来控制动画速度。

2.4 综合算法题:用“急算大冲关”的思路做四则运算训练器

这轮考试的压轴题是一个口算训练项目,和网上特别火的“急算大冲关”玩法基本一致:随机生成两个数和一种运算,屏幕显示算式,用户通过键盘输入答案,程序判断对错,统计正确率,并把答错的题记录到一个错题列表里,最后在游戏结束时显示错题回顾。

这道题几乎把三级所有核心考点都串起来了,属于典型的“一道题测三样”:随机数与字符串组合、询问与回答的交互机制、列表存取的完整流程。做题顺序应该是:

第一步,用“运算”模块里的“在1到10之间取随机数”分别生成两个操作数,再用“在1到4之间取随机数”决定运算符。这里需要特别注意:当运算符是除法时,要保证除数和被除数是整除关系,否则会出现小数答案,让用户输入精确值几乎不可能。如果生成的两个数不能整除,就重新生成,直到满足条件。这个“重新生成”的逻辑用“重复执行直到…”来实现。

第二步,用“字符串连接”把两个操作数和运算符拼成一个算式,用“询问(算式)并等待”的积木弹出输入框,把用户的输入保存到一个变量里。

第三步,程序自己算出正确答案,判断“回答”是否等于正确答案,然后加分或把错题加入错题列表。这地方有个细节:用户输入的是“回答”,它是一个字符串,而计算结果是数字。两者做相等判断时,Scratch一般会自动转换类型,不会出大问题,但如果你用了严格的“且”条件,就可能因为类型不一致而判断失败。稳妥的做法是把用户输入用“运算”模块里的“四舍五入”或者“将回答作为数字”转换一下,再做比较。

第四步,倒计时功能。用“计时器归零”和“计时器”积木配合使用,每秒判断一次剩余时间是否归零。这一步能筛掉一批不会处理“实时状态监测”的孩子——判断条件不能写在无限制的循环里,必须放在“重复执行直到 计时器 > 60”这类结构中。

3. 从思路到落地:三道题的可复现实现步骤

思路拆完,还得落到积木上。这一部分我把三道重点题目的积木拼法一步步写出来,方便你直接在Scratch编辑器里对照操作。

3.1 列表存取和排序:成绩管理题目的完整积木顺序

这道题要求5关跑完,最后显示总分、平均分、最高分对应关卡。我先定义变量和列表:

变量:当前关卡(初始值1)、本关得分(每关结束前赋值)、总分(初始值0)、平均分。 列表:成绩列表(每关结束前清空一次)。

出题角色(负责每关出题和判分)的代码逻辑:

  1. 当绿旗被点击:将当前关卡设为1,删除成绩列表的全部项目,然后“广播[出题]并等待”。
  2. 当收到[出题]消息:随机生成题目,询问并等待回答,判断对错,只答对给10分,答错给0分,然后把本关得分设为对应分数。
  3. 本关得分加入成绩列表
  4. 当前关卡增加1。
  5. 如果当前关卡> 5,就“广播[结算]”,否则“广播[出题]并等待”。

计分角色(负责汇总展示)的代码逻辑:

  1. 当绿旗被点击:隐藏。
  2. 当收到[结算]消息:将总分设为0,用“重复执行[成绩列表的项目数]次”循环,每次把总分增加“成绩列表的第[循环变量]项”。循环结束,平均分设为“总分 / 成绩列表的项目数”。
  3. 用“说[总分]、[平均分]”分别展示结果。
  4. 最高分查找:用循环遍历列表,同时用变量最高分最高关卡记录当前最大值。

这里面最重要的一个操作是“删除列表的全部项目”必须放在绿旗被点击的初始化段里,千万不能放在循环内部,否则每关开始都会清空之前的所有成绩数据。这个错误我在实际教学里见了不下二十次。

3.2 亮度侦测与光影模拟:完整条件控制逻辑

亮度题目要求根据环境亮度切换白天/夜间模式。核心积木顺序:

  1. 当绿旗被点击:将当前亮度设为0。
  2. 重复执行:将当前亮度设为“侦测模块的[亮度]值”。
  3. 如果“当前亮度 < 40”成立,则广播[夜间模式]并等待,否则广播[白天模式]并等待。
  4. 星星角色:当收到[夜间模式]时显示,并且用“重复执行”让星星在舞台上方随机位置改变坐标。
  5. 背景角色:当收到[夜间模式]时切换成夜间背景,收到[白天模式]时切换成白天背景。
  6. 月亮角色:当收到[夜间模式]时从舞台左侧移动到右侧,移动步数和位置用“将x坐标设为”来控制。

这里有一个容易犯迷糊的地方:亮度积木在Scratch的“侦测”面板里叫“亮度”,不是“声音响度”。很多孩子找半天找不到,就是因为把这两个搞混了。它们的图标类似,一个是太阳一个是喇叭,但作用完全不一样。

另外,如果用电脑上课,但电脑没有光线传感器或者传感器被遮挡,亮度值可能一直显示一个不准确的值。考试时遇到这种情况,最好按“模拟演示”思路做:设置一个变量模拟亮度,用滑杆手动调节,这样程序逻辑不受设备限制。这也是考场上最常见的应变方案。

3.3 素材导入与程序化调用:从下载到可用的完整链路

素材题考察的是外部资源的整合能力,我把标准操作流程列出来:

  1. 先判断素材类型。角色素材优先选择PNG格式,背景素材JPG和PNG都可以。如果是PNG,还要确认是不是真的透明底——最简单的办法是下载后放到纯色背景的软件里看一眼。
  2. 打开Scratch编辑器,在“角色”区域点击“上传角色”,找到本地PNG文件直接导入。系统会自动生成一个角色对象。
  3. 如果导入后发现角色带着白色方框,说明这张PNG并不是真正的透明底。处理方案有两种:第一种,用图形处理软件(Photoshop、在线抠图、PowerPoint去背景等)移除背景后另存为新PNG;第二种,在Scratch造型编辑页面里,用“选择工具”选中白色区域删掉,再把造型转为位图,之后上传。
  4. 把角色造型拆分:如果素材本身是一个多帧动画的GIF,在Scratch里不能直接导入GIF动画,但可以用“将GIF分解为多张PNG”的工具,把每一帧单独导入成一个造型,然后用“下一个造型”实现动画切换。
  5. 导入后给每个造型改好名字。很多初学者忽略命名规范,导致在程序里写“切换造型到…”时不知道填什么名字。养成好习惯:每个造型都用有明确语义的中文或英文命名,比如walk1walk2,而不是默认的造型1造型2

网上找素材在Scratch里用,最核心的原则就一句话:先处理格式和透明通道,再考虑程序逻辑。素材没处理好,后面写再多代码也是白搭。

4. 现场踩坑实录:那些让考生扣分的细节整理

每次考完试,我都会让学员把自己在考场上的“翻车现场”复盘一遍。这几年整理下来,有三类问题反复出现,今年3月这批考生也照样踩雷。

4.1 变量和列表,到底有什么区别?为什么总有人混着用

变量模块里的“列表”是三级考试的第一个大坎。我的比喻是:变量就像一个只有一个格子的储物柜,你往里放一个数,原来的数就被覆盖了;列表是一排带编号的储物柜,第1个格里放一个数,第2个格里还能放另一个数,彼此不干扰。

常见错误有三种:

  • 把列表当成变量直接做算术。比如写了“将[成绩列表]增加1”,这完全不对。列表本质上是数组,不能整体参与运算,必须通过“第几项”来定位其中的一个元素。
  • 索引从0开始。很多孩子学过其他编程语言,潜意识里以为列表第一项是第0项,但Scratch的列表索引从1开始。这个一错,整个遍历就全乱了。
  • 循环遍历时,循环次数写固定值而不是用“列表的项目数”。这会导致两个问题:当列表数据比固定值少时,访问了不存在的项,程序直接报错;当列表数据比固定值多时,少统计了后面的数据。

针对这类问题,最好的练习方式是:让孩子从零构建一个小项目,比如“班级成绩统计器”。录入五个成绩,求平均、找最高、找最低,每一步都强制使用列表的遍历操作,连续做三次,基本就能把这些坑填平。

4.2 广播和“广播并等待”的时序坑

Scratch的广播消息是三维程序里最容易被低估的机制。广播本质上是向所有角色发送一个消息,所有接收到消息的角色会同时开始执行对应的代码块。如果只是“广播[消息]”,发送方不会等待接收方执行完,它会继续往下执行自己的代码;而“广播[消息]并等待”会让发送方暂停,直到所有接收方都处理完消息。

看一个具体的翻车案例:出题角色发出“出题”消息后,马上又执行“如果 回答=正确答案”的判断。但因为用了“广播”而不是“广播并等待”,答题角色还没弹出输入框,出题角色就已经拿回答变量去和正确答案对比了——这时候回答还是上一次的值,逻辑直接乱套。

正确的做法是:出题角色在需要等待其他角色完成交互时,一律用“广播并等待”;只有当“通知类”消息(比如“切换背景”、“播放声音”)才用“广播”。这是三级考试里最高频的时序类考点,没有之一。今年亮度题里,白天/夜间模式的切换同样依赖这一步:如果用错,就会出现背景光已经切到夜间了,但星星角色还在消失状态的尴尬情况。

4.3 边界条件:判断条件里的隐形扣分点

三级题目的另一个大坑是边界值。几乎每年都有题目专门在边界条件上设卡,今年也不例外。

举几个我在考场上频繁看到的:

  • 倒计时题:判断“剩余时间 > 0”时才继续游戏,但正确写法应该是“剩余时间 > 0”且加上一个“等于0”时触发结束事件。如果只写“>0”,当计时器刚好等于0时,程序既不结束也不继续,变成了一个真空状态。
  • 除法题:口算出题器如果生成了“5 ÷ 0”,程序直接傻掉。虽然Scratch不会崩溃,但生成的算式无意义,判分结果也必然是错的。必须在生成操作数时就通过“直到…”条件排除除数为0的情况。
  • 取余题:判断“数字是奇数还是偶数”时,要用“数字除以2的余数 = 0”来判断偶数,而不是“数字 / 2 = 整数”。后者在Scratch里会因为浮点误差导致误判。
  • 亮度阈值题:阈值不能设计成唯一固定值。如果设备的光线传感器本身读数就和标准值有偏差,会直接导致模式切换点偏移。稳妥方案是做一个范围判断:“亮度 < 30 或 亮度 > 70”两个极端之间做一个可调节的中间值。

边界条件不处理好,程序在大多数情况下是能跑的,但一旦遇上边界情况就崩或者逻辑错乱。考场上出现这种情况,踩中的就是“计算思维不严密”这个评分点。

4.4 和蓝桥杯Scratch初级组对比:难度差异和风格差异

很多家长会把GESP三级和蓝桥杯Scratch初级组放在一起比较。我的直接感受是:两者的考法差别挺大的,不能用一套训练方法通吃。

蓝桥杯初级组更偏“创意呈现”和“最终作品效果”,评分维度里有相当大的比重是考察角色动画是否流畅、场景设计是否有想象张力、交互体验是否有趣。它更像一个带有编程元素的“数字美术创作”比赛。

GESP三级则更偏“逻辑严谨度”和“算法实现”。它不太看重你的舞台背景做得有多漂亮,而更关注你是否能正确处理一个完整流程中的数据走向。以今年这个口算训练题为例,蓝桥杯作品可能只要做到“能出题、能判分”就算不错了,但GESP三级会额外要求:错题要记录、正确率要统计、游戏结束要有总结输出、数据要有完整的生命周期管理。

所以备考策略也得差异化准备:如果目标是GESP,练习时要多关注变量的生命周期、列表的遍历、消息的时序,不要沉迷于调背景、配音乐;如果目标是蓝桥杯初级组,反而要拿出三分之一的练习时间去打磨作品的整体观感和交互体验。

5. 备考节奏与自查清单:接下来该怎么练

5.1 三级备考的三阶段节奏安排

如果距离考试还有两到三个月,建议按这三个阶段推进:

第一阶段(第1-3周):积木熟练度训练。目标不是做项目,而是把所有涉及三级考点的积木块逐个过一遍。变量定义、列表增删改查、随机数生成、字符串连接、广播消息、克隆体生成、运算模块里的取余和四舍五入——一天练一个点,配合10道小练习,把基础打扎实。

第二阶段(第4-7周):项目整合训练。每周做一个完整项目,覆盖2到3个考点。参考题目可以是“口算大冲关”、“模拟红绿灯”、“温度记录仪”、“小猫接苹果”这类带数据统计需求的项目。每次做完,必须回看一遍自己的代码,检查有没有出现上面提到的三类坑:列表初始化、广播时序、边界条件。这一步的复盘价值甚至比写代码更高。

第三阶段(第8-10周):限时模考和策略训练。严格按照考试时间(一般在60到90分钟)完成一套模拟卷或往年真题。重点训练的是时间分配策略:先做基础操作题,再做中等项目题,最后留至少20分钟给综合算法题。很多孩子考砸不是因为不会写,而是因为在一道题上死磕太久,后面的简单题没时间做。

5.2 考前72小时:快速自查清单

考前最后三天不建议做新题、难题,更应该做的是“查漏”和“状态稳定”。我给我学生的自查清单是这样的:

  • 变量和列表:是否清楚何时删除列表全部项目?是否会在遍历后重置循环变量?能否说出“列表的项目数”和“列表的第几项”的区别?
  • 广播机制:能否举例说明“广播”和“广播并等待”的使用场景?在需要等待其他角色互动完成时,是否已经用上了“并等待”?
  • 边界条件:倒计时归零后程序是否还能正确结束?除法运算是否排除了0作为除数?亮度阈值切换是否有抖动?
  • 素材处理:角色是否有透明背景?使用的素材格式是否会在考试电脑上正常显示?造型命名是否规范?
  • 算法能力:能否独立完成“遍历列表求和”“查找最大值”“判断奇偶”“生成指定范围内的随机数”这四类基础算法?

最后再分享一个小技巧。我在带学生的时候,一直强调一个习惯:每做完一个小项目,就写一段“项目说明书”,用文字把自己的代码逻辑描述一遍。这本身就是在锻炼“把程序逻辑讲清楚”的能力,换到考场上,就是读懂题意、组织思路的能力。2026年这个考期的GESP三级整体难度依旧稳定,真正的区分度全在这些基本功和细节里。你把这些练扎实了,不只三级能过,以后转到Python、C++方向,底子也会比别人厚实不少。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 20:34:31

零死角玩转STM32:初级篇例程实战与开发环境避坑指南

简介&#xff1a;面向STM32初学者的完整入门教程包&#xff0c;以配套PDF文档与可运行例程为核心&#xff0c;覆盖从Cortex-M内核架构、开发环境配置、GPIO操作、时钟系统、中断与异常&#xff0c;到定时器、串口通信、ADC与DAC转换以及FreeRTOS基础等核心知识点&#xff0c;既…

作者头像 李华
网站建设 2026/9/9 20:31:34

厦漳泉矢量边界数据实战:从zip解压到坐标系处理完整指南

简介&#xff1a;厦漳泉矢量边界压缩包提供厦门、漳州、泉州三地市及各区县的ArcGIS行政区域矢量数据&#xff0c;适合GIS入门学习者、规划从业者以及需要行政区划底图的开发人员。包内共20个文件&#xff0c;以shp主文件承载几何边界&#xff0c;配套dbf属性表存储区县名称与编…

作者头像 李华
网站建设 2026/9/9 20:31:23

用Python构建六角形世界地图生成器:从坐标到地形

简介&#xff1a;这是一款基于 Python 的六角形世界地图生成器&#xff0c;主要面向游戏开发者、桌游爱好者和程序化生成研究者。它能在六边形网格上生成随机世界地图&#xff0c;并支持调节参数模拟各类行星表面&#xff0c;还可将地图分割为任意大小的“领土”单元&#xff0…

作者头像 李华
网站建设 2026/9/9 20:26:03

Pandas不是数据库:Python数据分析与SQL到底怎么分工

1. Pandas到底是什么先直接回答这个标题里的问题&#xff1a;Pandas不是数据库。它是一个数据分析库&#xff0c;运行在Python里&#xff0c;专门用来处理结构化数据。很多人第一次接触Pandas会把它和数据库搞混&#xff0c;主要是因为Pandas里有一个叫DataFrame的东西&#xf…

作者头像 李华
网站建设 2026/9/9 20:25:41

使用助记词与派生路径创建钱包:Fuel SDK 助记词钱包完整指南

使用助记词与派生路径创建钱包&#xff1a;Fuel SDK 助记词钱包完整指南 【免费下载链接】fuels-ts Fuel Network Typescript SDK 项目地址: https://gitcode.com/GitHub_Trending/fu/fuels-ts 本文以 Fuel 官方文档 mnemonic-wallet.md 为骨架&#xff0c;讲解 Fuel Ty…

作者头像 李华