内容正文:
2024学年第二学期期末调研测试卷
高二技术
注意事项:
1.本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
2.选择题的答案须用2B铅笔将答题纸上对应的题目标号涂黑,非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内。作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。答案写在试题卷上无效。
第一部分 信息技术(50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 某市科技馆举办“神话科技嘉年华”活动,包含《哪吒》特效全息投影表演、现代神话故事讲座。活动通过短视频平台直播、微博话题互动、贴吧图文贴传播,市民可线下参与,也可绑定社交账号参与线上元宇宙分会场。下列关于该活动中数据和信息的说法,正确的是( )
A. 活动内容通过不同平台传播有助于扩大信息共享范围
B. 活动中视频和文本的存储格式完全相同
C. 文字、图片、视频都是结构化数据
D. 活动视频通过数模转换后可计算机中保存
【答案】A
【解析】
【详解】本题考查数据与信息。A 选项正确,活动内容通过短视频平台、微博、贴吧等不同平台传播,能让更多不同平台的用户接触到信息,有助于扩大信息共享的范围。B 选项错误,视频和文本是不同类型的数据,它们的存储格式通常完全不同。例如常见的视频存储格式有 MP4、AVI 等,常见的文本存储格式有 TXT、DOC 等。C 选项错误,文字、图片、视频属于非结构化数据,而非结构化数据。结构化数据是指可以用二维表结构来逻辑表达实现的数据,如数据库中的数据。D 选项错误,活动视频是数字信号,计算机中保存的也是数字信号,不需要进行数模转换,而是可能需要进行模数转换将模拟信号转换为数字信号才能在计算机中保存。因此,本题选择 A 选项。
2. 某市科技馆举办“神话科技嘉年华”活动,包含《哪吒》特效全息投影表演、现代神话故事讲座。活动通过短视频平台直播、微博话题互动、贴吧图文贴传播,市民可线下参与,也可绑定社交账号参与线上元宇宙分会场。关于信息安全与信息社会责任,下列行为合适的是( )
A. 用他人身份证号绑定自己的社交账号 B. 随意剪辑表演视频并在网络上发布
C. 直播平台允许观众实时举报不当内容 D. 将线上参与者的手机号码发到粉丝群
【答案】C
【解析】
【详解】本题考查信息安全与信息社会责任。A 选项错误,用他人身份证号绑定自己的社交账号,属于冒用他人身份信息的行为,违反个人信息保护规定,侵犯他人隐私,不符合信息安全与社会责任要求。B 选项错误,随意剪辑表演视频并在网络上发布,若未获得主办方或版权方授权,可能涉及知识产权侵权,损害原创者权益,不符合信息传播责任规范。 C 选项正确,直播平台允许观众实时举报不当内容,是平台履行信息安全管理义务的体现,通过用户监督机制可及时处理不良信息,维护网络环境,符合信息社会责任要求。D 选项错误,将线上参与者的手机号码发到粉丝群,属于未经允许泄露他人个人信息的行为,手机号码为敏感信息,可能导致用户遭受骚扰、诈骗,侵犯隐私权,违反信息安全准则。因此,本题选择 C 选项。
3. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。下列关于该信息系统功能与应用的说法,不正确的是( )
A. 该图书馆智能管理系统对外部环境有依赖性
B. 根据对借阅数据的分析,可以知道读者的借阅喜好
C. 该系统的数据采集和输入功能均由智能识别终端实现
D. 电子屏显示警告标语,主要体现了系统的数据输出功能
【答案】C
【解析】
【详解】本题考查信息系统的功能与应用。A 选项正确,该图书馆智能管理系统需要依赖网络环境实现数据上传至服务器,依赖智能识别终端和摄像头等硬件设备采集数据,因此对外部环境有依赖性。B 选项正确,通过分析借阅数据中的图书 ISBN 码、借阅时间等信息,可以统计读者借阅的图书类型、频次等,从而推断出读者的借阅喜好。C 选项错误,该系统的数据采集和输入功能并非仅由智能识别终端实现。在阅览监控区,智能摄像头负责捕捉读者违规行为并采集相关数据,这也属于数据采集和输入的环节,因此数据采集和输入功能由智能识别终端和智能摄像头等共同实现。D 选项正确,电子屏显示警告标语,是将系统处理后的违规信息以可视化方式呈现,属于数据输出功能的体现。因此,本题选择 C 选项。
4. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。某省共有102家分馆,每家分馆部署6台智能摄像头。第1家分馆的十进制编码为0,智能摄像头编码同理。若使用二进制对这些摄像头进行编码(前几位表示分馆编号,其余位表示摄像头号),则第6家第5台智能摄像头的二进制编码是( )
A. 000110101 B. 000101100 C. 0000110101 D. 0000101100
【答案】D
【解析】
【详解】本题考查二进制编码。首先,确定分馆编号和摄像头编号所需的二进制位数:该省共有 102 家分馆,编号从 0 开始(第 1 家编码为 0),最大分馆编号为 101。由于 27=128≥102,因此分馆编号需用 7 位二进制表示。每家分馆有 6 台摄像头,编号从 0 开始,最大摄像头编号为 5。由于 23=8≥6,因此摄像头编号需用 3 位二进制表示。第 6 家分馆对应的十进制编号为 6−1=5,转换为 7 位二进制为 0000101。第 5 台摄像头对应的十进制编号为 5−1=4,转换为 3 位二进制为 100。将分馆编号和摄像头编号的二进制组合,得到完整编码为 0000101100。因此,本题选择D。
5. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。下列关于该信息系统中硬件和软件的说法,正确的是( )
A. 提高电子屏的屏幕分辨率可以提升服务器的性能 B. 智能摄像头和服务器属于该系统中的硬件
C. 该图书智能管理系统是系统软件 D. 系统的软件升级仅指增加新功能
【答案】B
【解析】
【详解】本题考查信息系统中硬件和软件。A 选项错误,电子屏的屏幕分辨率属于显示设备的硬件参数,仅影响画面显示效果,与服务器的性能(由 CPU、内存等硬件决定)无关,二者为不同硬件组件,互不影响。B 选项正确,智能摄像头和服务器均属于信息系统硬件。智能摄像头用于采集数据(输入设备),服务器用于存储和处理数据(数据处理与存储设备),是系统硬件的重要组成部分。C 选项错误,该图书智能管理系统是针对图书馆管理开发的专用软件,属于应用软件。系统软件指操作系统、数据库管理系统等控制协调计算机及外设的基础软件,二者功能不同。D 选项错误,系统的软件升级不仅包括增加新功能,还可能涉及修复安全漏洞、优化运行性能、适配新硬件或操作系统等多方面的维护与改进,并非单一的功能新增。因此,本题选择 B 选项。
6. 某算法的部分流程图如图所示。执行这部分流程,输入s的值为"0001111001",则输出n的值为( )
A. 1 B. 2 C. 3 D. 4
【答案】A
【解析】
【详解】本题考查流程图。该流程图的核心逻辑:若 s[i] == s[i+1],则 n += 1; 否则,n = 1; 每次循环 i += 1,直到 i >= 9 退出。模拟循环过程如下:
因此,本题选择A。
7. 某完全二叉树的中序遍历为a+b/c*d-e,则其后序遍历是( )
A. */-+cdeab B. */+abc-de C. ab+c/de-* D. abc/+de-*
【答案】C
【解析】
【详解】本题考查二叉树。根据给定的中序遍历序列a+b/c*d-e(即 a, +, b, /, c, *, d, -, e)和完全二叉树的性质(节点数为9,结构固定),可以构建以下二叉树:
所以,该树的后序遍历(左-右-根):遍历左子树(节点4):a → b → + 右子树(节点5):c 根节点(2):/ 左子树(节点3):d → e → - 根节点(1):* 序列:a, b, +, c, /, d, e, -, * 。因此,本题选择C。
8. 队列que中队首至队尾元素依次为“A,B,C,D,E,F”,栈st初始为空,约定:Q为出队操作,R为出队后入栈操作,S为出栈后入队操作,经过QRQRSS系列操作后,队列中队首至队尾的元素依次为( )
A. E,F,A,C B. E,F,C,A C. E,F,B,D D. E,F,D,B
【答案】D
【解析】
【详解】本题考查队列和栈的基本操作。根据题意模拟过程:
初始状态:队列 que:[A, B, C, D, E, F](队首→A,队尾→F) 栈 st:[](空栈)
操作 1:Q(出队) 队列弹出队首元素 A,队列变为 [B, C, D, E, F]。 无入栈 / 入队,栈仍为 []。
操作 2:R(出队后入栈) 队列弹出队首元素 B,队列变为 [C, D, E, F]。 将 B 压入栈,栈变为 [B]。
操作 3:Q(出队) 队列弹出队首元素 C,队列变为 [D, E, F]。 无入栈 / 入队,栈仍为 [B]。
操作 4:R(出队后入栈) 队列弹出队首元素 D,队列变为 [E, F]。 将 D 压入栈,栈变为 [B, D](栈底→B,栈顶→D)。
操作 5:S(出栈后入队) 栈弹出栈顶元素 D,栈变为 [B]。 将 D 入队,队列变为 [E, F, D]。
操作 6:S(出栈后入队) 栈弹出栈顶元素 B,栈变为 []。 将 B 入队,队列变为 [E, F, D, B]。
最终队列状态 :队首→E,队尾→B,即队列元素依次为 E, F, D, B。因此,本题选择D。
9. 某二分查找算法的Python程序段如下:
i=0;j=len(a)-1
n=0
while i<=j:
m=(i+j)//2
n+=1
if key<=a[m]:
j=m-1
else:
i=m+1
若列表a为[1,2,2,3,4,4,5,6],需查找的key为2,则执行该程序段后,n的值为( )
A. 1 B. 2 C. 3 D. 4
【答案】C
【解析】
【详解】本题考查二分查找。列表a = [1, 2, 2, 3, 4, 4, 5, 6],长度为 8,索引范围 0-7。 查找目标key = 2。模拟查找过程如下:
因此,本题选择C。
10. 使用列表a模拟链表结构(节点数n>0),每个节点包含数据区域和指针区域,head为头指针。现要删除链表中数据区域值为x的所有节点,实现上述功能的Python程序段如下,划线处应填入的正确代码为( )
p=head
while p!=-1:
if a[p][0]==x:
if p==head:
head=a[head][1]
else:
①
else:
②
p=a[p][1]
A ①a[r][1]=a[p][1] ②r=p B. ①r=p ②a[r][1]=a[p][1]
C. ①a[p][1]=a[r][1] ②p=r D. ①p=r ②a[p][1]=a[r][1]
【答案】A
【解析】
【详解】本题考查链表的基本操作。该程序段用于删除链表中所有数据区域值为x的节点,链表通过列表a模拟,每个节点包含两个元素:a[p][0]为数据区域,a[p][1]为指针区域(指向下一个节点的索引,-1表示链表结束)。head为头指针。程序逻辑如下:使用指针p遍历链表,从head开始;当p指向的节点数据值为x时,需要删除该节点:若p是头节点(p == head),则直接更新head为下一个节点(head = a[head][1])。 若p不是头节点,则需要修改前一个节点的指针,使其跳过当前节点,指向当前节点的下一个节点(即a[r][1] = a[p][1],其中r记录前一个节点)。当p指向的节点数据值不为x时,该节点保留,并更新r为当前节点p(即r = p),以便在后续删除操作中作为前驱节点使用。无论是否删除,p都移动到下一个节点(p = a[p][1])。 变量r用于记录当前节点p的前一个节点(当p不是头节点时)。在遍历过程中:当节点不被删除时(else分支),设置r = p,使r成为下一个节点的前驱。当节点被删除且不是头节点时,使用r修改前一个节点的指针(a[r][1] = a[p][1])。因此,本题选择A。
11. 有如下Python程序段:
def fun(x):
c="0123456789ABCDEF"
if x<16:
return c[x]
return fun(x//16)+c[x%16]
执行语句r=fun(31),变量r的值是( )
A. "10F" B. "F10" C. "1F" D. "F1"
【答案】C
【解析】
【详解】本题考查递归。函数 fun(x) 是一个递归函数,用于将整数 x 转换为十六进制字符串。字符串 c = "0123456789ABCDEF" 包含了十六进制的所有字符(0-9 和 A-F)。执行 r = fun(31) 的过程如下:初始调用 fun(31):由于 31 >= 16,进入递归部分,计算 fun(31 // 16) + c[31 % 16]。31 // 16 = 1(整数除法,商为 1)。31 % 16 = 15(余数为 15)。 c[15] = "F"(因为索引 15 对应字符 "F")。因此,表达式为 fun(1) + "F"。递归调用 fun(1):由于 1 < 16,直接返回 c[1] = "1"(因为索引 1 对应字符 "1")。将结果组合:fun(1) + "F" = "1" + "F" = "1F"。因此,变量 r 的值为 "1F"。因此,本题选择C。
12. 有如下Python程序段:
import random
a=[0]*6
for i in range(6):
a[i]=random.randint(1,9)
if i%2==0:
a[i]+=a[i]%2
elif a[i]%2==1:
a[i]*=2
执行该程序段后,列表a的值可能是( )
A. [10,4,8,18,6,2] B. [3,4,6,10,8,14] C. [2,16,4,6,10,4] D. [8,7,8,6,10,10]
【答案】A
【解析】
【详解】本题考查 Python 程序设计。列表a长度为 6,初始元素全为 0。 循环中对每个a[i]赋值为 1-9 的随机整数(random.randint(1,9))。当i为偶数(0,2,4)时: 执行a[i] += a[i]%2。若a[i]是奇数(如 3),则3%2=1,结果为3+1=4(偶数);若为偶数(如 4),则4%2=0,结果保持 4。因此 i 为偶数的位置最终必为偶数,可能值为 2,4,6,8,10(奇数 + 1 或偶数原值)。当i为奇数(1,3,5)时: 若a[i]是奇数(如 3),则执行a[i]*2=6(偶数);若为偶数(如 4),则保持原值。因此 i 为奇数的位置最终必为偶数,可能值为 2,4,6,8(偶数原值)或 2,6,10,14,18(奇数 ×2)。因此,本题选择A。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某工业车间配备CO浓度监测系统,可定时采集3个不同监测点的CO浓度,但采集顺序不固定。每分钟采集的数据格式记为[[m1,n1],[m2,n2],[m3,n3]],m、n分别为监测点的名称和CO浓度值,其中监测点名称为"a"、"b"、"c",如["a",50]表示监测点a的CO浓度值为50。
现要编写程序,每隔1分钟采集并检测CO浓度,若数值为0或超出传感器量程(最大量程为200ppm),则传感器失效,程序停止。若同一监测点连续3次浓度超过安全阈值(如低于20ppm或高于50ppm),则发送报警信息。请回答下列问题:
(1)监测点a、b、c超过安全阈值的次数分别存放在cnt[0]、cnt[1]、cnt[2]中。若前2分钟采集到的数据为[["c",16],["a",54],["b",27]]和[["b",28],["c",18],["a",30]],则cnt[2]的值为______(填数字)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
n=3;L=20;H=50
cnt=[0]*n
flag=True
while flag:
#将每分钟采集到的监测点数据存入cv中,代码略
for i in①___:
k=ord(cv[i][0])-97
if②___:
print("监测点",cv[i][0],"传感器失效")
flag=False
elif cv[i][1]<L or cv[i][1]>H:
cnt[k]+=1
if cnt[k]>=3:
print("监测点",cv[i][0],"异常")
else:
③___
sleep(60*1000) #延时1分钟
【答案】 ①. 2 ②. range(n)或range(len(cv))或range(len(cnt))或range(3)或range(0,n)或range(0,len(cv))或range(0,len(cnt))或range(0,3) ③. cv[i][1]==0 or cv[i][1]>200 ④. cnt[k]=0或cnt[ord(cv[i][0])-97]=0或cnt[ord(cv[i][0])-ord("a")]=0
【解析】
【详解】本题考查循环语句。
(1)监测点名称与数组索引对应:a→0,b→1,c→2(通过 ord(cv[i][0])-97 实现)。分析两次采集数据中 c(索引 2)的浓度:第 1 次:["c",16] → 16<20(低于安全阈值),cnt[2] +=1。第 2 次:["c",18] → 18<20(低于安全阈值),cnt[2] +=1。最终 cnt[2] = 2。
(2)①处:遍历每分钟采集的 3 个监测点数据(cv 是长度为 3 的列表),需遍历索引 0~2,填range(n)或range(len(cv))或range(len(cnt))或range(3)或range(0,n)或range(0,len(cv))或range(0,len(cnt))或range(0,3)。②处:判断传感器是否失效(浓度为 0 或超出量程 200),填 cv[i][1] == 0 or cv[i][1] > 200。③处:若浓度在安全阈值内(20≤浓度≤50),需重置该监测点的计数,填 cnt[k] = 0。
14. 某校使用智慧食堂系统实现从选餐到支付的智能化管理。食堂在盛菜碗碟中植入电子标签,并在系统中设定每个电子标签对应的菜品信息。师生将选好菜品的餐盘放在结算台的指定区域内,系统自动读取电子标签信息,结账软件快速完成餐品金额计算,系统支持刷脸、校园一卡通支付。各窗口结算台的数据传输至Web服务器,存储于数据库。
(1)该系统读取电子标签信息过程中,所使用的技术是______(单选,填字母)。
A.网络技术 B.射频识别 C.人工智能 D.红外线扫描
(2)下列关于该系统中数据管理的说法,正确的是______(单选,填字母)。
A.数据无法从服务器端传输至结算台 B.该系统的数据和程序都应存储在结算台中
C.查看学生消费历史数据需要访问数据库 D.餐品金额的计算只能在服务器端完成
(3)数据安全措施合理的是______(多选,填字母)。
A.人脸数据加密存储 B.只保存当天的消费记录
C.定时自动备份交易日志 D.非营业时段关闭防火墙
(4)该系统服务器端程序采用Flask Web框架编写,结算台的IP地址是192.168.10.200,端口号为5050,服务器的IP地址是192.168.10.10,端口号为8080,网站功能页面规划,如下表所示:
序号
访问地址
功能说明
1
/
主页
2
/room
餐厅管理
3
/class
菜品管理
4
/input?id=20230101&money=8
提交学生卡号和消费金额
5
……
……
若要进行餐厅管理,可在相应的子页面中进行操作,则访问该子页面的地址是http://______。
(5)将系统中9月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出三个食堂午餐消费总额(如图b所示)。
实现上述功能部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df1= ①
df1= ②
df2= ③
print(df2)
①②③处应填入的语句依次为______(选3项,填字母序列)
A.df1.groupby("食堂名称",as_index=False)["消费金额"].sum() #分组求和
B.df1.groupby("食堂名称",as_index=False)["消费金额"].count()
C.df.sort_values("消费金额",ascending=False) #降序排序
D.df1.sort_values("消费金额",ascending=False)
E.df[df["消费类型"]=="午餐"] #筛选
F.df1[df1.消费类型=="午餐"]
【答案】 ①. B ②. C ③. AC ④. 192.168.10.10:8080/room ⑤. EAD
【解析】
【详解】本题考查搭建信息系统和pandas数据分析。
(1)系统通过电子标签(RFID)读取信息,属于射频识别(RFID) 技术。网络技术(A)是数据传输基础,人工智能(C)是模拟智能行为,红外线扫描(D)是光学检测,均不符合。答案为B。
(2)A 错误:数据可双向传输(如结算台→服务器,服务器→结算台显示)。B 错误:程序和数据主要存储在服务器,结算台是终端。C 正确:消费历史存储在数据库,查看需访问数据库。D 错误:餐品金额计算可在结算台(本地)完成,再同步到服务器。答案为C。
(3)A 正确:人脸数据加密可防止泄露。B 错误:只保存当天记录无法追溯历史,不安全。C 正确:定时备份交易日志可防止数据丢失。D 错误:非营业时段关闭防火墙会暴露系统,增加风险。答案为AC。
(4)餐厅管理的访问地址是 /room,需拼接服务器 IP、端口和路径。服务器 IP 是 192.168.10.10,端口 8080,因此地址为: http://192.168.10.10:8080/room。
(5)①处:对df数据对象筛选 “消费类型 == 午餐” 的数据,选 E。②处:按 “食堂名称” 分组,求和 “消费金额”,选 A。③处:对分组结果df1按 “消费金额” 降序排序,选 D。
15. 某公司有n个部门,每个部门有若干名员工。公司从所有员工中选拔s名优秀员工参加年度表彰大会。选拔规则如下:将s均分成n份,取整后得w人,剩余名额为s-n×w。将所有员工按绩效成绩为主关键字降序,出生日期为次关键字升序进行排序(该公司不存在同年同月同日出生的员工)。每个部门的前w名员工直接入选,剩余名额按照排序的结果进行递补。
给定所有员工的绩效数据表,每位员工的数据包含部门编号(0~n-1)、员工编号、绩效成绩、出生日期。编写程序,按上述规则选拔优秀员工,并按顺序输出选拔结果。
请回答下列问题:
(1)如下表所列数据,若n、s分别为3和4,则0182号员工是否入选______(选填:是/否)。
部门编号
0
0
1
1
2
2
员工编号
0012
0182
1008
1208
2002
2071
绩效成绩
93
85
91
85
72
61
出生日期
1985/3/25
1987/7/1
1977/11/10
1987/6/3
1981/4/6
1985/12/1
(2)定义如下proc1(data)函数,函数功能将出生日期的格式转为“yyyyMMdd”8位数字字符。
def proc1(data):
for i in range(len(data)):
s=data[i][3]
n=
yyyy=s[:4]
MM=s[5:n]
dd=s[n+1:]
if len(MM)==1:
MM="0"+MM
if len(dd)==1:
dd="0"+dd
data[i][3]=yyyy+MM+dd
加框处代码用于获取字符串s中最后一个"/"字符的下标,则应选______(单选,填字母)。
注:x.find(y)返回字符串x中子串y出现的首字符下标,若找不到,则输出-1。例如:"Hello!".find("llo")结果为2
A.len(s)-s[::-1].find("/") B.len(s)-s[::-1].find("/")-1
C.len(s)-s.find("/") D.len(s[::-1])-s.find("/")-1
(3)定义如下proc2(data)函数,函数功能将数据按绩效成绩为主关键字降序,出生日期为次关键字升序进行排序。
def proc2(data):
n=len(data)
for i in range(1,n):
for j in range(0n-i):
if :
data[j],data[j+1]=data[j+1],data[j]
加框处代码用于实现主、次关键字排序,则应选______(单选,填字母)。
A.data[j][2]<data[j+1][2] or data[j][2]==data[j+1][2] and data[j][3]>data[j+1][3]
B.data[j][2]>data[j+1][2] or data[j][2]==data[j+1][2] and data[j][3]<data[j+1][3]
C.data[j][2]<data[j+1][2] or data[j][2]==data[j+1][2] or data[j][3]>data[j+1][3]
D.data[j][2]>data[j+1][2] or data[j][2]==data[j+1][2] or data[j][3]<data[j+1][3]
(4)主程序部分Python程序如下,请在划线处填入合适的代码。
’’’
读取n、s;读取员工数据存入data列表,每个元素包含部门编号、员工编号、绩效成绩、出生日期,代码略
’’’
proc1(data)
proc2(data)
w=s//n
x=s%n
r=[0]*n
head=tail=-1
for i in range(len(data)):
k=data[i][0]
①___
if r[k]<=w or x>0:
data[i].append(-1)
if head==-1:
head=i
else:
data[tail][4]=i
tail=i
if r[k]>w:
②___
p=head
while p!=-1:
print(data[p][1],end="")
p=data[p][4]
【答案】 ①. 否 ②. B ③. A ④. r[k]+=1或r[k]=r[k]+1或r[data[i][0]]+=1或r[data[i][0]]=r[k]+1 ⑤. x-=1或x=x-1
【解析】
【详解】本题考查链表。
(1)n = 3,s = 4,则 w = 4 // 3 = 1,x = 4 % 3 = 1 。对原数据整理后排序 :0012(93 )、1008(91 )、1208(85,出生日期更早 )、0182(85 )、2002(72 )、2071(61 )。每个部门前 w = 1 人直接入选:部门 0 选 0012,部门 1 选 1008,部门 2 选 2002 。 剩余 x = 1 个递补名额,按排序选下一个(1208 )。 0182 号员工未入选,答案为否。
(2)通过 s[::-1] 反转字符串找最后一个 / 下标: s[::-1].find("/") 找到反转后 / 的下标(即原字符串中最后一个 / 从右往左数的位置 ),原字符串中最后一个 / 的下标为 len(s) - s[::-1].find("/") - 1(因为反转后下标是相对反转字符串的,转换到原字符串需调整 )。答案为B。
(3)需实现绩效降序(data[j][2] < data[j+1][2] 时交换)、绩效相同时出生日期升序(data[j][3] > data[j+1][3] 时交换 )。条件应为 data[j][2] < data[j+1][2] or (data[j][2] == data[j+1][2] and data[j][3] > data[j+1][3]),这样能保证绩效高的在前,绩效相同则出生日期早的在前,符合题目排序要求。答案为A。
(4)r = [0] * n:记录每个部门已入选人数。遍历排序后的员工数据:k = data[i][0]:当前员工部门。 ①:更新部门计数 r[k] += 1。 若部门入选数 ≤ w 或仍有剩余名额(x > 0),则入选;将员工加入链表。 若入选时部门已超基础名额(r[k] > w),则 ②:消耗剩余名额 x -= 1。
第1页/共1页
学科网(北京)股份有限公司
$$
2024学年第二学期期末调研测试卷
高二技术
注意事项:
1.本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
2.选择题的答案须用2B铅笔将答题纸上对应的题目标号涂黑,非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内。作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。答案写在试题卷上无效。
第一部分 信息技术(50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 某市科技馆举办“神话科技嘉年华”活动,包含《哪吒》特效全息投影表演、现代神话故事讲座。活动通过短视频平台直播、微博话题互动、贴吧图文贴传播,市民可线下参与,也可绑定社交账号参与线上元宇宙分会场。下列关于该活动中数据和信息的说法,正确的是( )
A. 活动内容通过不同平台传播有助于扩大信息共享范围
B. 活动中视频和文本的存储格式完全相同
C. 文字、图片、视频都是结构化数据
D. 活动视频通过数模转换后可在计算机中保存
2. 某市科技馆举办“神话科技嘉年华”活动,包含《哪吒》特效全息投影表演、现代神话故事讲座。活动通过短视频平台直播、微博话题互动、贴吧图文贴传播,市民可线下参与,也可绑定社交账号参与线上元宇宙分会场。关于信息安全与信息社会责任,下列行为合适的是( )
A. 用他人身份证号绑定自己的社交账号 B. 随意剪辑表演视频并在网络上发布
C. 直播平台允许观众实时举报不当内容 D. 将线上参与者的手机号码发到粉丝群
3. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。下列关于该信息系统功能与应用的说法,不正确的是( )
A. 该图书馆智能管理系统对外部环境有依赖性
B. 根据对借阅数据的分析,可以知道读者的借阅喜好
C. 该系统数据采集和输入功能均由智能识别终端实现
D. 电子屏显示警告标语,主要体现了系统的数据输出功能
4. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。某省共有102家分馆,每家分馆部署6台智能摄像头。第1家分馆的十进制编码为0,智能摄像头编码同理。若使用二进制对这些摄像头进行编码(前几位表示分馆编号,其余位表示摄像头号),则第6家第5台智能摄像头的二进制编码是( )
A. 000110101 B. 000101100 C. 0000110101 D. 0000101100
5. 某省图书馆的智能管理系统实现了从图书借阅到阅览区监管的全流程管理。在自助借阅区,智能识别终端采集并存储图书的ISBN码、借阅时间等数据,同步上传至服务器;在阅览监控区,智能摄像头实时捕捉读者的不当行为(如饮食),并通过电子屏显示警告标语,同时将违规记录发送至服务器。下列关于该信息系统中硬件和软件的说法,正确的是( )
A. 提高电子屏屏幕分辨率可以提升服务器的性能 B. 智能摄像头和服务器属于该系统中的硬件
C. 该图书智能管理系统是系统软件 D. 系统的软件升级仅指增加新功能
6. 某算法的部分流程图如图所示。执行这部分流程,输入s的值为"0001111001",则输出n的值为( )
A. 1 B. 2 C. 3 D. 4
7. 某完全二叉树的中序遍历为a+b/c*d-e,则其后序遍历是( )
A. */-+cdeab B. */+abc-de C. ab+c/de-* D. abc/+de-*
8. 队列que中队首至队尾元素依次为“A,B,C,D,E,F”,栈st初始为空,约定:Q为出队操作,R为出队后入栈操作,S为出栈后入队操作,经过QRQRSS系列操作后,队列中队首至队尾的元素依次为( )
A. EF,A,C B. E,F,C,A C. E,F,B,D D. E,F,D,B
9. 某二分查找算法的Python程序段如下:
i=0;j=len(a)-1
n=0
while i<=j:
m=(i+j)//2
n+=1
if key<=a[m]:
j=m-1
else:
i=m+1
若列表a为[1,2,2,3,4,4,5,6],需查找的key为2,则执行该程序段后,n的值为( )
A. 1 B. 2 C. 3 D. 4
10. 使用列表a模拟链表结构(节点数n>0),每个节点包含数据区域和指针区域,head为头指针。现要删除链表中数据区域值为x的所有节点,实现上述功能的Python程序段如下,划线处应填入的正确代码为( )
p=head
while p!=-1:
if a[p][0]==x:
if p==head:
head=a[head][1]
else:
①
else:
②
p=a[p][1]
A. ①a[r][1]=a[p][1] ②r=p B. ①r=p ②a[r][1]=a[p][1]
C. ①a[p][1]=a[r][1] ②p=r D. ①p=r ②a[p][1]=a[r][1]
11. 有如下Python程序段:
def fun(x):
c="0123456789ABCDEF"
if x<16:
return c[x]
return fun(x//16)+c[x%16]
执行语句r=fun(31),变量r的值是( )
A. "10F" B. "F10" C. "1F" D. "F1"
12. 有如下Python程序段:
import random
a=[0]*6
for i in range(6):
a[i]=random.randint(1,9)
if i%2==0:
a[i]+=a[i]%2
elif a[i]%2==1:
a[i]*=2
执行该程序段后,列表a的值可能是( )
A. [10,4,8,18,6,2] B. [3,4,6,10,8,14] C. [2,16,4,6,10,4] D. [8,7,8,6,10,10]
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某工业车间配备CO浓度监测系统,可定时采集3个不同监测点的CO浓度,但采集顺序不固定。每分钟采集的数据格式记为[[m1,n1],[m2,n2],[m3,n3]],m、n分别为监测点的名称和CO浓度值,其中监测点名称为"a"、"b"、"c",如["a",50]表示监测点a的CO浓度值为50。
现要编写程序,每隔1分钟采集并检测CO浓度,若数值为0或超出传感器量程(最大量程为200ppm),则传感器失效,程序停止。若同一监测点连续3次浓度超过安全阈值(如低于20ppm或高于50ppm),则发送报警信息。请回答下列问题:
(1)监测点a、b、c超过安全阈值的次数分别存放在cnt[0]、cnt[1]、cnt[2]中。若前2分钟采集到的数据为[["c",16],["a",54],["b",27]]和[["b",28],["c",18],["a",30]],则cnt[2]的值为______(填数字)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
n=3;L=20;H=50
cnt=[0]*n
flag=True
while flag:
#将每分钟采集到的监测点数据存入cv中,代码略
for i in①___:
k=ord(cv[i][0])-97
if②___:
print("监测点",cv[i][0],"传感器失效")
flag=False
elif cv[i][1]<L or cv[i][1]>H:
cnt[k]+=1
if cnt[k]>=3:
print("监测点",cv[i][0],"异常")
else:
③___
sleep(60*1000) #延时1分钟
14. 某校使用智慧食堂系统实现从选餐到支付的智能化管理。食堂在盛菜碗碟中植入电子标签,并在系统中设定每个电子标签对应的菜品信息。师生将选好菜品的餐盘放在结算台的指定区域内,系统自动读取电子标签信息,结账软件快速完成餐品金额计算,系统支持刷脸、校园一卡通支付。各窗口结算台的数据传输至Web服务器,存储于数据库。
(1)该系统读取电子标签信息过程中,所使用的技术是______(单选,填字母)。
A.网络技术 B.射频识别 C.人工智能 D.红外线扫描
(2)下列关于该系统中数据管理的说法,正确的是______(单选,填字母)。
A.数据无法从服务器端传输至结算台 B.该系统的数据和程序都应存储在结算台中
C.查看学生消费历史数据需要访问数据库 D.餐品金额的计算只能在服务器端完成
(3)数据安全措施合理的是______(多选,填字母)。
A.人脸数据加密存储 B.只保存当天的消费记录
C定时自动备份交易日志 D.非营业时段关闭防火墙
(4)该系统服务器端程序采用Flask Web框架编写,结算台的IP地址是192.168.10.200,端口号为5050,服务器的IP地址是192.168.10.10,端口号为8080,网站功能页面规划,如下表所示:
序号
访问地址
功能说明
1
/
主页
2
/room
餐厅管理
3
/class
菜品管理
4
/input?id=20230101&money=8
提交学生卡号和消费金额
5
……
……
若要进行餐厅管理,可在相应的子页面中进行操作,则访问该子页面的地址是http://______。
(5)将系统中9月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出三个食堂午餐消费总额(如图b所示)。
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df1= ①
df1= ②
df2= ③
print(df2)
①②③处应填入的语句依次为______(选3项,填字母序列)
A.df1.groupby("食堂名称",as_index=False)["消费金额"].sum() #分组求和
B.df1.groupby("食堂名称",as_index=False)["消费金额"].count()
C.df.sort_values("消费金额",ascending=False) #降序排序
D.df1.sort_values("消费金额",ascending=False)
E.df[df["消费类型"]=="午餐"] #筛选
F.df1[df1.消费类型=="午餐"]
15. 某公司有n个部门,每个部门有若干名员工。公司从所有员工中选拔s名优秀员工参加年度表彰大会。选拔规则如下:将s均分成n份,取整后得w人,剩余名额为s-n×w。将所有员工按绩效成绩为主关键字降序,出生日期为次关键字升序进行排序(该公司不存在同年同月同日出生的员工)。每个部门的前w名员工直接入选,剩余名额按照排序的结果进行递补。
给定所有员工的绩效数据表,每位员工的数据包含部门编号(0~n-1)、员工编号、绩效成绩、出生日期。编写程序,按上述规则选拔优秀员工,并按顺序输出选拔结果。
请回答下列问题:
(1)如下表所列数据,若n、s分别为3和4,则0182号员工是否入选______(选填:是/否)。
部门编号
0
0
1
1
2
2
员工编号
0012
0182
1008
1208
2002
2071
绩效成绩
93
85
91
85
72
61
出生日期
1985/3/25
1987/7/1
1977/11/10
1987/6/3
1981/4/6
1985/12/1
(2)定义如下proc1(data)函数,函数功能将出生日期的格式转为“yyyyMMdd”8位数字字符。
def proc1(data):
for i in range(len(data)):
s=data[i][3]
n=
yyyy=s[:4]
MM=s[5:n]
dd=s[n+1:]
if len(MM)==1:
MM="0"+MM
if len(dd)==1:
dd="0"+dd
data[i][3]=yyyy+MM+dd
加框处代码用于获取字符串s中最后一个"/"字符的下标,则应选______(单选,填字母)。
注:x.find(y)返回字符串x中子串y出现的首字符下标,若找不到,则输出-1。例如:"Hello!".find("llo")结果为2
A.len(s)-s[::-1].find("/") B.len(s)-s[::-1].find("/")-1
C.len(s)-s.find("/") D.len(s[::-1])-s.find("/")-1
(3)定义如下proc2(data)函数,函数功能将数据按绩效成绩为主关键字降序,出生日期为次关键字升序进行排序。
def proc2(data):
n=len(data)
for i in range(1,n):
for j in range(0,n-i):
if :
data[j],data[j+1]=data[j+1],data[j]
加框处代码用于实现主、次关键字排序,则应选______(单选,填字母)。
A.data[j][2]<data[j+1][2] or data[j][2]==data[j+1][2] and data[j][3]>data[j+1][3]
Bdata[j][2]>data[j+1][2] or data[j][2]==data[j+1][2] and data[j][3]<data[j+1][3]
C.data[j][2]<data[j+1][2] or data[j][2]==data[j+1][2] or data[j][3]>data[j+1][3]
D.data[j][2]>data[j+1][2] or data[j][2]==data[j+1][2] or data[j][3]<data[j+1][3]
(4)主程序的部分Python程序如下,请在划线处填入合适的代码。
’’’
读取n、s;读取员工数据存入data列表,每个元素包含部门编号、员工编号、绩效成绩、出生日期,代码略
’’’
proc1(data)
proc2(data)
w=s//n
x=s%n
r=[0]*n
head=tail=-1
for i in range(len(data)):
k=data[i][0]
①___
if r[k]<=w or x>0:
data[i].append(-1)
if head==-1:
head=i
else:
data[tail][4]=i
tail=i
if r[k]>w:
②___
p=head
while p!=-1:
print(data[p][1],end="")
p=data[p][4]
第1页/共1页
学科网(北京)股份有限公司
$$