全国青少年软件编程(Python)等级考试三级考试真题2023年12月——持续更新.....

青少年软件编程(Python)等级考试试卷(四级)
分数:100  题数:38
一、单选题(共25题,共50分)
1.下列有关分治算法思想的描述不正确的是?( )
A. 将问题分解成的子问题具有相同的模式。
B. 将问题分解出的各个子问题相互之间有公共子问题。
C. 当问题足够小时,可以直接求解。
D. 可以将子问题的求解结果合并成原问题的解。

标准答案:B
试题解析:将问题分解出的各个子问题相互之间没有公共子问题。
2.斐波那契数列前n项是1,1,2,3,5,8,13…
补全下面程序代码,求第n项斐波那契数列的值。
def试题解析:用分治思想,递归求解。
3.用分治法求两个数的最大公约数,代码和运行结果如下,请选择合适的代码完成程序?( )
def试题解析:用分治算法,实现两个数的最大公约数求解。
4.列出第三方库的详细信息的pip指令是?( )
A. pip试题解析:pip命令
5.想要在Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )
A. import试题解析:库使用
6.关于求解“找出所有满足各位数字之和等于8的三位数”时,在下列数值范围内,算法执行效率最高的是?( )
A. 0—999
B. 0—1000
C. 100—800
D. 107—800

标准答案:D
试题解析:枚举的范围应尽可能小但又不遗漏.
7.已知,从1到n的连续自然数相乘的积叫做阶乘,用符号n!表示,比如3!=1×2×3,规定0!=1。那么用递归算法求n的阶乘,递归式正确的是?( )
A. f(0)=1,n=n试题解析:使用递归求解n的阶乘试题解析:递归式看出每一项等于前两项之和,递推得出结果。
9.下列程序中,当n=4时,返回结果为?( )
def试题解析:根据递归式,对n求和。
10.下列选项中,不属于递归特性的是?( )
A. 递归函数一定包含条件控制语句
B. 递归算法体现了大事化小的思想
C. 递归效率不高,递归层次过多会导致栈溢出
D. 递归算法代码简洁,效率较高

标准答案:D
试题解析:递归算法必须有结束递归的条件来终止递归,递归过程中进行递归调用的次数必须是有限的,算法效率不高。
11.对于下列递归式子,当n=4时,F的值是?( )
F(n)=F(n-1)试题解析:根据递归式,每一项等于前一项乘以2。
12.下面函数实现的功能是?( )
def 试题解析:根据递归式,求x的n次方。
13.def试题解析:在range(a,b)函数中,范围包含a、不包含b。
14.关于下列代码解释错误的一项是?( )
def试题解析:因为a的值是’学习’,b的值是’3’,其数据类型均为字符串,所以无法运行word=a试题解析:函数体内的a,b是局部变量,函数体外的a,b是全局变量。全局变量的作用域是整个程序,局部变量的作用域是函数内部。
16.下列代码的运行结果是?( )
def试题解析:列表可以做为参数传递进函数体内,并且按列表的语法规则进行读取与修改。
17.函数中定义了4个参数,其中2个参数都指定了默认值,见下面代码,那么在调用函数时参数个数最少是?( )
def试题解析:设置了默认值的参数,在函数调用时可以不用传入值,此时采用默认值运行。如果传入了新值,那么将使用新传入的值运行。
18.执行如下程序,以下选项中哪一项是错误的?( )
def试题解析:调用时函数返回值局部变量a=1,b=1,c=5,调用结束后返回主程序,全局变量a=1,b=2,c=5+2=7。
19.以下哪种情况下的代码块适合设计成函数?( )
A. 复杂的功能块
B. 难以看懂的功能块
C. 有性能要求的功能块
D. 会多次用到的功能块

标准答案:D
试题解析:函数的根本目的是代码复用。
20.使用位置实参的方式调用函数时,下列哪种情况下程序一定会出错?( )
A. 传入的实参个数比形参个数多
B. 部分形参赋以默认值
C. 函数调用时,重新给赋予了默认值的形参传入新值
D. 部分实参以关键字赋值的方式去调用函数

标准答案:A
试题解析:传入的实参个数要与函数定义时所提供的形参个数匹配。
21.下列函数定义中,正确的是?( )
A. def试题解析:形参可以有默认值,但是有位置要求。
22.调用函数的时候,所使用的参数是?( )
A. 实参
B. 位置参数
C. 关键字参数
D. 不定长参数

标准答案:A
试题解析:B-C均为形参
23.对于如下自定义的函数:
 def试题解析:在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。
24.使用试题解析:使用试题解析:Python中,形参设定了默认值后,在调用函数时还可以为该形参再传入新值
二、判断题(共10题,共20分)
26.分治算法是把一个大问题分解为若干个规模较小、性质相同的子问题。最后子问题可以简单地直接求解,将所有子问题的解合并起来就是原问题的解。( )
正确错误

标准答案:正确
试题解析:分治算法的概念:分、治、合。
27.pip联网直接下载安装第三方库时,只能临时更换下载源,不能更改默认的下载源。( )
正确错误

标准答案:错误
试题解析:pip安装第三方库
28.运行以下代码的时间复杂度为O(n2)。( )
k=0
n=11
for试题解析:两个for语句不为嵌套,那么它们执行的时间复杂度只计算一个的就可以了,所以时间复杂度为O(n)。
29.对于递归而言,递推与回归,二者缺一不可。( )
正确错误

标准答案:正确
试题解析:递推关系是递归的重要组成。 
30.递归算法必须确保,需要解决的问题可以转化为一个或多个子问题来求解,这些子问题的求解方法与原问题相同,只是在数量和规模上不同,而且每次递归调用时,问题规模都能够缩小。( )
正确错误

标准答案:正确
试题解析:递归的核心思想就是自己调用自己,能够用递归解决问题的条件之一,是需要解决的问题可以转化为一个或多个子问题来求解,而这些子问题的求解方法与原问题相同,只是在数量和规模上不同。
31.当函数运行结束后,局部变量的值依然存在,下次函数调用可以继续使用。( )
正确错误

标准答案:错误
试题解析:局部变量的作用域是在函数体内,函数体内的代码运行完毕后,局部变量的值会在内存中被删除,下次函数调用时不能继续使用。
32.内置函数不需要使用关键字import导入就可以使用,自定义函数可以先调用后定义。( )
正确错误

标准答案:错误
试题解析:自定义函数必须要先定义,才能调用。
33.编程时,需要把实现复杂功能的代码封装起来,设计成函数。( )
正确错误

标准答案:错误
试题解析:程序设计中,可以把需要重复使用的代码封装起来,设计成函数。
34.将实现特定功能的代码块设计成函数,有助于提高整个程序的运行速度。( )
正确错误

标准答案:错误
试题解析:函数设计的主要目的是提高代码的复用率,并不提升程序的运行速度。
35.如果允许形参设置默认值,则函数定义时要先列出没有默认值的形参,再列出有默认值的形参。( )
正确错误

标准答案:正确
试题解析:Python函数,定义时要先列出没有默认值的形参,再列出有默认值的形参。
三、编程题(共3题,共30分)
36.统计高分问题
小张在学习对分查找后,想利用该思路来实践一下,加深对该算法的理解。于是他按老师的要求,统计期末考试成绩,总分比他高的同学有多少个?
他的思路是,首先将全区所有学生的成绩降序排序,然后利用对分查找思想解决。他编写的代码如下,请完善划线处的代码。
cj试题解析:
评分标准:
(1)i试题解析:
评分标准:
(1)n==1或等效答案;(3分)
(2)age(n试题解析:
评分标准:
(1)n / 2或等效答案;(3分)
(2)n或等效答案;(2分)
(3)n * 3 + 1或等效答案;(3分)
(4)append(n)或等效答案;(2分)
(5)n 或等效答案。(2分)

  • 17
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

owbc_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值