理论卷2021年6月青少年软件编程(Python) · 四级
YLT Python 4级 2021.06
满分 100 · 及格 60 · 时长 60 分钟 · 共 38 题 (单选25 / 判断10 / 实操3)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #21218
分值 2对自然数1至n求和,如果将递推式f(n)=f(n-1)+n(n>1)转化成递归函数,则递归出口是?( )
Af(1)=1
Bf(1)=0
Cf(0)=1
Df(0)=0
2
单选题号 #21219
分值 2对比两个求等差数列1+2+…+n的和的程序,其算法效率?
程序1:
n=int(input())
s=(1+n)*n/2
print(s)
程序2:
n=int(input())
s=0
for i in range(n+1):
s=s+i
print(s)
A
程序1比程序2高
B
程序2比程序1高
C
一样高
D
不能判断
3
单选题号 #21220
分值 2若以下程序段的运行结果为"*#*#*",则空格 (1)、 (2)处填写结果不可能为?
def f(n):
s=""
for i in range( (1) ,n):
if i % 2==1:
s=s+"*"
else:
s=s+"#"
return s
print(f((2)))
A
3,8
B
3,7
C
9,14
D
1,6
4
单选题号 #21221
分值 2有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少。如果采用递归算法来编程,则核心的递归逻辑应该是?( )
Af(n) =n*f(n-1)
Bf(n) = f(n-1)+n
Cf(n) = f(n-1)+f(n-2)
Df(n) = f(n-1)+ (n-1)f(n-2)
5
单选题号 #21222
分值 2下列程序使用了哪种算法?
def fact(n):
if n==0:
return 1
else:
return n*fact(n-1)
A
递推
B
递归
C
排序
D
分治
6
单选题号 #21223
分值 2以下几项关于函数的说法,错误的是?( )
A函数是一段具有特定功能的语句组
B调用函数时,参数传入的顺序必须与定义时保持一致
C在一个程序中,函数的定义可以放在函数调用代码之后
D使用函数可以增加代码重复利用率,还可以降低维护难度
7
单选题号 #21224
分值 2下面关于递归的描述不正确的是?( )
A递归思想是将大型复杂的问题转化为一个与原问题相似的规模较小的问题来求解
B递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,它不是分治策略的具体体现
C递归必须有终止递归的条件
D递归是在过程或函数里调用自身
8
单选题号 #21225
分值 2以下能正确计算出“1!+3!+5!”值(n!=1*2*3…*n)的自定义函数是?
Adef f():
s=0
t=1
for i in range(1,6,2):
t=t*i
s=s+t
return s
Bdef f():
s=0
t=0
for i in range(1,6,2):
t=t*i
s=s+t
return s
Cdef f():
s=0
t=1
for i in range(1,6,2):
t=t*i
if i%2==1:
s=s+t
return s
Ddef f():
s=0
t=1
for i in range(1,6):
t=t*i
if i%2==1:
s=s+t
return s
9
单选题号 #21226
分值 2下列哪项不是分治算法所具有的特征?
A该问题的规模缩小到一定的程度就可以容易地解决
B该问题可以分解为若干个规模较小的不同问题
C利用该问题分解出的子问题的解可以合并为该问题的解
D该问题所分解出的各个子问题是相互独立的
10
单选题号 #21227
分值 2下面关于递归算法的描述,错误的是?( )
A任何递归程序都可以改写成非递归程序
B定义简单,逻辑清晰
C算法的执行效率较高
D原问题与子问题在结构上必须相似
🔒
已解锁前 10 题
第 11~38 题(共 28 题)可在考试中作答
本卷为普通试卷:注册用户每题扣 1 积分(每日登录送 30 体验积分),交卷后查看答案与解析
