浙江省绍兴市诸暨市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存储键盘输入的球员年龄值,若输入d0程序结束。则空白处①②③应该填入的是( 
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.求解ab内(包含ab)所有的质数,并对每个质数的每一位数字求和。请完善程序。程序如下:
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小时内删除。