内容正文:
2025学年第二学期教学质量监测试卷
高二技术
注意事项:
1.本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
2.选择题的答案须用2B铅笔将答题纸上对应的题目标号涂黑,非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内。作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。答案写在试题卷上无效。
第一部分 信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有
一个是符合题目要求的,不选、错选、多选均不得分)
阅读下列材料,完成下面小题:
某市开通了无人机物流配送系统。该系统依托北斗导航,根据天气、订单等多源数据,规划最优配送路线,并实时记录无人机的飞行轨迹,支持用户查询路线动态,提升了偏远地区的物资配送效率。
1. 关于该系统中数据和信息的叙述,正确的是( )
A. 配送订单数据仅存储在无人机中
B. 配送路线只能通过文字的形式呈现
C. 处理无人机飞行轨迹数据过程中不会有新的信息产生
D. 通过数据分析提升物资配送效率,体现了数据的价值性
2. 下列关于系统安全与信息社会责任的做法,不合理的是( )
A. 对敏感数据加密存储,降低泄露风险 B. 定期扫描漏洞,提升系统安全性
C. 为方便应对紧急配送任务,预留系统后门 D. 收集用户位置数据前,明确告知并获得授权
【答案】1. D 2. C
【解析】
【1题详解】
本题考查数据与信息的特征。配送订单数据会存储在系统服务端等多个位置,并非仅存储在无人机中,该选项错误;配送路线可通过电子地图、文字等多种形式呈现,并非只能通过文字呈现,该选项错误;处理飞行轨迹数据时,可分析得到路线优化方案、飞行状态评估等新信息,该选项错误;通过分析多源数据优化配送,提升了配送效率,体现了数据能够产生实际效用,具备价值性,该选项正确。故答案为:D。
【2题详解】
本题考查系统安全与信息社会责任。对敏感数据加密存储,能有效降低数据泄露风险,做法合理;定期扫描系统漏洞,及时修复可以提升系统安全性,做法合理;为应对紧急任务预留系统后门,会给系统带来极大的入侵风险,严重危害系统安全,做法不合理;收集用户位置数据前明确告知并获得用户授权,符合个人信息保护的要求,做法合理。故答案为:C。
阅读下列材料,完成下面小题:
某市升级了“智慧停车管理系统”。停车位旁的智能终端通过摄像头全天候采集视频流,自动抓拍后识别车牌号码上传至服务器。车辆驶离时,服务器会自动计算停车费,并通过网络向车主手机APP推送扣费通知。服务器还能实时统计各路段的空余车位数据,并发布在APP和路口的电子屏上。
3. 下列关于该停车管理系统的组成与功能的说法,不正确的是( )
A. 该停车管理系统属于系统软件 B. 车主可以通过手机APP查询车位数据
C. 停车费用由服务器加工处理后产生 D. 车主和系统后台维护人员都属于该系统的用户
4. 摄像头抓拍了一张24位真彩色的未经压缩图像。下列关于该图像的说法,正确的是( )
A. 采集图像的过程是将数字信号转换为模拟信号 B. 每个像素点的颜色最多有24种可能
C. 图像的存储容量与图像内容无关 D. 为减少图像的存储容量,可以保存为BMP格式
5. 该系统识别车牌号码是基于神经网络算法实现的,下列说法正确的是( )
A. 该系统能通过与环境的交互反馈自动提升识别能力
B. 车牌识别模型的训练需要大量的车牌图像数据
C. 该系统识别车牌的准确率取决于服务器的存储容量
D. 该系统只能识别出在模型训练阶段出现过的车牌号码
6. 关于该系统网络技术的分析,下列说法正确的是( )
A. 系统必须通过无线局域网向车主手机APP推送扣费通知
B. RFID技术可以用于智能终端接入互联网
C. 智能终端上传车牌信息需要知道服务器的IP地址
D. 服务器向电子屏发布车位数据的过程不需要遵循网络协议
【答案】3. A 4. C 5. B 6. C
【解析】
【3题详解】
本题考查信息系统的分类与功能相关知识。该停车管理系统是针对停车管理业务开发的应用软件,不属于系统软件;服务器会将空余车位数据发布在手机APP上,因此车主可以通过手机APP查询车位数据;车辆驶离后,停车费是由服务器计算加工后得到的;车主使用系统获取停车、缴费服务,后台维护人员负责系统运维,二者都属于该系统的用户。本题要求选择不正确的说法。故答案为:A。
【4题详解】
本题考查图像数字化与图像存储相关知识。摄像头采集图像的过程是将光学模拟信号转换为数字信号;24位真彩色每个像素点的颜色共有2^24种可能,不是24种;未经压缩的图像存储容量由分辨率、颜色位数决定,和图像内容无关;BMP是无压缩的图像格式,存储容量大,不能减少存储容量。因此只有对应选项说法正确。故答案为:C。
【5题详解】
本题考查神经网络算法相关知识。基于神经网络的车牌识别模型,训练过程需要大量的车牌图像数据作为样本;训练完成的模型不会自动通过交互反馈提升识别能力,需要人工训练优化;识别准确率取决于模型结构、训练数据的质量规模,不由服务器存储容量决定;该模型可以识别训练阶段未出现过的车牌号码,不需要提前见过所有车牌。因此只有对应选项说法正确。故答案为:B。
【6题详解】
本题考查网络通信技术相关知识。系统可以通过移动数据网络推送扣费通知,不是必须通过无线局域网;RFID是射频识别技术,主要用于标识识别,无法用于智能终端接入互联网;智能终端和服务器建立通信,需要知道服务器的IP地址;所有网络通信过程都必须遵循对应网络协议。因此只有对应选项说法正确。故答案为:C。
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放1, 1, 2, 7, 8, 2, 3, 4,执行这部分流程后,输出p的值为( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查对算法流程图的执行分析能力。初始p=1,i=1,n=8,数组a依次为1, 1, 2, 7, 8, 2, 3, 4。
第一步,i=1小于8,a[1]不大于a[0],p重置为1,i变为2;
第二步,i=2小于8,a[2]大于a[1],p变为2,i变为3;
第三步,i=3小于8,a[3]大于a[2],p变为3,i变为4;
第四步,i=4小于8,a[4]大于a[3],p变为4,i变为5;
第五步,i=5小于8,a[5]不大于a[4],p重置为1,i变为6;
第六步,i=6小于8,a[6]大于a[5],p变为2,i变为7;
第七步,i=7小于8,a[7]大于a[6],p变为3,i变为8;
第八步,i=8不小于8,循环结束输出p,最终p的值为3,对应第二个选项。故答案为:B。
8. 某长度为3的栈初始为空。元素入栈的顺序为“甲”“乙”“丙”“丁”“戊”,经过若干次入栈、出栈操作后,栈底到栈顶元素依次为“甲”“丙”“丁”,则下一次栈的操作可能为( )
A. “戊”入栈 B. “乙”入栈 C. “甲”出栈 D. “丁”出栈
【答案】D
【解析】
【详解】本题考查栈的基本操作规则。栈遵循后进先出规则,仅允许操作栈顶元素,且本题栈的最大容量为3,当前栈中已有甲、丙、丁共3个元素,栈已满,无法再进行入栈操作,因此“戊”入栈、“乙”入栈都不可能;甲位于栈底,不是栈顶元素,不能直接出栈,因此“甲”出栈也不可能;丁是当前栈顶元素,可以进行出栈操作,该操作符合规则。故答案为:D。
9. 某完全二叉树有A、B、C、D、E、F六个节点,部分结构如图所示,则该二叉树的中序遍历序列可能为( )
A. DBEACF B. DBEAFC C. BCADFE D. FEDBAC
【答案】B
【解析】
【详解】本题考查完全二叉树的性质和二叉树的中序遍历规则。由图中可知C没有右孩子。中序遍历规则是:左子树 → 根 → 右子树,故中序遍历序列最后一个一定是C。整棵树的中序遍历顺序为:B子树的中序 → A → C子树的中序,B子树共3个结点,因此A一定是整个序列第4个结点,由此直接排除A(A在第4位但结尾是F)、C(A在第3位)、D(A在第5位)。故答案为:B。
10. 有如下Python程序段:
i = 0 ; j = 7 ; c = 0
while i <= j:
m = (i+j)//2 #语句1
c = c+1
if a[m] <= key:
i = m+1
else:
j = m-1
数组元素a[0]~a[7]为升序排列,key为数组a中的元素,运行程序后,变量c的值为4,将语句1改为“m = (i+j+1)//2”后运行程序,c的值可能是( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查二分查找的运行过程分析。原程序使用向下取整取中间值m = (i+j)//2,题目说明运行后c=4,即进入了4次循环。初始i=0,j=7,第一次m=3:若key在左区间[0,2],最终只会进入3次循环,c=3,不符合要求,因此key一定在右区间[4,7]。 第二次i=4,j=7,m=5:若key在[4,5],最终只会进入3次循环,c=3,不符合要求,因此key只能在[6,7],符合原c=4的条件。计算修改取中方式后的c值 修改为向上取整m = (i+j+1)//2,分别计算两种key的结果:
key在索引6:
第1次:i=0,j=7,m=4,a[4]<=key→i=5,c=1
第2次:i=5,j=7,m=6,a[6]<=key→i=7,c=2
第3次:i=7,j=7,m=7,a[7]>key→j=6,循环结束,c=3
key在索引7:
第1次:i=0,j=7,m=4,a[4]<=key→i=5,c=1
第2次:i=5,j=7,m=6,a[6]<=key→i=7,c=2
第3次:i=7,j=7,m=7,a[7]<=key→i=8,循环结束,c=3
因此修改后c的值只能是3,选B。
11. 甲、乙程序段均可对长度为n的数组d进行排序:
for i in range(1,n):
for j in range(1,n-i+1):
if d[j]>d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
for i in range(1,n):
for j in range(i,0,-1):
if d[j]>d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
甲程序段
乙程序段
下列对两个程序段的描述正确的是( )
A. 甲、乙程序段执行后数组元素的排序结果不相同
B. 甲、乙程序段执行后数组元素的比较次数不相同
C. 甲程序段执行一遍加工后,元素d[n-1]数值最小
D. 乙程序段执行一遍加工后,元素d[0]数值最大
【答案】C
【解析】
【详解】本题考查冒泡排序与插入排序的算法理解与分析。甲程序段是冒泡排序,交换规则为d[j]大于d[j-1]时交换,最终会将数组按降序排序;乙程序段是插入排序,交换规则和甲一致,最终排序结果同样为降序,因此二者最终排序结果相同,第一个选项错误。最坏情况下,甲和乙总的元素比较次数都为n(n-1)/2,比较次数可以相同,因此第二个选项错误。甲程序段执行一遍加工(完成一次外层i循环)时,更小的元素会在每次比较交换中逐步后移,第一遍加工结束后,最小元素会移动到数组末尾的d[n-1]位置,因此d[n-1]数值最小,第三个选项正确。乙程序段执行一遍加工仅处理前i+1个元素,只能保证前i+1个元素有序,无法将整个数组的最大元素移动到d[0]位置,因此第四个选项错误。故答案为:C。
12. 有如下Python程序段:
h = 0
for i in range(1, len(d)):
q = -1 ; p = h
while p!=-1 and d[p][0]<=d[i][0]:
q = p
p = d[p][1]
if q != -1:
d[q][1] = i
else:
h = i
若d为[[3,-1],[1,-1],[5,-1],[2,-1],[6,-1]],运行该程序段后,d[h][1]的值为( )
A. -1 B. 2 C. 3 D. 4
【答案】C
【解析】
【详解】本题考查Python循环语句的执行逻辑与链表插入操作的理解。初始h=0,d的长度为5,循环中i依次取1、2、3、4。
i=1时,d[i][0]=1,p=h=0,判断d[0][0]=3≤1不成立,q保持-1,因此执行h=1。
i=2时,d[i][0]=5,p=h=1,d[1][0]=1≤5成立,q更新为1,p变为d[1][1]=-1,循环结束,修改d[1][1]=2。
i=3时,d[i][0]=2,p=h=1,d[1][0]=1≤2成立,q更新为1,p变为d[1][1]=2,判断d[2][0]=5≤2不成立,循环结束,修改d[1][1]=3。
i=4时,d[i][0]=6,p=h=1,d[1][0]=1≤6成立,q更新为1,p变为d[1][1]=3,d[3][0]=2≤6成立,q更新为3,p变为d[3][1]=-1,循环结束,修改d[3][1]=4。循环结束后h为1,d[h][1]即d[1][1]的值为3。故答案为:C。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某工厂定时采集设备运行电流数据,并根据电流安全阈值m动态更新预警指示灯颜色,预警指示灯亮灯规则如下:
①若当前时刻及其前连续k-1个时刻(共k个时刻)的电流数据均大于阈值m,且呈持续上升趋势,则该时刻亮红灯;
②如果当前时刻的电流数据未超过安全阈值,则该时刻亮绿灯;
③如果当前时刻的电流数据不属于上述两种情况,则该时刻亮黄灯。
请回答下列问题:
(1)若采集的数据依次为“17, 12, 11, 8, 10, 12, 15, 19, 27, 9, 10”,m=10,k=3,则预警指示灯亮红灯的时刻数量为________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
#获取电流安全阈值m与k的值,代码略
pre =-1
while True:
# 获取电流数据保存到变量newt中,代码略
if newt < m:
code = 0
elif pre > m and ______:
c += 1
if c >= k:
code = 2
else:
______
else:
code = 1
c = 1
______
#根据变量code更新指示灯颜色,代码略
【答案】(1)2 (2) ①. newt > pre ②. code = 1 ③. pre = newt
【解析】
【详解】本题考查程序逻辑分析与Python条件分支应用能力。
(1)已知数据序列为17, 12, 11, 8, 10, 12, 15, 19, 27, 9, 10,m=10,k=3,需要满足当前及前连续共k个时刻电流均大于m且持续上升,经排查,满足条件的时刻为第八个时刻(12,15,19)和第九个时刻(15,19,27),共2个。
(2)代码中pre存储上一个时刻的电流,c存储连续满足条件的个数,第一个划线处已经确定newt大于等于m,要求pre大于m且当前电流大于前一个电流满足上升,因此填newt > pre;第二个划线处,当c小于k不满足红灯条件,此时属于黄灯情况,因此赋值code = 1;第三个划线处,处理完当前电流后,需要更新pre为当前电流供下一次判断,因此填pre = newt。
14. 某兴趣小组搭建社区空气质量监测系统,在四个区域A~D分别设置监测点。每个监测点采用智能终端连接空气质量传感器,每分钟采集1次PM2.5数据,并通过无线通信方式将数据传输至服务器,存储在数据库中。服务器根据设定的阈值判断出空气质量异常后,通过智能终端控制指示灯闪烁预警。管理员可通过浏览器查看系统数据。请回答下列问题:
(1)设计系统开发方案时采用“B/S架构”,该架构不需要编写________(单选,填字母)。
A. 智能终端程序 B. 服务器端程序 C. 客户端程序
(2)若要同步监测各区域的温度数据,新接入的温度传感器应连接在________(单选,填字母)。
A. 各监测点的智能终端 B. 用户终端 C. 服务器端
(3)系统开始运行后,区域A的指示灯正常预警,而区域B的指示灯始终未预警。引发此现象的原因可能是________(多选,填字母)。
A. 区域B的空气质量传感器故障 B. 区域B的指示灯故障
C. 系统服务器故障 D. 系统阈值设置不合理
(4)系统正常运行一段时间后,管理员发现各区域的PM2.5值变化平缓。为了降低数据传输和服务器存储的压力,请你任选一个角度给出具体的改进建议。
(5)将系统中5月的数据导出到文件data.xlsx中,部分数据如图a所示,其中“预警”列的值为0表示未发生预警,1表示发生预警。输出该月区域A的日预警次数最高的5天(如图b所示)并绘制图表。
Ⅰ.实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
df = pd.read_excel("data.xlsx")
______
______
______
#重命名dfr中"预警"列名称为"预警次数",代码略
print(dfr) #输出该月区域A的日预警次数最高的5天
plt.bar(dfr.日, dfr.预警次数)
#设置绘图参数,显示图表,代码略
程序中①②③处可选的代码有:( )
A. dfr = df[df.区域=="A"]
B. dfr = df[df[区域]=="A"]
C. dfr = dfr. sort_values("预警", ascending=True). tail(5) #升序排列
D. dfr = dfr. sort_values("预警", ascending=False). head(5) #降序排列
E. dfr = dfr. groupby("日", as_index=False).预警. sum()
F. dfr = dfr. groupby("日", as_index=False).预警. count()
Ⅱ.根据程序绘制出的图表是________(单选,填字母)。
A. B.
【答案】(1)C (2)A (3)AB
(4)修改智能终端程序,当PM2.5数据发生变化时才进行上传操作或修改服务器端程序,当PM2.5数据发生变化时才进行存储操作或数据压缩后进行上传/存储操作或增加传输时间间隔 或 其他合理答案
(5) ①. A ②. E ③. D ④. B
【解析】
【小问1详解】
本题考查B/S架构的基本特点。B/S架构是浏览器/服务器架构,用户访问服务只需要通用的浏览器,不需要开发专门的客户端程序,开发工作主要集中在服务器端,因此该架构不需要编写客户端程序。故答案为:C。
【小问2详解】
本题考查物联网系统的硬件连接规则。本题中每个监测点的传感器都连接到对应监测点的智能终端,由智能终端完成数据采集后上传服务器,因此新接入的温度传感器应当连接在各监测点的智能终端。故答案为:A。
【小问3详解】
本题考查物联网系统的故障分析。区域A可以正常预警,说明系统整体的服务器工作正常,排除服务器故障,整体阈值设置不合理也会导致A无法预警,因此也排除该可能;区域B始终不预警,可能是区域B的空气质量传感器故障无法采集到正确数据,也可能是区域B的指示灯本身硬件故障无法执行预警动作,两种情况都符合该现象。故答案为:AB。
【小问4详解】
本题考查监测系统的优化方法。原系统每分钟采集一次数据,而PM2.5值变化平缓,可从多种角度优化:可以延长数据采集和传输的时间间隔,比如改为每5分钟采集传输一次;也可以修改程序逻辑,仅当PM2.5数值发生变化时才上传存储数据;还可以将数据压缩后再进行传输和存储,都可以达到降低传输和存储压力的目的,合理即可。
【小问5详解】
本题考查Python中pandas库的数据处理操作。读取excel数据后,第一步需要筛选出区域为A的数据,正确的pandas筛选语法是dfr = df[df.区域=="A"],因此①选A;接下来需要按日分组统计每日的预警总次数,预警为1表示发生预警,0表示未发生,因此需要对预警列按日分组求和,对应代码是dfr = dfr. groupby("日", as_index=False).预警. sum(),因此②选E;最后需要筛选出日预警次数最高的5天,因此需要按预警次数降序排列,取前5条数据,对应代码是dfr = dfr. sort_values("预警", ascending=False). head(5),因此③选D。本题考查数据排序后的结果与图表的对应。降序取前5天后,数据的排列顺序为:5日、8日、7日、9日、6日,预警次数依次降低,条形图的x轴顺序和该顺序一致,对应选项B。
15. 某列车售票系统可以处理线上APP和线下售票机两个渠道的旅客购票订单。某趟列车共停靠n个站点(编号0到n-1),列车内共有m个座位(编号0到m-1)。旅客购买出发站s到到达站e的车票时,系统需为其分配一个固定座位,且该座位在s到e-1之间的所有站点均为空闲状态。系统分配座位规则如下:
①按座位编号从小到大寻找首个满足条件的座位进行分配。
②若全车无符合条件的可用座位,则提示该趟列车无余票。
编写程序模拟上述过程,先合并两个渠道的购票订单,然后按顺序为每个订单分配座位。请回答下列问题:
订单编号
提交时间
出发站
到达站
A01
1
0
2
A02
2
2
4
B01
4
1
5
B02
11
4
5
A03
12
0
3
图a
(1)若某趟列车停靠6个站点,列车内共有500个座位,全车座位均为空闲状态。系统依次收到如图a所示的5个购票订单,按照系统分配座位规则,依次处理完这5个订单后,订单A03被分配到的座位编号是________。
(2)定义merge(ods1, ods2)函数,ods1和ods2列表中每个元素表示一个购票订单,由订单编号、提交时间、出发站和到达站4项构成,均已按提交时间升序排序。函数的功能是将两个列表中的元素按提交时间升序合并后返回。
def merge(ods1, ods2):
res = []
i, j = 0, 0
while i < len(ods1) or j < len(ods2):
if j == len(ods2) or ________:
res. append(ods1[i])
i += 1
else:
res. append(ods2[j])
j += 1
return res
①划线处应填入的代码为________(单选,填字母)。
A. j < len(ods2) and ods1[i][1] <= ods2[j][1]
B. i < len(ods1) and ods1[i][1] <= ods2[j][1]
C. i < len(ods1) or ods1[i][1] <= ods2[j][1]
②调用merge(ods1, ods2)函数,若ods1为[["A01",1,1,3], ["A02",3,1,5]],ods2为[["B01",2,2,4], ["B02",4,3,5]],当res列表添加完3个订单后,变量j的值是________。
(3)系统逐条处理购票订单,根据订单的出发站和到达站,分配空闲的座位。实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
def proc(orders, n, m):
sta = [ ]
for i in range(m):
tmp = [ ]
for k in range(n):
tmp. append(n - 1 - k)
sta. append(tmp)
# sta[i][k]记录了第i个座位,从第k站开始连续处于空闲状态的站点数,
# 站点数不含编号为n-1的终点站
for i in range(len(orders)):
s = orders[i][2]
e = orders[i][3]
r = e - s
seat =- 1
for j in range(m):
if sta[j][s] >= r:
______
break
#若分配成功,更新该座位连续空闲站点数的状态
if seat !=- 1:
for j in range(s, e):
______
for k in range(s - 1, -1, -1):
if sta[seat][k] > s - k:
______
else:
break
# 记录分配的座位号seat并输出,代码略
else:
# 输出暂无余票的提示,并推荐其他车次,代码略
’’’
读取2个渠道的订单数据,分别存入列表data1和data2中。2个列表的每个元素包含4个数据项,分别对应订单的编号、提交时间、出发站和到达站。data1和data2中的数据已分别按提交时间升序排列,代码略
读取站点总数和列车座位总数分别存入n和m,代码略
’’’
orders = merge(data1, data2)
proc(orders, n, m)
【答案】(1)2 (2) ①. B ②. 1
(3) ①. seat = j ②. sta[seat][j] = 0 ③. sta[seat][k] = s - k
【解析】
【详解】本题考查Python程序设计与逻辑分析能力,包含有序列表合并算法、座位分配规则模拟、代码补全。
(1)订单按提交时间排序后顺序为A01、A02、B01、B02、A03,按照分配规则从小到大找可用座位,A01分配座位0,A02复用座位0,B01分配座位1,B02复用座位0,A03需要0出发的3个连续空闲站点,座位0、1均不满足,首个满足的是座位2,因此A03的座位编号为2。
(2)①:merge是两个有序列表的合并,判断条件要满足i还有未处理元素,且ods1当前元素提交时间小于等于ods2的,因此选B。②模拟合并过程,添加完3个订单后,j的值为1。
(3)④找到满足条件的座位j,需要将座位号赋值给seat,因此填seat = j;⑤分配后s到e区间的站点已被占用,对应位置连续空闲数设为0,因此填sta[seat][j] = 0;⑥向前更新空闲站点数,将符合条件的k位置空闲数更新为s - k,因此填sta[seat][k] = s - k。
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第二学期教学质量监测试卷
高二技术
注意事项:
1.本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
2.选择题的答案须用2B铅笔将答题纸上对应的题目标号涂黑,非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内。作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑。答案写在试题卷上无效。
第一部分 信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有
一个是符合题目要求的,不选、错选、多选均不得分)
阅读下列材料,完成下面小题:
某市开通了无人机物流配送系统。该系统依托北斗导航,根据天气、订单等多源数据,规划最优配送路线,并实时记录无人机的飞行轨迹,支持用户查询路线动态,提升了偏远地区的物资配送效率。
1. 关于该系统中数据和信息的叙述,正确的是( )
A. 配送订单数据仅存储在无人机中
B. 配送路线只能通过文字的形式呈现
C. 处理无人机飞行轨迹数据过程中不会有新的信息产生
D. 通过数据分析提升物资配送效率,体现了数据的价值性
2. 下列关于系统安全与信息社会责任的做法,不合理的是( )
A. 对敏感数据加密存储,降低泄露风险 B. 定期扫描漏洞,提升系统安全性
C. 为方便应对紧急配送任务,预留系统后门 D. 收集用户位置数据前,明确告知并获得授权
阅读下列材料,完成下面小题:
某市升级了“智慧停车管理系统”。停车位旁的智能终端通过摄像头全天候采集视频流,自动抓拍后识别车牌号码上传至服务器。车辆驶离时,服务器会自动计算停车费,并通过网络向车主手机APP推送扣费通知。服务器还能实时统计各路段的空余车位数据,并发布在APP和路口的电子屏上。
3. 下列关于该停车管理系统的组成与功能的说法,不正确的是( )
A. 该停车管理系统属于系统软件 B. 车主可以通过手机APP查询车位数据
C. 停车费用由服务器加工处理后产生 D. 车主和系统后台维护人员都属于该系统的用户
4. 摄像头抓拍了一张24位真彩色的未经压缩图像。下列关于该图像的说法,正确的是( )
A. 采集图像的过程是将数字信号转换为模拟信号 B. 每个像素点的颜色最多有24种可能
C. 图像的存储容量与图像内容无关 D. 为减少图像的存储容量,可以保存为BMP格式
5. 该系统识别车牌号码是基于神经网络算法实现的,下列说法正确的是( )
A. 该系统能通过与环境的交互反馈自动提升识别能力
B. 车牌识别模型的训练需要大量的车牌图像数据
C. 该系统识别车牌的准确率取决于服务器的存储容量
D. 该系统只能识别出在模型训练阶段出现过的车牌号码
6. 关于该系统网络技术的分析,下列说法正确的是( )
A. 系统必须通过无线局域网向车主手机APP推送扣费通知
B. RFID技术可以用于智能终端接入互联网
C. 智能终端上传车牌信息需要知道服务器的IP地址
D. 服务器向电子屏发布车位数据的过程不需要遵循网络协议
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放1, 1, 2, 7, 8, 2, 3, 4,执行这部分流程后,输出p的值为( )
A. 2 B. 3 C. 4 D. 5
8. 某长度为3的栈初始为空。元素入栈的顺序为“甲”“乙”“丙”“丁”“戊”,经过若干次入栈、出栈操作后,栈底到栈顶元素依次为“甲”“丙”“丁”,则下一次栈的操作可能为( )
A. “戊”入栈 B. “乙”入栈 C. “甲”出栈 D. “丁”出栈
9. 某完全二叉树有A、B、C、D、E、F六个节点,部分结构如图所示,则该二叉树的中序遍历序列可能为( )
A. DBEACF B. DBEAFC C. BCADFE D. FEDBAC
10. 有如下Python程序段:
i = 0 ; j = 7 ; c = 0
while i <= j:
m = (i+j)//2 #语句1
c = c+1
if a[m] <= key:
i = m+1
else:
j = m-1
数组元素a[0]~a[7]为升序排列,key为数组a中的元素,运行程序后,变量c的值为4,将语句1改为“m = (i+j+1)//2”后运行程序,c的值可能是( )
A. 2 B. 3 C. 4 D. 5
11. 甲、乙程序段均可对长度为n的数组d进行排序:
for i in range(1,n):
for j in range(1,n-i+1):
if d[j]>d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
for i in range(1,n):
for j in range(i,0,-1):
if d[j]>d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
甲程序段
乙程序段
下列对两个程序段的描述正确的是( )
A. 甲、乙程序段执行后数组元素的排序结果不相同
B. 甲、乙程序段执行后数组元素的比较次数不相同
C. 甲程序段执行一遍加工后,元素d[n-1]数值最小
D. 乙程序段执行一遍加工后,元素d[0]数值最大
12. 有如下Python程序段:
h = 0
for i in range(1, len(d)):
q = -1 ; p = h
while p!=-1 and d[p][0]<=d[i][0]:
q = p
p = d[p][1]
if q != -1:
d[q][1] = i
else:
h = i
若d为[[3,-1],[1,-1],[5,-1],[2,-1],[6,-1]],运行该程序段后,d[h][1]的值为( )
A. -1 B. 2 C. 3 D. 4
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某工厂定时采集设备运行电流数据,并根据电流安全阈值m动态更新预警指示灯颜色,预警指示灯亮灯规则如下:
①若当前时刻及其前连续k-1个时刻(共k个时刻)的电流数据均大于阈值m,且呈持续上升趋势,则该时刻亮红灯;
②如果当前时刻的电流数据未超过安全阈值,则该时刻亮绿灯;
③如果当前时刻的电流数据不属于上述两种情况,则该时刻亮黄灯。
请回答下列问题:
(1)若采集的数据依次为“17, 12, 11, 8, 10, 12, 15, 19, 27, 9, 10”,m=10,k=3,则预警指示灯亮红灯的时刻数量为________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
#获取电流安全阈值m与k的值,代码略
pre =-1
while True:
# 获取电流数据保存到变量newt中,代码略
if newt < m:
code = 0
elif pre > m and ______:
c += 1
if c >= k:
code = 2
else:
______
else:
code = 1
c = 1
______
#根据变量code更新指示灯颜色,代码略
14. 某兴趣小组搭建社区空气质量监测系统,在四个区域A~D分别设置监测点。每个监测点采用智能终端连接空气质量传感器,每分钟采集1次PM2.5数据,并通过无线通信方式将数据传输至服务器,存储在数据库中。服务器根据设定的阈值判断出空气质量异常后,通过智能终端控制指示灯闪烁预警。管理员可通过浏览器查看系统数据。请回答下列问题:
(1)设计系统开发方案时采用“B/S架构”,该架构不需要编写________(单选,填字母)。
A. 智能终端程序 B. 服务器端程序 C. 客户端程序
(2)若要同步监测各区域的温度数据,新接入的温度传感器应连接在________(单选,填字母)。
A. 各监测点的智能终端 B. 用户终端 C. 服务器端
(3)系统开始运行后,区域A的指示灯正常预警,而区域B的指示灯始终未预警。引发此现象的原因可能是________(多选,填字母)。
A. 区域B的空气质量传感器故障 B. 区域B的指示灯故障
C. 系统服务器故障 D. 系统阈值设置不合理
(4)系统正常运行一段时间后,管理员发现各区域的PM2.5值变化平缓。为了降低数据传输和服务器存储的压力,请你任选一个角度给出具体的改进建议。
(5)将系统中5月的数据导出到文件data.xlsx中,部分数据如图a所示,其中“预警”列的值为0表示未发生预警,1表示发生预警。输出该月区域A的日预警次数最高的5天(如图b所示)并绘制图表。
Ⅰ.实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
df = pd.read_excel("data.xlsx")
______
______
______
#重命名dfr中"预警"列名称为"预警次数",代码略
print(dfr) #输出该月区域A的日预警次数最高的5天
plt.bar(dfr.日, dfr.预警次数)
#设置绘图参数,显示图表,代码略
程序中①②③处可选的代码有:( )
A. dfr = df[df.区域=="A"]
B. dfr = df[df[区域]=="A"]
C. dfr = dfr. sort_values("预警", ascending=True). tail(5) #升序排列
D. dfr = dfr. sort_values("预警", ascending=False). head(5) #降序排列
E. dfr = dfr. groupby("日", as_index=False).预警. sum()
F. dfr = dfr. groupby("日", as_index=False).预警. count()
Ⅱ.根据程序绘制出的图表是________(单选,填字母)。
A. B.
15. 某列车售票系统可以处理线上APP和线下售票机两个渠道的旅客购票订单。某趟列车共停靠n个站点(编号0到n-1),列车内共有m个座位(编号0到m-1)。旅客购买出发站s到到达站e的车票时,系统需为其分配一个固定座位,且该座位在s到e-1之间的所有站点均为空闲状态。系统分配座位规则如下:
①按座位编号从小到大寻找首个满足条件的座位进行分配。
②若全车无符合条件的可用座位,则提示该趟列车无余票。
编写程序模拟上述过程,先合并两个渠道的购票订单,然后按顺序为每个订单分配座位。请回答下列问题:
订单编号
提交时间
出发站
到达站
A01
1
0
2
A02
2
2
4
B01
4
1
5
B02
11
4
5
A03
12
0
3
图a
(1)若某趟列车停靠6个站点,列车内共有500个座位,全车座位均为空闲状态。系统依次收到如图a所示的5个购票订单,按照系统分配座位规则,依次处理完这5个订单后,订单A03被分配到的座位编号是________。
(2)定义merge(ods1, ods2)函数,ods1和ods2列表中每个元素表示一个购票订单,由订单编号、提交时间、出发站和到达站4项构成,均已按提交时间升序排序。函数的功能是将两个列表中的元素按提交时间升序合并后返回。
def merge(ods1, ods2):
res = []
i, j = 0, 0
while i < len(ods1) or j < len(ods2):
if j == len(ods2) or ________:
res. append(ods1[i])
i += 1
else:
res. append(ods2[j])
j += 1
return res
①划线处应填入的代码为________(单选,填字母)。
A. j < len(ods2) and ods1[i][1] <= ods2[j][1]
B. i < len(ods1) and ods1[i][1] <= ods2[j][1]
C. i < len(ods1) or ods1[i][1] <= ods2[j][1]
②调用merge(ods1, ods2)函数,若ods1为[["A01",1,1,3], ["A02",3,1,5]],ods2为[["B01",2,2,4], ["B02",4,3,5]],当res列表添加完3个订单后,变量j的值是________。
(3)系统逐条处理购票订单,根据订单的出发站和到达站,分配空闲的座位。实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
def proc(orders, n, m):
sta = [ ]
for i in range(m):
tmp = [ ]
for k in range(n):
tmp. append(n - 1 - k)
sta. append(tmp)
# sta[i][k]记录了第i个座位,从第k站开始连续处于空闲状态的站点数,
# 站点数不含编号为n-1的终点站
for i in range(len(orders)):
s = orders[i][2]
e = orders[i][3]
r = e - s
seat =- 1
for j in range(m):
if sta[j][s] >= r:
______
break
#若分配成功,更新该座位连续空闲站点数的状态
if seat !=- 1:
for j in range(s, e):
______
for k in range(s - 1, -1, -1):
if sta[seat][k] > s - k:
______
else:
break
# 记录分配的座位号seat并输出,代码略
else:
# 输出暂无余票的提示,并推荐其他车次,代码略
’’’
读取2个渠道的订单数据,分别存入列表data1和data2中。2个列表的每个元素包含4个数据项,分别对应订单的编号、提交时间、出发站和到达站。data1和data2中的数据已分别按提交时间升序排列,代码略
读取站点总数和列车座位总数分别存入n和m,代码略
’’’
orders = merge(data1, data2)
proc(orders, n, m)
第1页/共1页
学科网(北京)股份有限公司
$