首页
高中语文
高中数学
高中英语
高中物理
高中化学
高中历史
高中道德与法治(政治)
高中地理
高中生物
高中音乐
高中美术
高中体育
高中信息技术
高中通用技术
资源详情
高中信息技术
学考(选考)专区
一轮复习
24 迭代和递归 练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)
文档属性
名称
24 迭代和递归 练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)
格式
docx
文件大小
137.2KB
资源类型
教案
版本资源
浙教版(2019)
科目
信息技术(信息科技)
更新时间
2022-09-21 17:45:08
点击下载
图片预览
1
2
文档简介
数据结构大单元
——迭代和递归基础练习
班级 姓名
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
点击下载
同课章节目录
点击下载
VIP下载