2023 届高三信息技术一轮复习《选修一》专题测试 全卷共 8 页,满分 50 分,考试时间 45 分钟。 一、选择题(均为单选,每题 2 分,共 24 分) 1.有一组含有 9 个元素的有序链表:1->3->5->6->8->11->15->18->20,现为该链 表增设关键节点,建立索引,下列说法不正确的是 A.一级索引中的关键节点为 1,5,8,15,20 B.二级索引中的关键节点为 1,8,20 C.若要在建立的一级索引的基础上插入元素 7,则需比较 3 次即可找到 7 插入的位 置 D.若要在建立的二级索引的基础上查找元素 18,则需比较 4 次即可找到元素 18 2.关于栈,下列说法错误的是 A.栈是先进后出表。它的数据元素只能在同一端(称为栈顶)进行操作,添加(进 栈),删除(出栈) B.pop(0)方法可以删除列表的尾元素(相当于栈的“出栈”操作) C.pop()方法可以删除列表的尾元素(相当于栈的“出栈”操作) D.append 方法可以在列表尾部添加一个数据元素(相当于栈的“入栈”操作) 3.树结构是一种具有层次关系的非线性结构。树是由 n(n≥0)个节点组成的有限集合,如 图所示,下列说法错误的是 A.任何一个非空树均仅有一个称为根的节点,如图中 A,n=0 时为空树 B.当 n>0 时,其余节点可分为 m (m≥0)个互不相交的有限集合,其中每个集合又 是一棵树,并称为根的子树 C.节点 A 为根节点,B、C、D 为 A 的子树的根节点,同理,E、F、G 是 B 的子树的 根节点,B 是 E、F、G 的父节点 D.在树结构中,数据元素之间是一对一的关系 4.一棵二叉树的前序遍历结果为 JFDECBHAIG,中序遍历结果为 DFEJAHBICG,则该二 叉树的深度为 A.6 B.5 C.4 D.3 5.分别用选择和冒泡排序算法对数据序列“2,3,4,5,1,0”作升序排序,则需要交换 的次数分别为 A.5 次和 9 次 B.4 次和 12 次 C.5 次和 15 次 D.4 次和 18 次 6.以下程序代码采用的算法是 def gcd(m,n): while m%n != 0: m,n=n,m%n return n a=int(input("请输入 a 的值:")) b=int(input("请输入 b 的值:")) print(gcd(a,b)) A.枚举法 B.二分法 C.递归法 D.迭代法 n 7.老师编写了一个函数,它的功能为使用递归的方法快速计算 X ,划线处代码为 def fun(x,n): if n==1: return x t=fun( ) if n%2==1: return x*t*t else: return t*t A.n//2,x B.n/2,x C.x,n//2 D.x,n/2 8.有如下程序段: a=[92,22,11,98,96,71] n=len(a) for i in range(n): for j in range( ): if a[j]>a[j+1]: a[j],a[j+1]=a[j+1],a[j] print(a) 为实现 n 个数的升序排序,则划线处应填 A.range(i-1) B.range(n-2,i-1,-1) C.range(i,n) D.range(n-1,n-i-2,-1) 9.有如下程序段: a=[[2,2,1],[8,0,4],[3,3,0],[6,-1,2],[8,1,-1]] ans=head=3 p=a[head][2] while p!=-1: if a[ans][0] < a[p][0] : ans=p p=a[p][2] print(ans,a[ans][0],sep=",") 则程序运行后,下列说法正确的是 A.链表数据值依次为 2->8->3->6->8 B.程序输出结果为 4,8 C.a[0][2]的值为 1,双向链表 a 的头节点数据值为 2 D.a[1][1]的值为 0,双向链表 a 的尾节点数据值为 8 10.有某算法的程序段如下: i = 0; j = 6; s = “” key = int( random( ) * 100 ) while i <= j: m = ( i + j ) // 2 if key == p[ m ]: s +=” M ” break elif key < p[ m ]: j=m-1 s += “ L ” else: i = m+1 s += ” R ” print( s ) 列表 p 中的元素依次为“24, 35, 38, 41, 45, 69, 78”。执行该程序段后显示的 内容可能为 A.RL C.RLR 11.有如下程序: wz=[0,1,2,3,4,5,6] start=0 qu=[0]*len(wz) wm="abcdefg" h=0;t=0 while len(wz)>0: for i in range(2): start=(start+1)%len(wz) qu[t]=wz[start] t=t+1 wz.pop(start) mm="" while h<t: mm=mm+wm[qu[h]] h=h+1 print(mm) B.LMR D.LRLM 程序运行后,显示的结果为( ) A.bdfaecg B.bdfaceg C.cfbgead D.cfbeadg 12.单车道胡同路边停车,先进去的车只能从另一出口出来,阅读程序代码:listque=[] #定义列表 listque 存储停车状况 max=8 #停车位最大容量 while(True): print('\n1.停车') #\n 表示换行打印 print('2. 开车离开') print('3. 查看停车库') print('其他. 退出') x=input("输入你的选择:") #输入选择项 if x=='1': if len(listque)<max: print("还有"+str(max-len(listque))+"个停车位。") listque.append(input("请输入停车车牌:")) else: print("对不起,停车位已满。") elif x=='2': if len(listque)==0: print("停车库为空。") else: print(listque.pop(0)+"开出。") elif x=='3': print(listque) else: break 下列说法错误的是 A.listque.append( )语句的作用是输入停车车牌 B.listque.pop(0)表示开车离开,删除停车车牌 C.此程序的数据结构方式是先进后出的栈 D.while(True)语句表示永远执行循环 二、非选择题(共 26 分) 13.(6 分)某招聘考试的笔试成绩达到面试资格线可以入围参加面试。入围面试的资格 线根据计划录取人数的 1:3 划定,即如果考试计划录取 m 人,则排名第 3*m 名选手的笔 试分数为面试资格分数线,该分若有同分者可一同参加面试。考生考号和笔试成绩存储在 “笔试成绩.csv”文档。编写一个 Python 程序,实现上述功能。程序运行时,将所有考生 考号和笔试成绩的数据信息存储列表 a 中,结构如图 1 所示,共 n 名考生。输入计划录取 人数 m(3*m<n),输出最终进入面试的考生信息、人数及分数线。程序运行界面如图 2 所示。 图1 图2 (1)实现上述功能的 Python 程序如下,请在划线处填入合适代码。 # 从 csv 文档读取学生数据存储到列表 a 中,代码略 n = len(a) - 1 #n 表示考生总数 m = int(input("请输入计划录取人数:")) mm = m * 3 _______ while i < n: for j in range(n, i, -1): if _______: a[j], a[j - 1] = a[j - 1], a[j] if : break i += 1 zs = i – 1 #最终人数 print("进入面试考生") for i in range(0, __________): print(a[i]) print("最终人数:", zs) print("分数线:", a[zs][1]) (2)程序加框处的代码有误,请改正______。 14.(6 分)有个火车站的铁轨调度方法如下:火车从一方 1,2,3,4…依次进入,由于每 个火车皮要去的目标车站不一样,想让车皮到站后能以最少的时间从火车上脱离,就让最 近到的车皮放在整列火车的最后。因此需要转换站来达成这样的目标,转换站只能在同一 个地方进与出。例如有四个车皮 1,2,3,4 进入,2,4,3,1 到站,即 2 号车皮目的地最远,4 号车皮倒数第二远,3 号车皮倒数第三远,1 号车皮最近。为了能快速指挥车辆进出站转 换,小王编写例如下程序: a=[1,2,3,4,5,6] #待车皮进站 b=[3,2,1,6,5,4] #出站顺序 stack=[0]*len(a); top=0 stack[top]=a[0] s=str(a[0])+"进" ha=1;hb=0 while : while top>-1 and _______ : s=s+str(stack[top])+"出" top-=1 ____ if ha<len(a): top+=1 stack[top]=a[ha] s=s+str(a[ha])+"进" ha+=1 elif ha==len(a) and top>-1 and _______ : print("无法调度") break if top==-1: print(s) 代码显示结果:1 进 2 进 3 进 3 出 2 出 1 出 4 进 5 进 6 进 6 出 5 出 4 出 (1)修改加框处代码________ (2)将划线处代码补充完整,使功能完善。 15.(7 分)乒乓球比赛规则原先采用 21 分制,后来改成 11 分制。改制后发现一些慢热 型选手不适应 11 分制,只能选择退役。小明编写了如下程序。对于同样的比赛记录(由字 母 w 与 f 组成,其中 w 表示小明获得一分,f 表示对手获得一分),发现 11 分制对于慢热 型选手不利。例如有如下比分记 录:"fffffffffffffwwwffffffffwwwfwfwfwffwwwfffwwffww ffffwwwwffwwwwffwwwfffwwwwwffwwwwffww"。采用 11 分制,各局比分为: 0:11,6:11,10:12,11:5,11:7。采用 21 分制,各局比分为: 3:21,21:16,14:9。 (1)如果记录是 wwwffff

doc文档 2023届高三信息技术一轮复习《选修一》专题测试

教育频道 > 高中 > 信息技术 > 文档预览
13 页 0 下载 8 浏览 0 评论 0 收藏 3.0分
温馨提示:当前文档最多只能预览 5 页,若文档总页数超出了 5 页,请下载原文档以浏览全部内容。
本文档由 流年开花2022-10-09 16:00:00上传分享
给文档打分
您好可以输入 255 个字符
1+1=?( 答案:2 )
评论列表
  • 暂时还没有评论,期待您的金玉良言