内容正文:
2025学年第二学期高考模拟考
技 术
考生须知:
1.本卷满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场、座位号及准考证号并核对条形码信息;
3.所有答案必须写在答题卷上,写在试卷上无效,考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某智慧博物馆引入智能观展系统:参观者通过入口闸机刷身份证和人脸进入博物馆,手机扫描二维码后打开小程序,通过馆内蓝牙、无线AP定位并获取云端数据。参观者佩戴的AR(增强现实)眼镜通过内置摄像头采集文物图像,经AI图像识别后叠加显示文物的三维模型或讲解视频,并由数字人播报讲解相关文物信息。参观者的参观数据(路线、互动等)脱敏后,通过4G/5G上传至云端服务器。
1. 下列关于该系统中数据和信息的叙述,正确的是( )
A. 该系统中存储的数据量越大则其蕴含的信息价值就越高
B. 分析参观者的参观数据对博物馆没有价值
C. 文物图像经AI识别后叠加的三维模型属于数据
D. 存储在云端的数据都是结构化数据
2. 下列关于该系统组成的叙述,正确的是( )
A. AR眼镜仅是该系统的输入设备
B. AI图像识别程序是该系统的组成部分
C. 用于存储文物三维模型的计算机是软件
D. 系统后台维护人员不属于该系统的用户
3. 下列关于该系统功能与应用的叙述,不正确的是( )
A. 该系统具备数据采集与输入功能
B. 停电后系统无法正常运行体现了该系统的局限性
C. AI数字人涉及的语音合成技术属于人工智能技术
D. AR眼镜呈现的图像内容无需经过系统数据处理和传输
4. 下列关于该系统网络技术的分析,正确的是( )
A. 通过蓝牙发送位置信号不依赖任何网络协议
B. 参观者使用该系统各项功能均需采用移动通信技术
C. 该系统数据传输涉及多种传输介质
D. 参观者手机需与系统处于同一局域网才能使用系统功能
5. 下列对于提升该系统安全的做法,不合理的是( )
A. 将参观者的参观数据加密后传输
B. 定期自动备份该系统的数据库文件
C. 为不同身份的系统使用者设置不同的访问权限
D. 入口闸机直接显示参观者身份证号码供工作人员核对
6. 下列关于该系统中数据编码的叙述,不正确的是( )
A. 扫描并识别博物馆小程序的二维码是“解码”过程
B. 讲解视频存储容量仅与视频的分辨率有关
C. AI数字人的讲解音频在传输前无需转化为模拟信号
D. 对文物讲解音频进行压缩会改变其编码方式
【答案】1. C 2. B 3. D 4. C 5. D 6. B
【解析】
【详解】1. 本题考查数据、信息的基本概念,包括数据与信息的关系、数据价值、新数据产生以及结构化与非结构化数据的区分等。
选项A,数据量大≠信息价值高,甚至数据越多,价值可能越低。
选项B,分析观众的参观数据(如参观路径、互动频率),可用于优化展陈布局、提升服务质量,具有重要价值,故B错误。
选项C,数据是客观事物的符号表示,文物图像经AI识别后叠加的三维模型属于数据,故C正确。
选项D,云端存储的数据包括结构化数据(如观众ID、参观时间)和非结构化数据(如音频、三维模型),并非全部是结构化数据,故D错误。
因此,本题选择C选项。
2. 本题考查信息系统的组成,包括输入输出设备、系统组成要素、硬件软件的区分以及系统用户的定义。
选项A,AR眼镜既可以通过摄像头采集图像(输入),也可以叠加显示三维模型(输出),既是输入设备,也是输出设备,故A错误。
选项B,AI图像识别程序属于系统的重要组成部分,故B正确。
选项C,计算机是硬件设备,而非软件,故C错误。
选项D,系统后台维护人员是系统的重要用户,故D错误。
因此,本题选择B选项。
3. 本题考查信息系统的功能与应用,包括系统可扩展性、局限性、人工智能技术应用以及系统各功能间的关联。
选项A,该系统具备数据采集与输入功能,如参观者交互数据采集输入等,故A正确。
选项B,系统依赖外部环境,一旦供电异常则影响运行,体现了局限性,故B正确。
选项C,语音合成技术是人工智能技术的典型应用,故C正确。
选项D,AR眼镜呈现的图像内容,依赖系统对采集图像的AI识别、数据处理与传输,故D错误。
因此,本题选择D选项。
4. 本题考查网络技术的应用,包括网络协议、移动通信技术、传输介质以及局域网与广域网的使用场景。
选项A,蓝牙通信遵循蓝牙协议,并非不依赖任何网络协议,故A错误。
选项B,观众在馆内可以通过蓝牙、无线AP等技术使用系统功能,不仅仅是移动通信技术,故B错误。
选项C,系统数据传输包括:蓝牙、无线AP(无线介质)、有线网络(有线介质)、4G/5G(移动通信)等多种方式,故C正确。
选项D,观众手机可通过4G/5G直接连接云端,无需与系统在同一局域网,故D错误。
因此,本题选择C选项。
5. 本题考查信息系统的安全与,包括访问控制、硬件维护、个人信息保护以及数据加密技术。
选项A,加密可有效保护数据传输安全,故A合理。
选项B,定期自动备份数据,可以有效保障数据安全,故B合理。
选项C,为不同管理员设置不同权限,可降低数据泄露风险,提升安全性,故C合理。
选项D,直接显示参观者敏感信息,存在严重安全隐患,故D不合理。
因此,本题选择D选项。
6. 本题考查数据编码与数字化,包括二维码解码、视频存储、语音信号传输以及图像数字化的过程。
选项A,扫描二维码是将二维码图形信息“解码”为可识别的身份数据的过程,故A正确。
选项B,由动画视频存储容量公式可知,视频存储容量与画面分辨率(像素数量)、帧率、编码方式等有关,与画面亮度无关,故B错误。
选项C,语音信号在网络传输前无需转化为模拟信号,故C正确。
选项D,对讲解音频进行压缩,通常会改变数据的编码方式(如从WAV编码转为MP3编码),故D正确。
因此,本题选择B选项。
7. 某算法的部分流程图如图所示,若数组元素a[0]至a[5]依次存放x,37,y,64,75,96,其中x,y均为整数,满足x<37<y<64,执行这部分流程后,输出c的值为2,则key的取值范围为( )
A. x≤key<y B. key≤x or key=75 C. y<key≤7 D. key<37 or key>64
【答案】B
【解析】
【详解】本题考查流程图和二分查找算法。首先分析流程图,执行流程后输出c=2,说明查找过程共执行了2次比较。第一次mid值为2,a[2]等于y,因为还要继续寻找,故key!=y,第二次mid值可能是0,也可能是4,a[0]=x或者a[4]=75,到这里循环结束,考虑到a[0]左边已经不存在数了,若key<x,j=0-1=-1,也会结束循环,故综上key的取值范围是key<=x or key == 75,故答案选B。
8. 队列初始为空,字符"A","B","C","D","E","F"按某一初始顺序P依次入队,入队规则为:若队列为空,字符入队;否则字符入队后再将队首元素出队并再入队。所有字符入队完成后,队列从队首到队尾的字符顺序为CEAFDB,则在初始顺序P中,从1开始计数,排在第4个的字符为( )
A. C B. E C. F D. A
【答案】A
【解析】
【详解】本题考查学生对队列的理解以及逆推逻辑思维。
最后一次操作后得到序列CEAFDB,由题意推理可知操作前B为队首元素、D尚未入队,此时队列内元素顺序为BCEAF。以此类推,我们可以重复执行将队尾元素移至队首,再将新的队尾元素移出并放置在已移出元素的前面,直至队列为空,由此列出以下表格:
序号
队列结果
字符最初排列顺序推理
1
CEAFDB
2
BCEAF
D
3
FBCE
AD
4
EFB
CAD
5
BE
FCAD
6
E
BFCAD
7
EBFCAD
故第4个字符为C,答案选A。
9. 某二叉树存在某个叶节点在其前序遍历序列和中序遍历序列中的位置相同,则该二叉树的树形结构为( )
A. B. C. D.
【答案】D
【解析】
【详解】本题考查二叉树遍历操作。二叉树前序遍历为“根左右”,中序遍历为“左根右”。根的存在必定会影响根的左子树中叶节点在遍历序列中的位置,故满足在前序和中序遍历序列中的位置相同的叶节点只能是根的右子树的右叶节点,故答案选D。
10. 有如下程序段:
i, c, t=1,0,0
while i <= len(s)-1:
if s[i] <= s[i-1]:
c=c+ int(s[t:i])
t=i
i+=1
print(c)
若s为"142633189",执行该程序段后,c的值为( )
A. 43 B. 46 C. 73 D. 235
【答案】B
【解析】
【详解】本题考查字符串的相关操作。程序逐个遍历字符串中的字符,若当前字符s[i]小于或等于前一个字符时,从字符串s中截取出子串s[t:i](不包括字符s[i]),并将子串转变成整数后累加到c中,由此也可以看出切割出来的每个子串一定是一个递增序列,t是记录了每次切割子串的起始位置,故而本题c=14+26+3+3=46。本题需要注意的细节有两点,一是这两个3是否都需要取出来,由于if判断条件是取到等号的,故当i的位置到第2个3的位置时,也会触发切割子串和累加操作;二是最后的189是否会累加,由于9后面不存在小于等于9的数字,故不会触发字符串切割,故189不会累加。干扰项A的错误运算为14+26+3=43,只计算了一个3;干扰项C的错误运算为14+26+33=73,将两个3连起来计算;干扰项D的错误运算是14+26+3+3+189=235,错误地将189也累加进来。因此,本题选择B选项。
11. 有如下Python程序段:
stk=[0]* len(a)
top, sum _ val, min _ avg=-1,0,8
for i in a:
if top != -l and abs(i -stk[top]) < k: # abs函数求绝对值
sum _ val-= stk[top]
top-= 1
else:
top+= 1
stk[top]=i
sum _ val+=i
if top != -1:
avg= sum _ val/(top+1)
if avg < min _ avg:
min _ avg= avg
若a为[5,5,6,4,4,7,3,3,8,2],执行该程序段后,min _avg的值为3.0,则程序中k的值为( )
A. 0 B. 1 C. 2 D. 3
【答案】C
【解析】
【详解】本题本质上是逐个遍历列表a的元素并维护栈的过程。若列表a当前元素i与栈顶元素之差的绝对值小于k,则弹出栈顶,否则,将i压入栈。每次循环都计算当前栈内元素的平均值,并更新全局最小值min_ avg(空栈的平均值0不计入比较)。可见,k是一个阈值,控制着“相邻数字差多少才需要弹栈”。要得到min_ avg=3,必须保证整个过程中最小时刻平均值正好是3,并且没有比3更小的平均值(非零)。通过对列表a数据的模拟,发现k=2时,出现的那一刻栈内只有它自己,平均值=3,而之后栈的变化不会再得到更小的非零平均值。因此,本题选择C选项。
12. 有如下Python程序段:
def q(lst):
if len(lst) <= 1: #①
return lst
p= lst[0]
left, right=[],[]
for x in lst[1:]:
if x[0] <= p[0]: #②
left. append(x) #将元素 x放置在列表left的最末尾处
else:
right. append(x) #将元素x放置在列表right的最末尾处
return q(left)+[p]+q(right)
若a的值为[[7,0],[2,1],[9,2],[2,3],[5,4]],执行print(q(a))后,下列说法不正确的是( )
A. 该程序段运用了递归
B. 运行结果为[[2,3],[2,1],[5,4],[7,0],[9,2]]
C. 若把①处语句“<=”改成“<”,不会改变运行结果
D. 若把②处语句“<=”改成“<”,不会改变运行结果
【答案】D
【解析】
【详解】本题考查自定义函数和递归算法。列表a中的元素包括两个部分,一是数值,而是初始索引,程序实现思路为以列表第一个元素p[0]为基准值,遍历剩余元素x,满足满足x[0]<=p[0],放入左列表left;不满足,则放入右列表right,再利用递归对left和right列表进行拆分处理,直至子列表中最多只剩下一个元素,再进行拼接组合,实现升序排序,程序符合分治思想的核心:“分(拆分问题)、治(解决子问题)、合(合并结果)”,故A选项正确;程序运行结果为[[2,3],[2,1],[5,4],[7,0],[9,2]],故B选项正确;C选项中,“<=”改成“<”,相当于多执行一次递归运算,但不会影响最终结果;D选项中,若将“<=”改成“<”,会影响[2,1],[2,3]的前后顺序,故D选项不正确。
二、非选择题(本大题共3题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某火车站部署了网约车智能调度系统。系统在停车场、上客区等位置安装了多种传感器,例如,地磁传感器可以监测车位占用状态,具备车辆识别功能的摄像头可以跟踪车辆位置。传感器采集的数据,由智能终端通过5G网络上传至服务器。服务器对数据进行处理分析后,通过信号灯、引导屏发布调度指令,乘客可通过手机APP或候车区大屏查看车辆信息。请回答下列问题:
(1)关于该系统中数据流向的说法,正确的是 (单选)
A. 传感器采集到的网约车数据直接发送至候车大屏并显示
B. 服务器的调度指令数据最终可以控制信号灯硬件
(2)下列关于该系统中数据处理的说法,正确的是 (多选)
A. 智能终端可独立完成所有数据处理分析
B. 车牌识别只能在服务器上实现
C. 乘客APP上显示的车辆动态数据需要从服务器获取
D. 服务器可以对历史数据进行分析来生成合理调度策略
(3)某日,因施工意外导致服务器的网络中断,可能会导致的后果是 (多选)
A. 传感器无法采集车位、车辆位置等数据
B. 乘客无法通过APP查看网约车实时信息
C. 候车区大屏无车辆信息和调度指引更新
D. 信号灯、引导屏无法接收到新的调度指令
(4)除了网络中断,还存在其他影响系统正常运行的风险,请写出1种可能的风险及对应的防范措施。____
(5)将该系统上一年的车流数据导出到文件“data.xlsx”中,部分数据如图a所示。统计该年中总客流量最大的通道,并根据该信道月平均客流量最大的五个月份,绘制如图b所示的柱形图。
月份
日期
信道名称
信道客流量
1月
1日
东部城区通道
656
1月
1日
交通枢纽通道
1219
1月
1日
景区直达通道
445
1月
1日
商务区通道
405
1月
1日
市中心核心通道
1284
1月
2日
东部城区通道
407
1月
2日
交通枢纽通道
592
1月
2日
景区直达通道
276
图a
图b
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib. pyplot as plt
#设置图表字体,代码略
df= pd. read _ excel(" data. xlsx")
df1= ①____
df1=df1. sort _ values("通道客流量", ascending= False)
c=df1. at[0,"通道名称"]
df2= ②____
df3=df2. groupby("月份", as _ index= False). mean()
df3= ③____
df3=df3. tail(5)
plt. bar(df3.月份,df3.通道客流量)
plt. show()
程序中①②③处可选的代码有:
A.df.groupby("月份", as _ index=False).sum()
B.df.groupby("通道名称", as_ index=False).sum()
C.df[df.通道名称 == c]
D.df1[df1.通道名称 == c]
E.df3.sort_ values("通道客流量", ascending=False)
F.df3.sort_ values("通道客流量", ascending=True)
【答案】(1)B (2)CD (3)BCD
(4)风险:系统软件故障或病毒攻击,措施:安装防火墙与杀毒软件,定期备份数据;风险:服务器断电或硬件故障,措施:配置备用服务器或不间断电源(UPS)或其他合理答案,风险和措施需匹配。
(5) ①. B ②. C ③. F
【解析】
【详解】本题主要考查物联网系统中的数据流向、数据处理、风险防范以及Pandas数据分析与可视化。
(1)关于数据流向,传感器采集数据通过智能终端上传至服务器,服务器处理后发送指令到信号灯等硬件,因此正确说法为B。
(2)关于数据处理,智能终端不能独立完成所有分析,车牌识别可以在终端或服务器实现,乘客APP数据需从服务器获取,服务器可分析历史数据生成策略,因此正确选项为CD。
(3)网络中断时,传感器仍能采集数据,但无法上传;乘客APP、候车大屏、信号灯等依赖服务器,故无法更新,因此后果为BCD。
(4)风险:系统软件故障或病毒攻击,措施:安装防火墙与杀毒软件,定期备份数据;风险:服务器断电或硬件故障,措施:配置备用服务器或不间断电源(UPS)或其他合理答案,风险和措施需匹配。
(5)代码填空分析:①处需按通道名称分组求和总客流量,找出最大通道,故选B(df.groupby("通道名称", as_index=False).sum())。②处需筛选出该通道的所有原始数据,故选C(df[df.通道名称 == c])。③处需按月平均后取客流量最大的五个月,由于后续使用tail(5)取最后五条,因此应升序排序,使最大五条在末尾,故选F(df3.sort_values("通道客流量", ascending=True))。最终答案为①B ②C ③F。
14. 某车辆智能调度系统每分钟统计一次各通道的车辆通行数据,计算时刻在下一分钟一开始的时候,具体的计算方法是:当前车辆数=上一分钟一开始车辆数+上一分钟内的入场数-上一分钟内的离场数,并基于当前车辆数判定通道状态:
●小于20→状态码0(通畅)
●20~39→状态码1(缓行)
●大于等于40→状态码2(拥堵)
调度规则如下:
未限流时:若状态1连续持续3分钟,或状态变为2,则立即发送一次“限流”指令。
已限流时:若当前车辆数下降至30及以下,则立即发送一次“取消限流”指令。
指令仅在条件满足时发送一次,不重复发送。
请回答下列问题:
(1)若某通道在第X+1分钟一开始计算得到的当前车辆数为15,接下来6分钟(即X+1至X+6)每分钟内的入场数和离场数如图所示,该通道首次发送“限流”指令是在第X+____分钟一开始的时候。(填1到7的数字)。
分钟
入场数
离场数
第X+1分钟
12
4
第X+2分钟
15
6
第X+3分钟
16
7
第X+4分钟
14
8
第X+5分钟
10
15
第X+6分钟
6
18
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
n=4 #通道数
k=[0]*n
code=[-1]*n
flag=[False]*n
s=[0]*n #各通道初始车辆数为0
while True:
#获取每个通道上一分钟内车辆入场数和离场数,保存到列表q中
#如 q=[11,4,5,3,12,11,22,13]表示:
#第1个通道的入场数和离场数分别为11和4;第2个通道的入场数和离场数分别为5和3;
#以此类推,代码略
for i in range(n):
①____
if s[i] < 20:
code[i]=0
elif s[i] < 40:
code[i]=1
else:
code[i]=2
if code[i] == 1:
②____
else:
k[i]=0
if(code[i] == 2 or k[i] == 3) and not flag[i]:
#发送限流指令,代码略
flag[i]= True
k[i]=0
elif ③____:
#发送取消限流指令,代码略
flag[i]= False
#延时1分钟,代码略
【答案】(1)4 (2) ①. s[i]+=q[i*2]-q[i*2+1] ②. k[i]+=1 ③. flag[i] and s[i] <= 30
【解析】
【详解】本题考查数组。
1. 根据题意运算可以得下表:
时间
开始时车辆数
状态
入场数
离场数
第X+1分钟
15
0
12
4
第X+2分钟
23
1
15
6
第X+3分钟
32
1
16
7
第X+4分钟
41
2(发送指令)
14
8
第X+5分钟
10
15
第X+6分钟
6
18
X+4开始时刻计算车辆数,车辆数超过40,为拥堵状态,发送限流指令。
2.第①空计算i通道中的车辆数,s[i]是上一分钟一开始车辆,q[i*2]是上一分钟内的入场数q[i*2+1]是上一分钟内的离场数;第②空是对状态一进行计数,若判断code[i]是1,则k[i]累计加一,否则清零;第③空需要考虑两种问题,一是是否是限流状态,用flag[i]进行判断,要在限流情况下才会发送取消限流的指令,故flag[i]的值应该为True,二是车辆数s[i]是否小于等于30,故答案是flag[i] and s[i] <= 30。
15. 为准备某次拔河比赛,每个班级内部在比赛前打算训练一下。为此,学校打算给每个班级(每个班有班级编号)在训练时准备一根绳子,用于某天内的某个时间段进行拔河训练。事先,每个班根据自己班级的情况向学校报送了各班级训练拔河比赛的时间段(包含开始时间和结束时间),如图所示为报送的部分班级数据。
班级编号
101
201
104
301
202
开始时间
07:30
08:20
08:30
09:40
08:50
结束时间
10:30
09:30
09:20
11:30
09:55
根据各班级上报的训练时间段,学校为节约开支,打算在满足各班级训练时间需求的情况下采购最少数量的绳子。在训练的过程中,若一个班级训练结束,从结束时间的下一分钟开始,这根绳子即可被另外一个班级使用,如某班8:30结束,则8:31开始这根绳子可以被后面时段训练的班级使用。
请回答下列问题:
(1)在不考虑其他班级的情况下,若要满足题图所示班级的训练时间需求,学校需要采购的绳子最少为____根。
(2)定义如下函数d_ sort(data, k),该函数的功能是对列表data中的元素按每个元素索引为k的数据项进行排序。
def d _ sort(data, k):
i=p=q= len(data)-1
while i > 1 and q != 0:
j=q=0
while j < p:
if data[j][k] > data[j+1][k]:
data[j], data[j+1]= data[j+1], data[j]
q=j+1
j+=1
i-=1
return data
调用该函数,请回答①和②两个问题。
①若程序中加框处语句修改为"p=q",,该函数的运行结果____(单选,填字母: A.会/B.不会)发生变化。
②若data为[[101,450,630],[201,500,570],[104,510,560],[301,580,690],[202,530,595]],则调用函数d_ sort(data,1)对data进行排序的过程中,p的值最小为____。
(3)根据各班级拔河训练时段计算最少绳子采购数量的Python程序如下,请在划线处填入合适的代码。
def d _ sort(data, k): # 函数的功能是根据 data 元素的第k个数据项进行升序排序
#代码略
deft _ to _ m(tstr): # 函数的功能是将"HH:MM"格式的时间转换为分钟数
#代码略
def ins(lnk, head, x, y): #插入
p= head
while p!=-1 and lnk[p][0]<= x: #找到插入位置
q=p
p= lnk[p][2]
if ①____:
lnk. append([x, y, head])
head= len(lnk)-1
else:
lnk. append([x, y, p])
lnk[q][2]= len(lnk)-1
return head
def proc(data, n):
lnk=[] #构造一个空链表
data=d _ sort(data,1)
for i in range(n):
data[i]. append(0)
cnt=1 #采购的绳子从1开始编号
②____
lnk. append([data[0][2], data[0][3],-1])
head=0
for i in range(1, n):
if data[i][1]> lnk[head][0]:
data[i][3]= lnk[head][1]
else:
cnt + =1
data[i][3]= cnt
③____
return cnt, data
'''
读取班级数量n;
读取各班级拔河训练的时间段信息,存入列表data,每个元素包含班级编号、训练开始时间、结束时间,如data=[[101,450,630],[201,500,570],[104,510,560],[301,580,690],[202,530,595]]
代码略
'''
ans _ cnt, ans _ lst= proc(data, n)
print(ans _ cnt) #输出最少需要采购的绳子数量;
ans _ lst= d _ sort(ans _ lst,0) #根据班级编号进行排序
for i in range(len(ans _ lst)): #输出各班级训练用的绳子编号
print(ans _ lst[i][0], ans _ lst[i][3])
【答案】(1)4 (2) ①. B ②. -1
(3) ①. p == head ②. data[0][3]=1 ③. head=ins(lnk, head, data[i][2], data[i][3])
【解析】
【详解】本题主要考查区间调度问题(最少资源数)及链表插入排序算法。通过将训练时间段按开始时间排序,然后使用贪心策略分配绳子,每次从可用的绳子中选结束时间最早的,如果无可用则新增绳子。
(1)根据给出的5个班级时间段(班级编号、开始时间、结束时间): - 101: 07:30-10:30 → 开始450分钟,结束630分钟 - 201: 08:20-09:30 → 500-570 - 104: 08:30-09:20 → 510-560 - 301: 09:40-11:30 → 580-690 - 202: 08:50-09:55 → 530-595。首先按开始时间升序排序得到顺序: 1. 101 (450-630) 2. 201 (500-570) 3. 104 (510-560) 4. 202 (530-595) 5. 301 (580-690) 模拟贪心分配(维护每根绳子的结束时间,每次选结束时间最早且满足“开始时间 ≥ 结束时间+1”的绳子,若无则新增): - 任务101:无绳子,分配绳子1,结束时间630。 - 任务201:开始500,现有绳子1结束630,500 < 630+1?实际需要开始≥结束+1,500 ≥ 631?不成立,冲突。无可用,新增绳子2,结束570。 - 任务104:开始510,现有绳1结束630(冲突),绳2结束570(510 ≥ 571?不),无可用,新增绳子3,结束560。 - 任务202:开始530,现有绳1(630冲突),绳2(570冲突,530≥571?不),绳3(560冲突,530≥561?不),无可用,新增绳子4,结束595。 - 任务301:开始580,现有绳1(630冲突),绳2(570,580≥571成立,可用),绳3(560,580≥561成立),绳4(595,580≥596?不)。选择最早结束的可用绳子:绳3结束560最早,但注意绳3结束560,580≥561成立,可用;绳2结束570,580≥571也成立,但绳3结束更早,所以选绳3。更新绳3结束时间为690。此时绳子数量仍为4。 因此需要采购4根绳子。答案为4。
(2)“p=q-1”,修改为“p=q”后,内循环的上界变大,导致多做一些无意义的比较,但最终排序结果不变,因此运行结果不会发生变化,选B。调用d_sort(data,1)对data按开始时间排序,模拟过程中p的值依次为4, 3, -1,最小值为-1,因此答案为-1。
(3)1. ins函数用于将新节点插入链表。循环找到插入位置p后,从lnk.append([x, y, head])可推断,当前节点需要放在head节点前面,故判断p == head表示新节点需要插入到链表最前面,此时将新节点的后继指向原头节点,并更新头节点。2. 从lnk.append([data[0][2],data[0][3],-1])语句可知lnk中元素包含结束时间、绳子编号、以及指针,data[i][3]用于存储班级使用的绳子编号。第一个班级默认使用编号为1的绳子,因此对data[0][3]赋初始值1。3. 第③空的作用是将该班级的训练结束时间和绳子编号插入链表,以便后续班级查询可用绳子,因此调用ins函数并更新链表头节点head。从自定义函数代码可知,需要参数lnk, head,借用结束时间及绳子编号,故答案为head=ins(lnk, head, data[i][2], data[i][3])。
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第二学期高考模拟考
技 术
考生须知:
1.本卷满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场、座位号及准考证号并核对条形码信息;
3.所有答案必须写在答题卷上,写在试卷上无效,考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某智慧博物馆引入智能观展系统:参观者通过入口闸机刷身份证和人脸进入博物馆,手机扫描二维码后打开小程序,通过馆内蓝牙、无线AP定位并获取云端数据。参观者佩戴的AR(增强现实)眼镜通过内置摄像头采集文物图像,经AI图像识别后叠加显示文物的三维模型或讲解视频,并由数字人播报讲解相关文物信息。参观者的参观数据(路线、互动等)脱敏后,通过4G/5G上传至云端服务器。
1. 下列关于该系统中数据和信息的叙述,正确的是( )
A. 该系统中存储的数据量越大则其蕴含的信息价值就越高
B. 分析参观者的参观数据对博物馆没有价值
C. 文物图像经AI识别后叠加的三维模型属于数据
D. 存储在云端的数据都是结构化数据
2. 下列关于该系统组成的叙述,正确的是( )
A. AR眼镜仅是该系统的输入设备
B. AI图像识别程序是该系统的组成部分
C. 用于存储文物三维模型的计算机是软件
D. 系统后台维护人员不属于该系统的用户
3. 下列关于该系统功能与应用的叙述,不正确的是( )
A. 该系统具备数据采集与输入功能
B. 停电后系统无法正常运行体现了该系统的局限性
C. AI数字人涉及的语音合成技术属于人工智能技术
D. AR眼镜呈现的图像内容无需经过系统数据处理和传输
4. 下列关于该系统网络技术的分析,正确的是( )
A. 通过蓝牙发送位置信号不依赖任何网络协议
B. 参观者使用该系统各项功能均需采用移动通信技术
C. 该系统数据传输涉及多种传输介质
D. 参观者手机需与系统处于同一局域网才能使用系统功能
5. 下列对于提升该系统安全的做法,不合理的是( )
A. 将参观者的参观数据加密后传输
B. 定期自动备份该系统的数据库文件
C. 为不同身份的系统使用者设置不同的访问权限
D. 入口闸机直接显示参观者身份证号码供工作人员核对
6. 下列关于该系统中数据编码的叙述,不正确的是( )
A. 扫描并识别博物馆小程序的二维码是“解码”过程
B. 讲解视频存储容量仅与视频的分辨率有关
C. AI数字人的讲解音频在传输前无需转化为模拟信号
D. 对文物讲解音频进行压缩会改变其编码方式
7. 某算法的部分流程图如图所示,若数组元素a[0]至a[5]依次存放x,37,y,64,75,96,其中x,y均为整数,满足x<37<y<64,执行这部分流程后,输出c的值为2,则key的取值范围为( )
A. x≤key<y B. key≤x or key=75 C. y<key≤7 D. key<37 or key>64
8. 队列初始为空,字符"A","B","C","D","E","F"按某一初始顺序P依次入队,入队规则为:若队列为空,字符入队;否则字符入队后再将队首元素出队并再入队。所有字符入队完成后,队列从队首到队尾的字符顺序为CEAFDB,则在初始顺序P中,从1开始计数,排在第4个的字符为( )
A. C B. E C. F D. A
9. 某二叉树存在某个叶节点在其前序遍历序列和中序遍历序列中的位置相同,则该二叉树的树形结构为( )
A. B. C. D.
10. 有如下程序段:
i, c, t=1,0,0
while i <= len(s)-1:
if s[i] <= s[i-1]:
c=c+ int(s[t:i])
t=i
i+=1
print(c)
若s为"142633189",执行该程序段后,c的值为( )
A. 43 B. 46 C. 73 D. 235
11. 有如下Python程序段:
stk=[0]* len(a)
top, sum _ val, min _ avg=-1,0,8
for i in a:
if top != -l and abs(i -stk[top]) < k: # abs函数求绝对值
sum _ val-= stk[top]
top-= 1
else:
top+= 1
stk[top]=i
sum _ val+=i
if top != -1:
avg= sum _ val/(top+1)
if avg < min _ avg:
min _ avg= avg
若a为[5,5,6,4,4,7,3,3,8,2],执行该程序段后,min _avg的值为3.0,则程序中k的值为( )
A. 0 B. 1 C. 2 D. 3
12. 有如下Python程序段:
def q(lst):
if len(lst) <= 1: #①
return lst
p= lst[0]
left, right=[],[]
for x in lst[1:]:
if x[0] <= p[0]: #②
left. append(x) #将元素 x放置在列表left的最末尾处
else:
right. append(x) #将元素x放置在列表right的最末尾处
return q(left)+[p]+q(right)
若a的值为[[7,0],[2,1],[9,2],[2,3],[5,4]],执行print(q(a))后,下列说法不正确的是( )
A. 该程序段运用了递归
B. 运行结果为[[2,3],[2,1],[5,4],[7,0],[9,2]]
C. 若把①处语句“<=”改成“<”,不会改变运行结果
D. 若把②处语句“<=”改成“<”,不会改变运行结果
二、非选择题(本大题共3题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某火车站部署了网约车智能调度系统。系统在停车场、上客区等位置安装了多种传感器,例如,地磁传感器可以监测车位占用状态,具备车辆识别功能的摄像头可以跟踪车辆位置。传感器采集的数据,由智能终端通过5G网络上传至服务器。服务器对数据进行处理分析后,通过信号灯、引导屏发布调度指令,乘客可通过手机APP或候车区大屏查看车辆信息。请回答下列问题:
(1)关于该系统中数据流向的说法,正确的是 (单选)
A. 传感器采集到的网约车数据直接发送至候车大屏并显示
B. 服务器的调度指令数据最终可以控制信号灯硬件
(2)下列关于该系统中数据处理的说法,正确的是 (多选)
A. 智能终端可独立完成所有数据处理分析
B. 车牌识别只能在服务器上实现
C. 乘客APP上显示的车辆动态数据需要从服务器获取
D. 服务器可以对历史数据进行分析来生成合理调度策略
(3)某日,因施工意外导致服务器的网络中断,可能会导致的后果是 (多选)
A. 传感器无法采集车位、车辆位置等数据
B. 乘客无法通过APP查看网约车实时信息
C. 候车区大屏无车辆信息和调度指引更新
D. 信号灯、引导屏无法接收到新的调度指令
(4)除了网络中断,还存在其他影响系统正常运行的风险,请写出1种可能的风险及对应的防范措施。____
(5)将该系统上一年的车流数据导出到文件“data.xlsx”中,部分数据如图a所示。统计该年中总客流量最大的通道,并根据该信道月平均客流量最大的五个月份,绘制如图b所示的柱形图。
月份
日期
信道名称
信道客流量
1月
1日
东部城区通道
656
1月
1日
交通枢纽通道
1219
1月
1日
景区直达通道
445
1月
1日
商务区通道
405
1月
1日
市中心核心通道
1284
1月
2日
东部城区通道
407
1月
2日
交通枢纽通道
592
1月
2日
景区直达通道
276
图a
图b
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib. pyplot as plt
#设置图表字体,代码略
df= pd. read _ excel(" data. xlsx")
df1= ①____
df1=df1. sort _ values("通道客流量", ascending= False)
c=df1. at[0,"通道名称"]
df2= ②____
df3=df2. groupby("月份", as _ index= False). mean()
df3= ③____
df3=df3. tail(5)
plt. bar(df3.月份,df3.通道客流量)
plt. show()
程序中①②③处可选的代码有:
A.df.groupby("月份", as _ index=False).sum()
B.df.groupby("通道名称", as_ index=False).sum()
C.df[df.通道名称 == c]
D.df1[df1.通道名称 == c]
E.df3.sort_ values("通道客流量", ascending=False)
F.df3.sort_ values("通道客流量", ascending=True)
14. 某车辆智能调度系统每分钟统计一次各通道的车辆通行数据,计算时刻在下一分钟一开始的时候,具体的计算方法是:当前车辆数=上一分钟一开始车辆数+上一分钟内的入场数-上一分钟内的离场数,并基于当前车辆数判定通道状态:
●小于20→状态码0(通畅)
●20~39→状态码1(缓行)
●大于等于40→状态码2(拥堵)
调度规则如下:
未限流时:若状态1连续持续3分钟,或状态变为2,则立即发送一次“限流”指令。
已限流时:若当前车辆数下降至30及以下,则立即发送一次“取消限流”指令。
指令仅在条件满足时发送一次,不重复发送。
请回答下列问题:
(1)若某通道在第X+1分钟一开始计算得到的当前车辆数为15,接下来6分钟(即X+1至X+6)每分钟内的入场数和离场数如图所示,该通道首次发送“限流”指令是在第X+____分钟一开始的时候。(填1到7的数字)。
分钟
入场数
离场数
第X+1分钟
12
4
第X+2分钟
15
6
第X+3分钟
16
7
第X+4分钟
14
8
第X+5分钟
10
15
第X+6分钟
6
18
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
n=4 #通道数
k=[0]*n
code=[-1]*n
flag=[False]*n
s=[0]*n #各通道初始车辆数为0
while True:
#获取每个通道上一分钟内车辆入场数和离场数,保存到列表q中
#如 q=[11,4,5,3,12,11,22,13]表示:
#第1个通道的入场数和离场数分别为11和4;第2个通道的入场数和离场数分别为5和3;
#以此类推,代码略
for i in range(n):
①____
if s[i] < 20:
code[i]=0
elif s[i] < 40:
code[i]=1
else:
code[i]=2
if code[i] == 1:
②____
else:
k[i]=0
if(code[i] == 2 or k[i] == 3) and not flag[i]:
#发送限流指令,代码略
flag[i]= True
k[i]=0
elif ③____:
#发送取消限流指令,代码略
flag[i]= False
#延时1分钟,代码略
15. 为准备某次拔河比赛,每个班级内部在比赛前打算训练一下。为此,学校打算给每个班级(每个班有班级编号)在训练时准备一根绳子,用于某天内的某个时间段进行拔河训练。事先,每个班根据自己班级的情况向学校报送了各班级训练拔河比赛的时间段(包含开始时间和结束时间),如图所示为报送的部分班级数据。
班级编号
101
201
104
301
202
开始时间
07:30
08:20
08:30
09:40
08:50
结束时间
10:30
09:30
09:20
11:30
09:55
根据各班级上报的训练时间段,学校为节约开支,打算在满足各班级训练时间需求的情况下采购最少数量的绳子。在训练的过程中,若一个班级训练结束,从结束时间的下一分钟开始,这根绳子即可被另外一个班级使用,如某班8:30结束,则8:31开始这根绳子可以被后面时段训练的班级使用。
请回答下列问题:
(1)在不考虑其他班级的情况下,若要满足题图所示班级的训练时间需求,学校需要采购的绳子最少为____根。
(2)定义如下函数d_ sort(data, k),该函数的功能是对列表data中的元素按每个元素索引为k的数据项进行排序。
def d _ sort(data, k):
i=p=q= len(data)-1
while i > 1 and q != 0:
j=q=0
while j < p:
if data[j][k] > data[j+1][k]:
data[j], data[j+1]= data[j+1], data[j]
q=j+1
j+=1
i-=1
return data
调用该函数,请回答①和②两个问题。
①若程序中加框处语句修改为"p=q",,该函数的运行结果____(单选,填字母: A.会/B.不会)发生变化。
②若data为[[101,450,630],[201,500,570],[104,510,560],[301,580,690],[202,530,595]],则调用函数d_ sort(data,1)对data进行排序的过程中,p的值最小为____。
(3)根据各班级拔河训练时段计算最少绳子采购数量的Python程序如下,请在划线处填入合适的代码。
def d _ sort(data, k): # 函数的功能是根据 data 元素的第k个数据项进行升序排序
#代码略
deft _ to _ m(tstr): # 函数的功能是将"HH:MM"格式的时间转换为分钟数
#代码略
def ins(lnk, head, x, y): #插入
p= head
while p!=-1 and lnk[p][0]<= x: #找到插入位置
q=p
p= lnk[p][2]
if ①____:
lnk. append([x, y, head])
head= len(lnk)-1
else:
lnk. append([x, y, p])
lnk[q][2]= len(lnk)-1
return head
def proc(data, n):
lnk=[] #构造一个空链表
data=d _ sort(data,1)
for i in range(n):
data[i]. append(0)
cnt=1 #采购的绳子从1开始编号
②____
lnk. append([data[0][2], data[0][3],-1])
head=0
for i in range(1, n):
if data[i][1]> lnk[head][0]:
data[i][3]= lnk[head][1]
else:
cnt + =1
data[i][3]= cnt
③____
return cnt, data
'''
读取班级数量n;
读取各班级拔河训练的时间段信息,存入列表data,每个元素包含班级编号、训练开始时间、结束时间,如data=[[101,450,630],[201,500,570],[104,510,560],[301,580,690],[202,530,595]]
代码略
'''
ans _ cnt, ans _ lst= proc(data, n)
print(ans _ cnt) #输出最少需要采购的绳子数量;
ans _ lst= d _ sort(ans _ lst,0) #根据班级编号进行排序
for i in range(len(ans _ lst)): #输出各班级训练用的绳子编号
print(ans _ lst[i][0], ans _ lst[i][3])
第1页/共1页
学科网(北京)股份有限公司
$