
点击上方蓝字·关注我们




CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。
GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。
本次为大家带来的是2024年9月份图形化编程三级认证真题解析。
一、单选题(一共15个题目,每题2分,共30分)
|
题号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
答案 |
A |
C |
A |
B |
D |
C |
B |
D |
A |
D |
B |
C |
A |
B |
D |
1、据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的?(A)
A、内存
B、磁盘
C、CPU
D、显示器
【答案】A
【题目解析】计算机基础知识题目,结合计算机历史知识作为题面,但主要考察的是计算机组成部分中的存储器,关键词是“运算控制部分使用的磁心存储元件”。相当于现代计算机的运行内存,因此选择A选项。
2、下列流程图的输出结果是?(C)

A、95
B、75
C、55
D、35
【答案】C
【题目解析】考察程序设计中的流程图,按照流程图正常计算即可,首先变量n的初始值为100,是2的倍数,所以走yes分支,但不是3的倍数,走no分支,减小20后变为80,是2的倍数,走yes分支,但不是3的倍数,走no分支,减小20后变为60,是2的倍数,走yes分支,60也是3的倍数,走yes分支,减小5之后变为55,55不是2的倍数,走no分支,输出55, 因此选择C选项。
3、默认小猫角色,执行下列程序,小猫说出的内容是?(A)

A、12
B、14
C、16
D、18
【答案】A
【题目解析】程序阅读题目,首先是c的值计算是c=0+1=1,初始值情况是a =1,b=2,c=1,重复执行直到c<7不成立,循环内c每次增加2,所以总的重复次数是3次,第一次判断b>3不成立,计算a增加b,即a变为3;b增加1后变为3,第二次判b>3依然不成立,计算a增加b,即a变为6;b增加1后变为4,第三次判断b>3成立,计算a增加a,即a变为12,因此选择A选项。
4、默认小猫角色,执行下列程序,小猫说出的内容是?(B)

A、1
B、3
C、5
D、7
【答案】B
【题目解析】程序阅读题目,首先观察双层重复执行的变量变化规律,外层i变量是由1开始每次增加1,到大于5为止,内层j变量是由1开始,每次增加2,到大于i为止,如果判断的是i*j的结果是否为偶数并且使用cnt记录是偶数的次数。根据变量ij的变化规律可知,i为1则j只能取1;i为2时,因为j每次增长2,所以j也只能取1;i为3时,j能取1和3两种,后面i为4和5时,规律相同,最终有三种组合相乘后为偶数,1*2、1*4、3*4,因此选择B选项。
5、默认小猫角色,执行下列程序,绘制出如下图形(以舞台中心为圆心的同心圆),红框处填写的数值是?(D)


A、5,0,-10
B、5,-10,0
C、360,0,0
D、5,0,0
【答案】D
【题目解析】完善程序题目,观察图形是同心圆,都是从舞台中心出发前进r,每次完成一个圆形后回到舞台中心,r增大20,前进r完成下一个圆形,因此1空是圆形的个数,重复几次就有几个圆形,填写5,2空和3空是移动到舞台中心,填写0和0,因此选择D选项。
6、默认小猫角色,执行下列程序,绘制出来的图形是?(C)

A、
B、
C、
D、
【答案】C
【题目解析】程序阅读题目,程序中通过变量i在每次重复执行中*-1实现正负数的反复切换,也就是循环中一次是正常的左转右转,下一次是右转左转,这样反复执行,形成的图形如C选项,因此选择C选项。
7、默认小猫角色,执行下列程序,舞台上会看到多少只小猫?(B)

A、2
B、3
C、4
D、5
【答案】B
【题目解析】程序阅读题目,程序中重复执行5次,每次y坐标增加50,但是初始时y坐标为-100,因此前三次作为克隆体启动时,均不能满足>50的要求,并不会执行图章,后面的两次则可以执行,加上本体的猫咪角色也是正常显示的,共3只猫咪,因此选择B选项。
8、默认小猫角色,执行下列程序,小猫说出的内容是?(D)

A、CCF
B、CFE
C、GSP
D、GS
【答案】D
【题目解析】程序阅读题目,程序执行的是字符串扫描遍历过程,在重复执行内使用如果比较当前一个字符和后一个字符的大小关系如果大于后一个字符则加入list,整个字符串中G>E和S>P符合要求,因此选择D选项。
9、默认小猫角色,执行下列程序,小猫不可能说出的内容是?(A)

A、CCGESPF
B、CCCGECS
C、CCFGESP
D、CCCCCCC
【答案】A
【题目解析】程序阅读题目,首先是s为CCFGESP,使用重复执行向result中添加一个字符,添加的这个字符是1到i之间的随机字符,第一次重复执行添加的是1到1之间的随机字符,第二次添加的是1到2之间的随机字符,后面以此类推,A选项中第四个字符添加的自能是CCFG中的一个,不可能出现E字符,因此选择A选项。
10、默认小猫角色,执行下列程序,小猫位置是?(D)


A、(165,100)
B、(-144,157)
C、(-68,-48)
D、(-10,52)
【答案】D
【题目解析】程序阅读题目,程序开始后清空两个列表中的所有内容,重复执行4次,每次生成一对随机的坐标小猫角色位置发生变化,然后将位置信息分别存入对应的x和y列表,顺序是先发生位置变化,然后存入,最后一组位置就是小猫角色所处的位置,因此选择D选项。
11、默认小猫角色,执行下列程序,列表list3的内容为?(B)


A、
B、
C、
D、
【答案】B
【题目解析】程序阅读题目考察列表,程序正常遍历列表,在重复执行中进行如果判断,list1中当前项是奇数的话则将该数字加入list3,否则将list2中对应位置的数字加入list3,对应着列表1和2中的内容填写列表3后和B选项匹配,因此选择B选项。
12、下列两个积木的值分别是?(C)


A、true false
B、false true
C、false false
D、true true
【答案】C
【题目解析】程序阅读题目,首先列表内存储了12345,第一个判断的是与逻辑,与的两侧都为true结果才为true,其中左侧为false所以第一条判断整体为false。第二条判断的是内容不成立,但是其中的内容是或逻辑,是成立的但是想要判断为不成立,所以第二条判断错误为false,因此选择C选项。
13、默认小猫角色,执行下列程序,输入CCFGESP,小猫说出的内容是?(A)

A、SCCFGEP
B、SEGFCCP
C、CCFGESP
D、PSGEFCC
【答案】A
【题目解析】程序阅读题目,程序中根据字符所处的位置,也就是第几个,如果是奇数位置或者除以3也余1的位置就连接在后方,否则就连接在前方,CCFGESP共7个字符,其中第1、3、4、5、7个位置满足如果,2和6个执行否则程序,拼接出的结果为SCCFGEP,因此选择A选项。
14、输入一个正整数,想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。默认小猫角色,下面求因数对程序中“如果…那么…”的判断条件是?(B)

A、
B、
C、
D、
【答案】B
【题目解析】程序阅读题目,题目中要求寻找相邻的两个数字且这两个相邻的数字都是因数,回答中的数字除以因数的余数应为0,所以判断除以i的余数+除以i+1的余数为0能正确判断出答案,因此选择B选项。
15、把一堆苹果分给n个小朋友(此处假设n=8),要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?(D)
A、15
B、21
C、28
D、36
【答案】D
【题目解析】逻辑计算题目,每个小朋友拿到的苹果个数都不相同,可以按照1、2、3、4、5、6、7、8的方式分配给8位小朋友,这样就是最少的分配方案,相加后的最终结果位36,因此选择D选项。
判断题(每题2分,共20分)
|
题号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
答案 |
× |
√ |
× |
√ |
× |
× |
× |
× |
√ |
√ |
1、如果图形化的程序出现错误,可以使用单步调试的方式进行错误排查?(错)
【答案】错误
【题目解析】在图形化中没有单步调试的功能,因此题目描述错误。
2、默认小猫角色,执行下列程序,输入正整数10,小猫说出的内容是18。(对)

【答案】正确
【题目解析】阅读程序变量total初始位0,n变量为10,重复执行每次n减小1,如果判断是否是3的倍数,是则将total增加n,其中9、6、3、0满足要求总和为18,因此题目描述正确。
3、选择button3角色,执行下列程序,输入字符串“ABABB”舞台上会出现下图所示图形。(错)



【答案】错误
【题目解析】题面给出的程序中判断是B则换成a造型,否则换成b造型,给出的ABABB对应babaa这五个颜色和顺序没有错误,但是程序中的细节是先图章再移动,会在最下方存在一个button本体这个没有显示,因此题目描述错误。
4、默认小猫角色,执行下列程序,输入10,小猫说出的内容为25。(对)

【答案】正确
【题目解析】题目中i初始值为1,n的初始值为10,在广播计算后的程序中判断是否小于11,再进一步判断是否为奇数,如果是则total增加i,然后将i增加1后再广播执行该程序,下次判断2是否符合要求,也就是从1判断到10,如果是奇数就会将total增加1+3+5+7+9=25,因此题目描述正确。
5、默认小猫角色,执行下列程序,舞台上会出现下图所示图形。(错)


【答案】错误
【题目解析】在程序中没有考虑到虚像效果,题目中形成的小猫角色没有变化,因此题目描述错误。
6、默认小猫角色,执行下列程序,输入字符“c”小猫说出的内容为1。(错)

【答案】错误
【题目解析】阅读题面给出的程序,是将CCFGESP从后向前逐一扫描,找到的第一个字母c是第2个,不是第一个,且说出后会停止脚本,不会继续执行程序了,因此题目描述错误。
7、默认小猫角色,执行下列程序,按下空格键,列表“list”的结果为下图所示。(错)


【答案】错误
【题目解析】首先执行的是绿旗的开始,将10、20、30、40、50分别加入到列表中,当按下空格后执行将j设置为3,将k设置为第5项也就是j=3、k=50,将第5项设置为第3项,最后的50变为30,将第3项设置为k也就是设置为50,就是第3项的30变为了50,因此题目描述错误。
8、默认小猫角色,执行下列程序,列表“list”中的项目数不可能为2。(错)


【答案】错误
【题目解析】题面所给出的程序中,将data设置为在数据列表中的随机一项,即10到50中的随机一个,如果data是3的倍数同时又是5的倍数,则向list中添加一项,其中30这个数字就是3和5的公倍数,既然是随机,可能随机到两次30的,因此题目描述错误。
9、默认小猫角色,执行下列程序,如果小猫顺次说出每个区的名字“海淀”,“朝阳”,“房山”,“门头沟”,“东城”,“西城”,“石景山”,“丰台”,那么在画红框的积木中填入即可。(对)


【答案】正确
【题目解析】依据题面给出的描述信息要实现说出逗号隔开的区名,则需要碰到逗号就停止拼接,或者已经遍历完整个字符串停止拼接,之后说出各个区的名称,因此题目描述正确。
10、一个正整数n是立方数,当且仅当存在一个正整数a满足a×a×a=n,例如8=2×2×2,8为立方数。可以使用枚举的方法求出给定的n是否为立方数。(对)
【答案】正确
【题目解析】依据描述的要求,可以使用重复执行、设置变量i、如果否则等积木实现出判断立方数的程序,因此题目描述正确。
三、编程题(共2题,每题25分,共50分)
|
题号 |
1 |
2 |
|
答案 |
1、数位之和


【题目描述】
小杨有若干正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是7的倍数。
默认小猫角色和白色背景,编写程序请你帮小杨挑选出这些美丽数字并用#连接起来。
【输入描述】
新建列表“数据”用于存储若干正整数。
如下图所示:

【输出描述】
新建变量“result”用于存储小杨认为的美丽数字,并用#把这些美丽数字连接起来。
如下图所示:

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

【题目解析】依据题面描述的要求,需要取出列表中的每个数字,然后将各个位数加起来,并且判断是否是7的倍数如果是,则拼接到result中。首先是设定重复执行来遍历列表内容,重复执行内部将j设置为当前的一个数字,例如第2次j=52,再设置重复执行将5和2相加结果使用m存储起来,下方如果判断m是否是7的倍数,如果是还要考虑一个细节,如果是第一个数字是直接拼接的,后面的是需要先拼接一个#再拼接数字,所以分情况,如果为空直接拼接,否则#加数字,即可实现题面所描述的要求,求得正确结果。
【参考程序】

2、小杨的N字矩阵


【题目描述】
小杨想要构造一个m×m的N字矩阵(m为奇数),这个矩阵从左上角到右下角的对角线、第1列和第m列都是字母A,其余都是井号#。
默认小猫角色和白色背景,编写程序请你帮小杨根据给定的m在列表中呈现对应的N字矩阵。
【输入描述】
新建变量“m”用于存储N字矩阵的行数,m为奇数且3≤m≤15。
如下图所示:

【输出描述】
新建列表“list”用于存储N字矩阵。
如下图所示:

【输入样例】
m = 5
【输出样例】
list = ['A+++A', 'AA++A', 'A+A+A', 'A++AA', 'A+++A']

注意:
1.变量名的拼写(包括大小写)要和题目完全一致。
2.输入变量直接赋值即可,无需使用“询问并等待”积木块。
【题目解析】依据题面描述的要求,需要做出形似”N”形状的符号,整个方阵中第一列、最后一列和对角线(左上角到右下角)使用字母A其余使用+号,可以使用双层的重复执行来按照顺序做出从左到右从上到下的方阵,在这个过程中判断表示行列的变量,如果符合要求设置为A否则也就是其他位置设置为+,参考程序中使用变量i表示行也就是列表中的第几项,每次将s设置为空,使用j的重复值执行表示s中当前位置应该设置成什么,将做好的s加入到list中,重复步骤,完成list中所有的项。
【参考程序】

技术支持:马长明
策划:GESP技术委员会副主席 刘晓庆


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

扫码关注GESP公众号,了解更多资讯


点击此处 “阅读原文” 查看更多内容


