点击上方蓝字·关注我们



CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。
GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。
本次为大家带来的是2025年6月图形化编程四级认证真题解析。
图形化编程四级
2025年06月
一、单选题(共10题,每题2分,共30分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
答案 | D | B | C | A | C | A | A | C | D | A | D | C | A | D | B |
1、2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的?(D)
A、处理器
B、存储器
C、输出设备
D、输入设备
题目解析:传感器是采集数据并传递给机器人控制系统,如同计算机输入设备(如键盘、鼠标)向计算机输入信息,所以选D
2、当输入n = 3时,下列流程图的输出结果是?(B)

A、6
B、12
C、24
D、36
题目解析:
这道题考察的是这道题考察的是流程图理解和逻辑分析能力。整体来看,一共有两层循环。初始res = 1, i = 1,输入n = 3。
当i = 1:
j = 1,j <= i(1 <= 1),res = res * j = 1 * 1 = 1,j = 2,不满足j <= i,i = 2。
当i = 2:
j = 1,j <= i(1 <= 2),res = 1 * 1 = 1,j = 2,j <= i(2 <= 2),res = 1 * 2 = 2,j = 3,不满足j <= i,i = 3。
当i = 3:
j = 1,j <= i(1 <= 3),res = 2 * 1 = 2,j = 2,j <= i(2 <= 3),res = 2 * 2 = 4,j = 3,j <= i(3 <= 3),res = 4 * 3 = 12,j = 4,不满足j <= i,i = 4。
i = 4不满足i <= n(n = 3),输出res = 12。
3、默认小猫角色,执行下列程序,小猫说出的内容是?(C)

A、LOVECCFGESP
B、LPOSVEEGCFCC
C、LPOSVEEGCFC
D、LPOSEECGCFC
题目解析:
初始设置:str为"LOVECCFGESP"(共11个字符 ),s空,i = 1,j = 11(str字符数 )。
循环执行:
循环条件i > j ,每次循环:
若i == j ,s连接str第i字符;否则,s连接str第i、j字符。
i增1,j减1。
逐轮拼接:i=1/j=11拼L和P → s="LP";i=2/j=10拼O和S → s="LPOS";i=3/j=9拼V和E → s="LPOSVE";i=4/j=8拼E和G → s="LPOSVEEG";i=5/j=7拼C和F → s="LPOSVEEGCF";i=6/j=6拼C → s="LPOSVEEGCFC" 。
结果:最终s为LPOSVEEGCFC,对应选项C。
4、默认小猫角色,如果小猫说出的内容是30,下面程序中“重复执行直到…”的判断条件是?(A)

A、
B、
C、
D、
题目解析:
本题可先分析程序逻辑,再结合输出结果反推判断条件。
步骤一:分析程序逻辑
程序功能是计算满足i为偶数(i % 2 == 0)时i的累加和,初始sum = 0,i = 1 ,每次循环若i是偶数则sum += i ,然后i += 1 ,直到满足 “重复执行直到” 的条件停止,最后输出 sum。
步骤二:根据输出结果反推循环次数
已知输出sum = 30,分析偶数累加情况:
当i = 2,sum += 2,sum = 2;
i = 4,sum += 4,sum = 6;
i = 6,sum += 6,sum = 12;
i = 8,sum += 8,sum = 20;
i = 10,sum += 10,sum = 30 。
此时sum达到30,下一次i变为11,要停止循环,判断条件应为i > 10(或i = 11 等等价条件 ,因 i每次自增1,累加到i = 10 后i变为11满足停止条件 ),通常简洁写法为 i > 10 。
所以 “重复执行直到…” 的判断条件是 i > 10 。
5、默认小猫角色,执行下列程序,下面哪个选项是正确的?(C)


A、如果输入9+8,小猫会说出这个表达式的答案17,程序终止。
B、如果输入8+9,小猫会说出这个表达式的答案17,程序继续询问。
C、如果输入7+8,小猫不会说出这个表达式的答案,会把这个问题以及你录入的答案添加到对应的列表,程序终止。
D、如果输入8+7,小猫不会说出这个表达式的答案,会把这个问题以及你录入的答案添加到对应的列表,程序继续询问。
题目解析:
已知初始【问题】列表:3+4、8+3、9+8、11+2
对应【答案】列表:7、11、17、13
选项A:“如果输入9+8,小猫会说出答案17,程序终止”
输入9+8 → 属于已有【问题】列表。
执行 “如果”分支:说【答案】列表中对应项(第 3项17)→ 广播【消息1】→ 程序会继续触发下一轮询问,不会终止。
结论:A错误。
选项B:“如果输入8+9,小猫会说出答案17,程序继续询问”
输入8+9 → 不在已有【问题】列表(问题列表是3+4/8+3/9+8/11+2,8+9是新问题 )。
执行 “否则” 分支:添加 8+9到【问题】列表 → 询问答案 → 不会 “说出答案 17”(17是9+8的答案,8+9是新问题 )。
结论:B错误。
选项C:“如果输入7+8,小猫不会说出答案,会把问题和答案添加到对应列表,程序终止”
输入7+8 → 不在已有【问题】列表。
执行 “否则” 分支:
将 回答(即“7+8”) 加入【问题】列表 → 【问题】列表新增 7+8。
询问【告诉我答案吧】并等待 → 假设用户录入答案(比如 15)。
将回答(用户录入的答案) 加入【答案】列表 →【答案】列表新增对应答案。
流程结束(无广播【消息1】触发下一轮)→ 程序终止。
结论:C正确。
6、默认小猫角色,执行下列程序,输入正整数5,小猫说出的内容是?(A)


A、1
B、2
C、3
D、4
题目解析:
先看列表list中各项目的字符数
Apple:5个字符;
Banana:6个字符;
Orange:6个字符;
Grape:5个字符;
Peach:5个字符;
Pear:4个字符。
输入n = 5,程序要统计列表中字符数小于5的项目数量。
只有Pear(4个字符)满足字符数小于5。
所以result的值为1,小猫说出的内容是1。答案为A。
7、默认小猫角色,执行下列程序,输入正整数20101109,小猫说出的内容是?(A)

A、9111
B、911
C、1119
D、119
题目解析:
输入n = 20101109,初始化result = 0,i = 20101109。
循环过程:
第一次循环:i = 20101109,k = 20101109 % 10 = 9,9 % 2 = 1,result = 0 * 10 + 9 = 9,i = 20101109 // 10 = 2010110。
第二次循环:i = 2010110,k = 2010110 % 10 = 0,0 % 2 = 0,不执行result更新,i = 2010110 // 10 = 201011。
第三次循环:i = 201011,k = 201011 % 10 = 1,1 % 2 = 1,result = 9 * 10 + 1 = 91,i = 201011 // 10 = 20101。
第四次循环:i = 20101,k = 20101 % 10 = 1,1 % 2 = 1,result = 91 * 10 + 1 = 911,i = 20101 // 10 = 2010。
第五次循环:i = 2010,k = 2010 % 10 = 0,0 % 2 = 0,不执行result更新,i = 2010 // 10 = 201。
第六次循环:i = 201,k = 201 % 10 = 1,1 % 2 = 1,result = 911 * 10 + 1 = 9111,i = 201 // 10 = 20。
第七次循环:i = 20,k = 20 % 10 = 0,0 % 2 = 0,不执行result更新,i = 20 // 10 = 2。
第八次循环:i = 2,k = 2 % 10 = 2,2 % 2 = 0,不执行result更新,i = 2 // 10 = 0,循环结束。
最终result = 9111,小猫说出的内容是9111。答案为A。
8、默认小猫角色,执行下列程序,绘制出如下图形,红框处填写的数值是?(C)


A、5
B、4
C、3
D、2
题目解析:
这道题目的正确答案是C。填入的是自定义积木:绘图的参数n,n代表的是外层循环的次数。
我们可以先尝试循环1次,看看效果。
n=1时,小球一开始面向90,也就是向右走100步,图章后后退,右转30度,再走100步,图章后后退,以此类推重复3次。
n=2时,外层循环先清除了之前图章的所有内容,此时小球面向180度。再重复内层循环的内容3次。
n=3时,小球此时面向的是270度,也就是向左,此时再重复内层循环的内容,就画出了如上所示的图案。所以答案应该是C。
9、默认小猫角色,执行下列程序,小猫说出的内容是?(D)

A、EGF
B、J
C、CCSP
D、FGE
题目解析:
程序初始流程
点击绿旗后,依次执行:
清空list,删除其全部原有项目,list变为空。
调用自定义积木 处理字符串 CCFGESP CSPJ,传入参数s1 = "CCFGESP"、s2 = "CSPJ" 。
执行 说 list 2 秒,后续展示list最终内容2秒。
自定义积木 “处理字符串” 逻辑
该积木功能为:遍历s1的每个字符,筛选出s2不包含的字符,加入list。
变量初始化
s1赋值为"CCFGESP"(共7个字符,索引从1开始 )。
s2赋值为"CSPJ"(包含字符C、S、P、J)。
i初始化为1。
循环执行
重复执行直到i > s1 的字符数(即i > 7 停止 ),每次循环:
获取字符:将s1的第i个字符存入变量ch。
判断筛选:检查s2是否不包含ch。若不包含,就将ch加入list;若包含,跳过。
索引递增:i增加1,准备遍历下一个字符。
逐轮循环执行
按i从1到7依次分析:
i = 1:ch为C,s2包含C,不加入list,list仍为空。
i = 2:ch为C,s2包含C,不加入list,list保持空。
i = 3:ch为F,s2不包含F,加入list,list变为["F"]。
i = 4:ch为G,s2不包含G,加入list,list变为["F", "G"] 。
i = 5:ch为E,s2不包含E,加入list,list变为["F", "G", "E"] 。
i = 6:ch为S,s2包含S,不加入list,list保持["F", "G", "E"] 。
i = 7:ch为P,s2包含P,不加入list,list仍为["F", "G", "E"] 。
最终结果
循环结束,list内容是["F", "G", "E"] 。程序执行 说 list 2 秒 时,舞台显示 F、G、E,持续2秒 。正确答案为D。
10、默认小猫角色,执行下列程序,输入正整数5,小猫说出的内容是?(A)

A、1 2 6 24 120
B、1 2 12 288 34560
C、2 6 24 120 720
D、2 4 7 11 16
题目解析:
1.点击绿旗,清空list,用户输入5,调用 “计算 (5)”积木,最后展示list内容。
2.“计算(5)”功能:计算1!到5!的阶乘,加入list。
变量:i(外层循环,1到5)、k(阶乘结果,每次重置为1)、j(内层循环,1到i)。
i=1:j=1,k=1×1=1,list=[1],i=2。
i=2:j=1→k=1;j=2→k=1×2=2,list=[1,2],i=3。
i=3:j=1→1;j=2→2;j=3→2×3=6,list=[1,2,6],i=4。
i=4:j=1→1;j=2→2;j=3→6;j=4→6×4=24,list=[1,2,6,24],i=5。
i=5:j=1→1;j=2→2;j=3→6;j=4→24;j=5→24×5=120,list=[1,2,6,24,120],i=6循环停。
3.最终list为[1,2,6,24,120],程序说出这些内容2秒。正确答案为A。
11、默认小猫角色,执行下列程序,list3的内容为?(D)


A、8、5、4、1、4
B、4、1、4、5、8
C、4、1、8、4、5
D、5、8、4、1、4
题目解析:
初始化:list3清空,i = 1,循环条件i > list1项目数(5) 或 i > list2项目数(6) 时停止,即 i从1到5(因list1长度5,先达到 )。
逐次判断(i = 1 到5):
i = 1:
list1[1] = 5,5 % 3 = 2 ≠ 1 → 不加入list3;
list2[1] = 1,1 % 3 = 1 ≠ 2 → 不插入list3。
i = 2:
list1[2] = 4,4 % 3 = 1 → list1[2] 加入list3 → list3 = [4];
list2[2] = 9,9 % 3 = 0 ≠ 2 → 不插入。
i = 3:
list1[3] = 1,1 % 3 = 1 → 加入list3 → list3 = [4, 1];
list2[3] = 8,8 % 3 = 2 → 在list3第1项前插入 → list3 = [8, 4, 1]。
i = 4:
list1[4] = 4,4 % 3 = 1 → 加入list3 → list3 = [8, 4, 1, 4];
list2[4] = 5,5 % 3 = 2 → 在list3第1项前插入 → list3 = [5, 8, 4, 1, 4]。
i = 5:
list1[5] = 5,5 % 3 = 2 ≠ 1 → 不加入;
list2[5] = 10,10 % 3 = 1 ≠ 2 → 不插入。
最终list3:[5, 8, 4, 1, 4]
按程序严格执行,list3内容为[5, 8, 4, 1, 4] 。正确答案为D。
12、默认小猫角色,执行下列程序,舞台上最多会看到多少只小猫?(C)

A、0
B、1
C、3
D、4
题目解析:
初始小猫隐藏,“执行3”会重复3次:克隆3次后,在来广播“消息1”,本体和克隆体都会接收广播。
先随机位置,然后克隆。所以最后一个克隆体与本体在同一位置。广播后,克隆体和本体同时接收广播显示。在舞台上看到三个小猫。(本体与最后一个克隆体重叠,只看到一个)
13、下面有关排序的哪个说法是正确的?(A)
A、选择排序是一种不稳定的排序
B、冒泡排序是一种不稳定的排序
C、插入排序是一种不稳定的排序
D、如果给定数据部分有序,选择排序通常比插入排序效率高
题目解析:
选项A:选择排序在交换元素时,可能会改变相等元素的相对位置,是不稳定排序,A正确。
选项B:冒泡排序是稳定排序(相等元素相对位置不变 ),B错误。
选项C:插入排序是稳定排序,C错误。
选项D:数据部分有序时,插入排序效率更高(因比较和移动次数少 ),选择排序效率不占优,D错误。
14、默认小猫角色,执行下列程序,绘制出如下图形,红框处填写的数值是?(D)


A、3
B、5
C、7
D、9
题目解析:
程序逻辑梳理:
自定义积木 绘制(n)中,i初始为0,笔设为红色,清空画布后落笔。
重复n次:移动100步 → 右转 120度;若i % 3 == 2 ,额外右转120度;i增1。
图形与绘制逻辑关联:
i=0,1,2绘制第一个三角形;i=2满足i%3==2的条件,右转120,绘制第二个三角形,即i=3,4,5绘制第二个三角形,i=5满足i%3==2的条件,右转120,绘制第三个三角形,即i=6,7,8绘制第三个三角形,一共循环0到8,9次。
经模拟,n = 9 时可绘制出对应图形,故红框应填9。正确答案为D
15、默认小猫角色,执行下列程序,输入小写字母c,小猫说出的内容是?(B)

A、0
B、2
C、1
D、3
题目解析:
首先根据程序可以分析出来,这段程序的作用是得出输入的字符出现的次数,每出现一次加入的list列表中,最后输出项目数就代表出现了几次。
输入的是字符c,在图形化中不区分大小写,故在S中,c出现了两次,所以输出的结果为2。
二、判断题(共10题,每题2分,共20分)
题号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
答案 | × | × | × | × | √ | √ | √ | × | √ | √ |
1、手工课上,老师给每位同学发一张彩纸。小杨将这张纸对折1次,变成了2层纸厚;再对折1次,变成了4层纸厚;继续对折,纸的层数会一直这样成倍增加。如果小杨最多能对折6次(因为再折纸就太厚了),那么对折6次后,这叠纸一共有32层。( 错误 )
题目解析:
本题考查的是等比数列的应用。每次对折后,纸的层数是之前的2倍。
对折1次,层数是2层;对折2次,层数是4层(2×2) 。依此类推,对折n次,层数就是2连续乘n次2。
当对折6次时,层数是2乘2乘2乘2乘2乘2,结果为64层,所以题目里说32层是错误的,正确应该是64层。
2、默认小猫角色,分别执行下列程序,小猫的运动状态是相同的,都能实现并行效果。


题目解析:
程序1
点击绿旗后,先切换造型、移动位置,再执行 “执行” 自定义积木(无限循环切换造型 ),会阻塞主程序中移动逻辑,无法正常并行。
程序2
点击绿旗,切换造型、移动位置的主程序,与右侧独立 “当绿旗被点击”(循环切换造型 ),因 图形化不同绿旗脚本并行,可实现移动和造型切换并行。
结论:两程序运动状态不同,“都能实现并行” 说法错误。
3、默认小猫角色,执行下列程序,小猫说出的内容为6。(错误 )


题目解析:
程序逻辑分析
初始状态:list1有 a、b、c(长度3 );list2有 1、2、3(长度3 )。
执行流程:
点击绿旗,调用 添加(list1) 自定义积木。
积木逻辑:将list1 加入list2 (把list1中的数据合并(用空格隔开)之后添加到list2。
)。
操作后,list2的元素变为list2的元素为1,2,3,a b c
。
最后 “说 list2 的项目数”,实际项目数是4 ,不是 6。题目说法错误。
4、默认小猫角色,运行下列程序,输入字母F,小猫最后说出-1。(错误 )


题目解析:
输入F,代表寻找的参数c就是F,要说出的是list中第一个F的编号,但列表中没有F,小猫最后说出0,没有找到返回0而不是返回-1。表述正确。
5、默认小猫角色,执行下列程序后,输入正整数100,小猫最后说出的结果为4。(正确 )

题目解析
程序逻辑拆解:
输入100 ,调用 计算(100) 。
第一部分(处理2 的因子):
初始n = 100,cnt = 0。
循环:100 % 2 == 0,n = 100/2 = 50,cnt = 1;继续循环,50%2==0,n = 25,cnt = 2;此时 25%2 != 0,第一部分结束,cnt = 2 。
第二部分(处理奇数因子,i从3 开始,每次+ 2):
i = 3,n = 25。
内层循环:25%3 != 0,直接退出内层循环;i += 2 → i = 5 。
内层循环:25%5 == 0,n = 25/5 = 5,cnt = 3;继续循环,5%5 == 0,n = 1,cnt = 4;此时 1%5 != 0,退出内层循环;i += 2 → i = 7 。
外层循环:n = 1 < i = 7,第二部分结束。
最终cnt = 4 。
结论:输入100时,小猫说出4 ,说法正确 。
6、默认小猫角色,执行下列程序,小猫说出的内容为0。(正确 )

题目解析:
只有15的倍数,传入自定义函数“判断”为true,其他的都为false。若传入“判断”函数为false,则返回false,所以不会加入list。
再来看15的倍数,一定会被3或5整除,所以仍返回false。所以程序执行完,list为空。项目数为0。
7、默认小猫角色,执行下列程序,红框处依次填入12和2,能够绘制出如下所示图形。(正确 )


题目解析:
程序逻辑:程序开始后,小猫移动到坐标(0, 0),面向90 度方向并隐藏,接着调用 “绘制” 自定义积木。在 “绘制” 积木中,会先全部擦除画面并落笔,然后进行循环操作。循环时会判断变量i 除以3 的余数是否等于s,若相等则笔设为红色,否则设为黑色,之后小猫移动相应步数并右转90 度。
绘制过程分析:当填入12 和2 时,循环会执行12 次。在每次循环里,根据i 除以3 的余数是否为2来决定笔的颜色。通过这样的操作,会绘制出由黑色和红色线条组成的图形。从逻辑上看,这个绘制过程会形成类似嵌套方形的图案,与给出的图形特征相符。
当红框处填入12 和2 时,程序循环12 次,每次绘制效果如下:
i=1:1÷3余1≠2,黑色笔,移动15 步(向上),右转90 度(面向右)
i=2:2÷3余2=2,红色笔,移动30 步(向右),右转90 度(面向下)
i=3:3÷3余0≠2,黑色笔,移动45 步(向下),右转90 度(面向左)
i=4:4÷3余1≠2,黑色笔,移动60 步(向左),右转90 度(面向上)
i=5:5÷3余2=2,红色笔,移动75 步(向上),右转90 度(面向右)
i=6:6÷3余0≠2,黑色笔,移动90 步(向右),右转90 度(面向下)
i=7:7÷3余1≠2,黑色笔,移动105 步(向下),右转90 度(面向左)
i=8:8÷3余2=2,红色笔,移动120 步(向左),右转90 度(面向上)
i=9:9÷3余0≠2,黑色笔,移动135 步(向上),右转90 度(面向右)
i=10:10÷3余1≠2,黑色笔,移动150 步(向右),右转90 度(面向下)
i=11:11÷3余2=2,红色笔,移动165 步(向下),右转90 度(面向左)
i=12:12÷3余0≠2,黑色笔,移动180 步(向左),右转90 度(面向上)
整体形成嵌套矩形,红色线段出现在i=2、5、8、11时,呈现特定间隔的红色边。
综上,红框处依次填入12 和2,能够绘制出如下所示图形,该说法正确。
8、对序列[2, 0, 2, 4, 3, 1, 6]进行一趟冒泡排序(由小到大)之后,序列中的数据变为[1, 0, 2, 4, 3, 2, 6]。(错误 )
题目解析:
冒泡排序一趟(从小到大):相邻元素比较,逆序则交换。原序列[2,0,2,4,3,1,6],第一趟排序过程:
2和0 交换 → [0,2,2,4,3,1,6]
2和2 不交换
2和4 不交换
4和3 交换 → [0,2,2,3,4,1,6]
4和1 交换 → [0,2,2,3,1,4,6]
4和6 不交换
一趟后序列应为[0,2,2,3,1,4,6],不是[1,0,2,4,3,2,6],题目说法错误。
9、班级有180元班费,计划购买每本12元的笔记本和每盒8元的水彩笔,要求必须同时购买这两种文具且刚好花完所有班费。可以使用枚举算法来求解这个问题。(正确 )
题目解析:
该说法正确。可设买笔记本x本,水彩笔y盒,列方程12x + 8y = 180(x、y为正整数 )。枚举算法通过遍历x(从1到14等合理范围 )、y的可能取值,验证方程是否成立,能求解该问题,故 “可以使用枚举算法来求解” 正确 。
10、一个小球从初始高度h米处自由落下,每次碰到地面后会反弹到之前高度的一半。若要计算在第n次落地时,小球总共经过的米数。可以使用模拟算法求解这个问题。(正确 )
题目解析:
模拟算法可模拟小球下落、反弹过程,第1次落地经过h米,之后每次落地经过 “下落高度 +反弹高度”(除最后一次落地无反弹 ),通过循环模拟每次落地的运动,累加路程,能求解第n次落地时总经过米数,故 “可以使用模拟算法求解” 正确 。
三、编程题(每题25分,共50分)
题号 | 1 | 2 |
答案 |
1、 跳绳小能手


【题目描述】
体育课上,小杨老师记录了10位同学在1分钟内跳绳的次数。现在需要根据特殊规则来排列这些成绩,制作一个"跳绳小能手"排行榜。
排行规则如下:
1、首先展示"幸运数字"(能被3整除但不能被5整除的数字)
2、"幸运数字"次数从小到大排列
3、其他次数按照老师记录的顺序倒着排列
排序后的结果存在result中,每个数据用#连接。
例如:list = [13, 15, 7, 12, 9, 17, 21, 5, 4, 19]
排序后的结果:result = 9#12#21#19#4#5#17#7#15#13
【输入描述】
新建列表“list”,用于存储待排数据。
如下图所示:

【输出描述】
新建变量“result”,用于存储排序后的结果,中间用#连接。
如下图所示:

【输入样例】
list = [13, 15, 7, 12, 9, 17, 21, 5, 4, 19]
【输出样例】
result = 9#12#21#19#4#5#17#7#15#13
【输入样例】
list = [5, 10, 48, 81, 50, 20, 85, 90, 60, 30]
【输出样例】
result = 48#81#30#60#90#85#20#50#10#5
注意事项:
1.变量名的拼写(包括大小写)要和题目完全一致。
2.输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块
3.列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

题目解析:
这道题要求我们根据特殊规则对10位同学的跳绳成绩进行排序,生成一个"跳绳小能手"排行榜。规则分为两部分:首先是幸运数字(能被3整除但不能被5整除的数字)按从小到大排列,然后是其他数字按原始顺序倒序排列。最后将结果用#连接成字符串。
解题思路:
1、分离幸运数字和其他数字:遍历列表,将符合幸运数字条件的数字存入一个新列表,其他数字存入另一个列表。
2、排序幸运数字:对幸运数字列表进行升序排序。
3、存其他数字的列表,存入的顺序是原先顺序的逆序。
4、先用#链接排序后的幸运数字的列表,再来用#链接存储其他数字的列表。
【参考程序】



2、分糖果


【题目描述】
小朋友们按照排队的顺序来领糖果,每个小朋友都有两个小要求:
1、每个小朋友至少要拿到自己想要的糖果数量。
2、排在后面的小朋友要比前面一个小朋友拿到的糖果多,不然就会不开心。
默认小猫角色和白色背景,请你帮助老师计算出最少需要准备多少颗糖果,才能让所有小朋友都开心。
【输入描述】
新建列表“list”,用于存储每个小朋友至少想要的糖果数。
如下图所示:

【输出描述】
新建变量“result”,用于存储老师最少需要准备的糖果总数。
如下图所示:

【输入样例】
list = [1, 4, 3, 3]
【输出样例】
result = 16
【输入样例】
list = [1, 2, 3]
【输出样例】
result = 6
注意事项:
1.变量名的拼写(包括大小写)要和题目完全一致。
2.输出结果存放在对应变量中即可,无需使用“说…”或“说…,2秒”积木块
3.列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

题目解析:
这道题要求我们计算老师最少需要准备多少颗糖果,才能满足每个小朋友的两个要求:一是至少拿到自己想要的糖果数,二是后面的小朋友拿到的糖果数必须比前面的多。
解题思路:
1、初始化糖果分配:每个小朋友至少分配自己想要的糖果数。
2、调整糖果分配:从左到右遍历,确保分配给每个小朋友的糖果数严格递增。
如果当前小朋友的糖果数不大于前一个小朋友的糖果数,则增加当前小朋友的糖果数为前一个小朋友的糖果数+1,直到满足条件。
3、计算总糖果数:将所有小朋友的糖果数相加,得到结果。
【参考程序】

策划:GESP技术委员会副主席 刘晓庆
技术支持:王岐



1.GESP微信:关注“CCF GESP”公众号,点击"GESP小助手"即可交流。
2.GESP邮箱:gesp@ccf.org.cn
注:请在邮件中详细描述咨询的问题并留下考生的联系方式及姓名、身份证号,以便及时有效处理。
3.GESP电话:0512-67656856
咨询时间:周一至周五(法定节假日除外):上午 8:30-12:00;下午 13:00-17:30
