浙江省绍兴市诸暨市2020-2021学年高一下学期期末考试信息技术试题
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.用计算机编程解决问题的一般过程有:①编写程序②设计算法③调试运行程序④抽象与建模,上述步骤的正确顺序是( )
A.②①③④ B.②①④③ C.④②①③ D.④①②③
2.图中有关数据结构的概念中错误的是( )
A.图中有9个数据元素
B.图中每个数据元素有7个数据项
C.数据项名称为“姓名”的数据值类型是一样的
D.第4个数据元素第3个数据项的值为“do while语句流程图86”
3.有关数组特征描述中,下列说法不正确的是( )
A.同一数组中,每个数组元素的数据类型是相同的
B.通过数组名和下标可以对数组中任意位置的数组元素进行高效访问
C.数组的存储空间固定不变
D.数组是非顺序存储结构
4.Python表达式“50-50%6*5//2**2”的结果为( )
A.48 B.25 C.0 D.45
5.a数组定义如下:a=[2,5,0,3,6,8],则运算表达式“a[1]+a[3]+a[5]”的结果为( )
A.16 B.8 C.10 D.13
6.一维数组a(下标从0开始)中元素值依次为11--100之间的奇数,则数组元素a[k]的值是( )
A.2*k+10 B.2*k+11 C.2*k+12 D.2*k+13
7.下列字符串比较大小时,最小的是( )
A."abc" B."aab" C."abcc" D."aa8"
8.计算某篮球队上场队员平均年龄的部分算法如图所示,其中:c用来记录已输入球员的人数,sum存储球员年龄的和,d存储键盘输入的球员年龄值,若输入d为0程序结束。则空白处①②③应该填入的是( )
A.sum←sum+d c=c+1 sum/c B.sum←sum+c d=d+1 sum/c
C.d=d+1 sum←sum+c sum/(c-1) D.c=c+1 sum←sum+d sum/(c-1)
9.下面这段代码的时间复杂度是( )
import random
n=int(input("请输入随机数个数n:"))
d=[]
for i in range(n):
d.append(random.randint(1,100))
print(d)
key=int(input("请输入需要查的数:"))
for i in range(len(d)):
if key==d[i]:
print("查成功!索引号为:",i)
break
A.O(1) B.O(log2n) C.O(n) D.O(n2)
10.利用冒泡排序给数组[15,78,88,23,69,71,20,53]升序排序,第三遍冒泡加工之后的数据结果是( )
A.[15,20,23,78,88,69,71,53] B.[15,20,23,53,78,88,69,71]
C.[15,78,23,69,71,20,53,88] D.[15,23,69,71,20,53,78,88]
11.执行下列程序后,输出的内容是( )
a=[3,9,6,8,4]
for i in range(0,3):
for j in range(0,4-i):
if a[j]>a[j+1]:
t=a[j]
a[j]=a[j+1]
a[j+1]=t
print(a[i],end=′ ′)
A.3 4 6 B.6 8 9 C.3 6 4 D.3 6 6
12.脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。构成DNA的碱基共有 4 种,分别为腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。在两条互补碱基链的对应位置上,A总是和T配对,G总是和C配对。编写Python程序实现如下功能: 随机产生一条单链上的碱基序列,输出其对应的互补链上的碱基序列。( )
import random
DNA=['A','G','T','C']
s=''
for i in range(20):
①
print(s)
match={'A':'T','T':'A','G':'C','C':'G'}
t=''
for i in range(20):
②
print('互补链:',t)
A.①s=random.choice()+s ②t= t+match[i] B.①s=s+random.choice(DNA) ②t= t + match[s[i]]
C.①s=s+random.choice() ②t= t + match[s[i]] D.①s=random.choice(DNA)+s ②t= t + match[i]
二、操作题
13.已知6月份10位技术考试成绩:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
78 | 88 | 89 | 90 | 83 | 76 | 75 | 98 | 100 | 65 |
技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:
a=[78,88,89,90,83,76,75,98,100,65]
______
sum=0
for i in range(n):
if a[i]>=80:
________
print(sum)
执行上述程序段后,输出的内容是______
14.求解a到b内(包含a和b)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:
import math
def IsPrime(i):
if i==1:
return False
for j in range(2,int(math.sqrt(i))+1):
if____:
return False
return True
a=int(input("请输入a:"))
b=int(input("请输入b:"))
summ=0
for i in range(a,b+1):
if IsPrime(i):
________
while t>0:
summ=summ+t%10
_________
print("数字和为:",summ)
15.如图1文本文件“”中保存着若干个学生某次测试的成绩,编写一个计算机程序,从该文件中读取每个学生分数,统计并输出各等级的学生人数,程序运行界面如图2所示。
根据分数判断其所属等级的标准如下:
分数段 | 90~100 | 80~89 | 70~79 | 60~69 | 60以下 |
等级 | A | B | C | D | E |
实现该功能的程序段如下,请完善程序:
def check(a):
if ______
level[0]+=1
elif int(a)>=80:
level[1]+=1
elif int(a)>=70:
level[2]+=1
elif int(a)>=60:
level[3]+=1
else:
________
f=open("","r")
adline()
level=[0]*5
while score:
_______
adline()
f.close()
for i in range(0,5):
print("等级"+_______+"的人数为:",level[i])
16.寻字符串中连续数字(全部都是1位数)之和为k的子串,如字符串“20210521”中和为6的子串为“105”。实现该功能的程序段如下,请完善程序:
s=input("请输入数字字符串")
i=0;j=0;k=6;sum=0
while j<len(s):
_______
sum=sum+int(ch1)
while sum>k:
ch2=s[i]
_______
i=i+1
if sum==k:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论