24 迭代和递归 练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)

文档属性

名称 24 迭代和递归 练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)
格式 docx
文件大小 137.2KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-09-21 17:45:08

图片预览

文档简介

数据结构大单元
——迭代和递归基础练习
班级 姓名
1.有如下python程序:
def count(a,i):
for j in range(i+1,len(a)):
if a[j]return j-i
else:
return len(a)-i
a=list(map(int,input().split())) #将输入的字符串按照空格符进行分割后转换为整型列表
b=[1]*len(a)
for i in range(len(a)-1):
b[i]=count(a,i)
运行该程序,若输入数据为‘1 2 2 4 7 6’,则b[1]的值为( )
A.1 B.4 C.3 D.2.
有如下Python 程序段:
def f(x):
if x==1:
return 1
else:
return x*f(x-1)
s=0
for i in range(1,6):
s+=f(i)
执行该程序段后,变量s的值b是( )
A.33 B.34 C.154 D.153
有如下python程序段:
s="python"
def f(t):
if t == 0:
return s[0]
return s[t] + f(t - 1)
print(f(len(s)-1))
运行该段代码后,程序的输出结果为( )
A.python B.nohtyp C.pytho D.nohty
4. 某Python程序段如下:
def doit(x):
if x>=6:
ans=1
else:
ans=3*doit(x+1)+2*doit(x+2)
return ans
print(doit(3))
程序运行后,输出的结果为( )
17 B. 21 C. 61 D. 62
5.有如下 Python 程序段:
s="22py4th18" ; sum=t=0
for i in range(len(s)):
if "0"<=s[i]<="9":
t=t*10+int(s[i])
else:
sum+=t
t=0
print(sum)
执行该程序段后,变量 sum 的值为( )
A.22 B.26 C.40 D.44
小明想要在数字串s中寻找连续数字之和为k的子串,若有多个子串符合,则输出第一个子串。
例如:s="20220520",k=7,则符合要求的子串为"205"。实现该功能的部分python代码如下:
i=0 ; j=0 ; sum=0
for j in range(len(s)):
sum+=int(s[j])
while sum>k:
c=s[i]

i+=1
if sum==k:
print("符合要求的子串为:", ② )
break
划线①②处的语句是( )
A.①sum=sum+int(c) ②s[i:j+1] B.①sum=sum-int(c) ②s[i-1:j+1]
C.①sum=sum+int(c) ②s[i:j] D.①sum=sum-int(c) ②s[i:j+1]
7. 使用Nilakantha级数可用于计算Pi(π)的无穷级数,它的计算机结果比莱布尼茨公式更快地接近 Pi(π)的近似值。
有下列代码,通过前n项的计算,求Pi近似值:
s=0 ; n=0 ; i=0
n=int(input("请输入 n 的值: "))
for i in range(2,2*n+1,① ):
s=s+②
pi=3+s*4
print(pi)
划线部分代码正确的是( )
①1 ② (-1)**(i//2+1)/(i*(i+1)*(i+2)) B.①2 ② (-1)**(i//2+1)/(i*(i+1)*(i+2))
C.①1 ② (-1)**(i//2)/(i*(i+1)*(i+2)) D.①2 ② (-1)**(i//2)/(i*(i+1)*(i+2))
8. 有表达式s=2/1+3/2+5/3+8/5+ ,现根据输入的表达式项数,求s的值,Python程序段如下:
def sum(n):
s=0 ; x=2 ; y=1
for i in range(0,n):
return s
n=int(input("请输入表达式的项数:"))
print(sum(n))
上述程序中方框处可选语句为: ①x=x+y ②y=x ③s=s+x/y ④y=x-y
下列选项中,代码顺序正确的是( )
A.③②① B.③①② C. ③①④ D. ③④①
9.部分算法流程图,如图所示,当12+22+……+i2>=1500时,求i的最小值,以下选项中,图中①、 ②和③处填入不正确的是( )
10.某算法的部分流程图如下图所示,执行这部分流程后,下列说法不正确的是( )
A. 语句“s<100?”共执行了5次
B. 交换“s←s+a*a”和“a←a+2”,执行结果相同
C. 循环体共执行了4次
D. 变量 a 的值为10
11.某算法的流程图如图所示,输入进制 k(k>=2 且k<=16)以及十进制数 n 后,可输出为n 对应的 k进制的数,该程序运行后,下列说法正确的是( )
A. 若输入 k=16,n=93,则输出的结果为513
B. 若输入 k=8,n=35,共循环了3次
C. 流程图中 s←chr(r+55)+s 也可以改成 s←s+chr(r+55),不影响转换结果
D. 流程图中 s←chr(r+55)+s 只有当 k>10才会被执行
12. 阅读下列材料,回答第12至13题。 某手机APP程序为了增加程序热度,采用“签到换积分”的形式来吸引用户,用户的签到记录由“0” 和“1”的字符串组成,其中字符“0”表示未签到,字符“1”表示签到,积分计算规则如下:签到 1 天 得 1 分,若连续签到 k 天,则 k 天所得分数为 1+2+…+k-1+k分;未签到得0分。例如:
实现上述功能的流程图如第 8 题图所示,则图中①、②标记处应填入的内容分别是( )
A.t←1 sum←t B.t←0 sum←t C.t←1 sum←sum+t D.t←0 sum←sum+t
13.某用户的签到记录为“1011000111100111111”,执行上述流程后,输出结果为( )
A. 10 B. 13 C. 35 D. 47
答案
1——5:BDBCB
6——10:DBABB
11——13:DDC
同课章节目录