内容正文:
2025学年第二学期高二阶段性质量检测试卷
高二年级技术学科试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题 (本大题有12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
智慧医疗影像云诊断系统,是为医疗影像检查打造的“超级智能云平台”。乡镇级医院医生将高清数字影像文件上传至云端服务器后,AI助手应用基于海量医疗数据训练的算法模型快速分析并精准标记可疑病灶位置和大小,再将结果推送给权威影像科专家。专家结合专业经验审核判断,生成权威诊断报告回传至乡镇医院。患者手机收到通知后,扫码即可随时随地查看电子报告和原始影像,实现高效、便捷的诊疗服务。
1. 关于该智慧医疗系统中的数据,下列说法正确的是( )
A. 患者的电子报告和影像数据都是结构化数据
B. 云端服务器存储的所有数据都具有相同的价值
C. AI助手分析出的可疑病灶位置和大小属于数据
D. 电子报告在云端、手机上内容一致,说明信息不依赖载体
2. 为保障该系统中大量患者隐私数据的安全,下列做法合理的是( )
A. 允许管理员无限制访问所有个人数据
B. 系统对访问云端数据的权威专家进行严格的身份认证
C. 未经患者知情同意将系统内患者的海量数据用于 AI算法训练
D. 患者扫码查看报告后,应立即删除在服务器上的原始影像数据
3. 系统将患者影像文件上传用于 AI分析。若上传文件为分辨率 1024*768像素、24位真彩色的 BMP位图,下列说法正确的是( )
A. 该图像最多支持24种不同颜色
B. 该BMP位图的存储容量约为18MB
C. 若患者病灶深色区域占比增大,文件存储容量会随之增加
D. 将色彩深度调整为256色灰度,文件存储容量会减小为原来的1/3
4. AI助手诊断分析的功能基于神经网络方法实现,下列说法正确的是( )
A. AI助手诊断分析过程中仍离不开原始训练数据
B. AI助手诊断分析功能使用了数据驱动的人工智能方法
C. AI助手和权威专家联合分析生成诊断报告属于领域人工智能
D. 增加AI助手诊断模型的数据训练量可以保证诊断分析结果无差错
5. 下列关于该系统支撑技术的说法,正确的是( )
A. 电脑CPU的核心功能是存储海量的数字影像文件
B. 患者使用的手机触摸屏,既是输入设备也是输出设备
C. 负责处理影像数据的AI分析算法属于该系统的系统软件
D. 云端服务器、影像扫描仪、电子报告均属于该系统的硬件
6. 下列关于该信息系统中网络技术的说法,正确的是( )
A. 患者手机查看高清电子报告必须借助移动通信网络
B. 将影像文件上传至云端服务器过程中必须遵循 TCP/IP 协议
C. 影像数据的传输速度只与服务器性能有关,与网络带宽无关
D. 患者手机与系统服务器在同一局域网才可以查看电子报告和影像文件
7. 某算法的流程图如图所示,执行程序后输出的值为9,则a的值可能是( )
A. [2,5,1,1,3,4,1,1] B. [2,2,2,4,3,2,4,3]
C. [1,3,4,1,3,2,3,1,4,5] D. [2,3,1,2,4,4,3,2,5,4]
8. 已知一棵完全二叉树采用顺序数组存储(根节点下标为0,从上到下、同层从左到右依次存储),该二叉树共有12个节点。下列说法正确的是( )
A. 该二叉树的高度为5
B. 编号5的节点有右孩子
C. 前序遍历和中序遍历在同一位置的节点有3个
D. 该二叉树中度为1的节点数量大于 1
9. 有如下 Python 程序段:
def f(m,n):
if m%n==0:
return n
return f(n,m%n)
执行语句f(32,12),函数 f 被调用的次数是( )
A. 3 B. 4 C. 5 D. 6
10. 有如下 Python 程序段:
t="0123456789ABCDEF"
st=""
for i in range(len(s)):
ch=s[i]
if"a"<=ch<="z":
st= chr((ord(ch)-94)%26+65)+ st
elif"A"<=ch<="Z":
m= ord(ch)//16
n=t[ord(ch)%16]
st= st+ str(m)+ str(n)
print(st)
若s的值为"Best",则输出的结果为( )
A. "wvh42" B. "24wvh" C. "24WVH" D. "WVH42"
11. 有如下 Python程序段:
from random import randint
a=[8,7,23,6,12,9,14]
n= len(a)
k= randint(1,3)*2+1
for i in range(n-1):
for j in range(n-1,i,-1):
if a[j]%k>a[j-1]%k:
a[j],a[j-1]=a[j-1],a[j]
执行该程序段后,a的值不可能为( )
A. [7,23,6,14,9,8,12] B. [8,23,14,7,6,12,9]
C. [9,14,8,23,7,12,6] D. [6,12,23,9,8,7,14]
12. 使用列表d模拟链表结构,每个节点包含数据区域和指针区域。如第图a所示,ha和 hb分别为两个链表的头指针,两个链表的节点均降序排列,无重复节点,且两个链表在某个节点相交,现要将两个链表按照节点数据区域降序融合为一个链表,结果如图b所示,实现该功能的程序段如下,划线处应填入的正确代码为( )
q= ha;k= hb
p=d[q][1]
flag= False
while not flag:
num=d[k][0]
t=d[k][1]
if k!= ha and num>d[ha][0]:
d[k][1]= ha; ha=k
elif k== ha:
flag= True
else:
while p!=-1 and d[p][0]> num and ①___________:
q=p;p=d[p][1]
if p==k:
flag= True
else:
d[q][1]=k
d[k][1]=p
②___________
A. ①p!=k ②k=d[k][1] B. ①p!=k ②k=t
C. ①q!=k ②k=d[k][1] D. ①q!=k ②k=t
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某签到系统的积分规则如下:
该天的签到情况用0和1表示(0表示未签到),每天签到可获得基础积分1分。若当天属于连续签到,则根据截至当天的连续签到天数,额外获得奖励积分;若当天为连续签到第2天,则额外积2分;若当天为连续签到第3天,则额外积3分;若当天为连续签到第4天,则额外积4分;若连续签到超过4天(即从第5天起),则每天额外积5分。
(1)若某段时间内用户的签到情况为“0110011111”,则该用户的积分为___________。
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
#读取用户的签到情况,存入字符串 s中,代码略
score= cnt=0
for i in range(len(s)):
if s[i]="1":
___________
cnt+=1
if ___________:
score+= cnt
elif cnt>=5:
score+=5
else:
___________
#输出签到总积分,代码略
14. 某校实验室部署了温度监测系统,采用智能终端连接温度传感器,每5分钟采集一次温度数据,通过无线网络传输至服务器并存储到数据库。服务器根据温度数据判断:温度超出 15℃~30℃范围时,服务器向智能终端发送指令,控制蜂鸣器报警。管理员可通过浏览器查看历史数据。请回答下列问题。
(1)温度数据从采集到存储的流向是___________ (单选,填字母)。
A. 温度传感器→服务器→智能终端→数据库
B. 温度传感器→智能终端→服务器→数据库
C. 温度传感器→智能终端→数据库→服务器
(2)若服务器端的网络中断,下列功能会受影响的是___________ (多选,填字母)。
A. 温度传感器采集温度数据 B. 服务器接收温度数据并写入数据库
C. 浏览器查看历史温度数据 D. 智能终端接收服务器的指令
(3)该系统服务器端程序采用 FlaskWeb框架编写,部分功能页面规划如下表所示。
序号
访问地址
功能说明
1
/ input?s=30
提交传感器数据
2
/ search?d=20260505
查看当天历史数据
该系统的智能终端和服务器端IP 地址分别为196.128.1.13和196.128.1.30,服务器端口是5050,某时刻采集到的温度为28,则此时智能终端将数据提交到服务器的URL为___________。
(4)系统运行一段时间后,管理员发现浏览器上4月1日的温度数据缺失了12:00至14:00的数据,但该天其他时段数据正常。请写出2种可能造成该问题的原因。
(5)2026年4月温度数据存储在 data. xlsx中,部分数据如图a所示。现要找出超出温度范围(低于15℃或高于30℃)最多次数的日期,计算该天各小时的平均温度并绘制如图b所示的折线图。
实现上述功能的部分 Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib. pyplot as plt
df= pd. read_excel(" data. xlsx")
df1= df[(df["温度(℃)"]<15)|(df["温度(℃)"]>30)] #筛选超出温度范围的数据记录
df2=___________
df3=df2. sort_ values("温度(℃)", ascending= False). head(1)
day=df3["日期"]. values[0] #获取第一行数据的日期
df4=___________
for i in df4. index:
df4. at[i,"小时"]=df4. at[i,"时间"][:2]
df5=df4. groupby("小时", as_index= False)["温度(℃)"]. mean()
x=df5["小时"]
y=___________
plt. plot(x,y)
plt. Show()
①②③处可选代码有:
A. df1. groupby("日期", as _ index= False). count()
B. df. groupby("日期", as_ index= False). sum()
C. df1[df1["日期"]== day]
D. df[df["日期"]== day]
E. df4["温度(℃)"]
F. df5["温度(℃)"]
G. df5. values
15. 问题描述:
某仓库需要安排工人搬运送达的货物。每辆货车记录有到达时间和货物箱数。所有货物必须在截止时间T内完成搬运。
搬运规则:
Ⅰ.每个工人一次最多连续搬运4箱(同一产品),每箱搬运耗时3单位时间。每次连续搬运结束后(无论搬了几箱),必须休息1单位时间才能进行下一车次搬运。
例:搬1箱→3+1=4 单位时间
搬4箱→4×3+1=13 单位时间
货车到达时:
Ⅰ.货车到达时:若存在“已启用且空闲”的工人(空闲时间≤货车到达时间),则优先安排其中最早空闲的工人。否则,启用一名新工人(新工人从到达时刻开始工作)。
Ⅱ.已启用的工人总数不能超过公司提供的上限n。
Ⅲ.求在不超过n人的前提下,能否完成任务。若能,输出最少需要的工人数;若最少需要人数>n,或截止时间T内不可能完成,输出“任务无法完成!”
编写程序模拟任务分配过程,请回答下列问题。
(1)若货车记录列表 data=[[1,5],[9,7],[17,6]],T=30,则需要的工人数量为___________。
(2)定义 wsort(data)函数,任务列表 data中每个元素包含到达时间、货物箱数两个数据项,函数的功能是根据到达时间对 data进行升序排序。
def wsort(data):
for i in range(len(data)-1):
for j in range(_________):
if data[j][0]> data[j+1][0]:
data[j], data[j+1]= data[j+1], data[j]
return data
划线处应填入的代码为___________(多选,填字母)
A. len(data)-i-1 B. len(data)-i
C. len(data)-2,i,-1 D. len(data)-2,i-1,-1
(3)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
def get_min(lst):
if len(lst)==0:
return - 1
min_idx=0
for i in range(1, len(lst)):
if lst[i]< lst[min_idx]:
min_idx=i
return min_idx
def calc(data,T,n):
max_r=4; dt=3; count=0; ft=1; worker=[]
for task in data:
st, box= task[0], task[1]
remain=T-st-ft
if remain< dt:
return - 1
while box>0:
use_new= True
idx=get_min(worker)
if ___________:
worker= worker[:idx]+ worker[idx+1:]
use_new= False
if use_new:
count+=1
if count>n:
return - 1
once= min(remain// dt, box, max _r)
new_time= ___________
worker. append(new_time)
box-= once
return count
#读取工人数量n,截止时间T,读取货车记录数据存入 data列表,代码略
data= wsort(data)
ans= calc(data,T,n)
if ___________:
print("任务无法完成!")
else:
print("最少需要", ans,"名工人!")
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第二学期高二阶段性质量检测试卷
高二年级技术学科试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题 (本大题有12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
智慧医疗影像云诊断系统,是为医疗影像检查打造的“超级智能云平台”。乡镇级医院医生将高清数字影像文件上传至云端服务器后,AI助手应用基于海量医疗数据训练的算法模型快速分析并精准标记可疑病灶位置和大小,再将结果推送给权威影像科专家。专家结合专业经验审核判断,生成权威诊断报告回传至乡镇医院。患者手机收到通知后,扫码即可随时随地查看电子报告和原始影像,实现高效、便捷的诊疗服务。
1. 关于该智慧医疗系统中的数据,下列说法正确的是( )
A. 患者的电子报告和影像数据都是结构化数据
B. 云端服务器存储的所有数据都具有相同的价值
C. AI助手分析出的可疑病灶位置和大小属于数据
D. 电子报告在云端、手机上内容一致,说明信息不依赖载体
2. 为保障该系统中大量患者隐私数据的安全,下列做法合理的是( )
A. 允许管理员无限制访问所有个人数据
B. 系统对访问云端数据的权威专家进行严格的身份认证
C. 未经患者知情同意将系统内患者的海量数据用于 AI算法训练
D. 患者扫码查看报告后,应立即删除在服务器上的原始影像数据
3. 系统将患者影像文件上传用于 AI分析。若上传文件为分辨率 1024*768像素、24位真彩色的 BMP位图,下列说法正确的是( )
A. 该图像最多支持24种不同颜色
B. 该BMP位图的存储容量约为18MB
C. 若患者病灶深色区域占比增大,文件存储容量会随之增加
D. 将色彩深度调整为256色灰度,文件存储容量会减小为原来的1/3
4. AI助手诊断分析的功能基于神经网络方法实现,下列说法正确的是( )
A. AI助手诊断分析过程中仍离不开原始训练数据
B. AI助手诊断分析功能使用了数据驱动的人工智能方法
C. AI助手和权威专家联合分析生成诊断报告属于领域人工智能
D. 增加AI助手诊断模型的数据训练量可以保证诊断分析结果无差错
5. 下列关于该系统支撑技术的说法,正确的是( )
A. 电脑CPU的核心功能是存储海量的数字影像文件
B. 患者使用的手机触摸屏,既是输入设备也是输出设备
C. 负责处理影像数据的AI分析算法属于该系统的系统软件
D. 云端服务器、影像扫描仪、电子报告均属于该系统的硬件
6. 下列关于该信息系统中网络技术的说法,正确的是( )
A. 患者手机查看高清电子报告必须借助移动通信网络
B. 将影像文件上传至云端服务器过程中必须遵循 TCP/IP 协议
C. 影像数据的传输速度只与服务器性能有关,与网络带宽无关
D. 患者手机与系统服务器在同一局域网才可以查看电子报告和影像文件
【答案】1. C 2. B 3. D 4. B 5. B 6. B
【解析】
【1题详解】
本题考查数据与信息的基本概念。A选项,结构化数据是可通过二维表结构表达的数据,患者的影像数据属于非结构化数据,因此二者不都是结构化数据,A错误;B选项,不同数据的价值不同,云端服务器存储的数据价值存在差异,B错误;C选项,数据是对客观事物性质、状态等的符号表示,AI助手分析出的可疑病灶位置和大小属于数据,C正确;D选项,任何信息都必须依附于载体存在,电子报告在云端和手机上内容一致,只是说明同一信息可以依附于不同载体,不能说明信息不依赖载体,D错误。故答案为:C。
【2题详解】
本题考查数据隐私与安全的相关知识。A选项,允许管理员无限制访问所有个人数据,极易造成患者隐私泄露,危害数据安全,A不合理;B选项,对访问云端数据的权威专家进行严格身份认证,可以有效防止非授权访问,保障患者隐私数据安全,B合理;C选项,未经患者知情同意,使用患者隐私数据训练AI算法,违反数据隐私保护规范,C不合理;D选项,原始影像数据需要留存用于后续诊疗追溯,不需要在患者查看后立即删除,D不合理。故答案为:B。
【3题详解】
本题考查位图图像存储容量的计算与相关性质。A选项,24位真彩色最多可支持2^24种不同颜色,不是24种,A错误;B选项,该BMP位图存储容量计算为:1024×768×24÷8÷1024÷1024=2.25MB,约为2.25MB,不是18MB,B错误;C选项,不压缩的BMP位图存储容量仅和分辨率、色彩深度有关,和图像内容的颜色分布无关,深色占比增大不会改变存储容量,C错误;D选项,256色灰度的色彩深度为8位,原图像色彩深度为24位,位图存储容量和色彩深度成正比,调整后存储容量减小为原来的8/24=1/3,D正确。故答案为:D。
【4题详解】
本题考查人工智能的基础知识。A选项,AI助手训练完成得到模型后,诊断新患者时不需要原始训练数据,只需要调用训练好的模型即可,A错误;B选项,基于神经网络的AI诊断依靠海量数据训练模型,属于数据驱动的人工智能方法,B正确;C选项,AI助手和人类权威专家联合分析属于增强型人工智能,不属于领域人工智能,C错误;D选项,增加训练量可以提升诊断准确率,但无法保证诊断结果完全无差错,D错误。故答案为:B。
【5题详解】
本题考查信息系统软硬件与设备的基础知识。A选项,CPU的核心功能是数据运算与处理,存储数据是存储器的功能,A错误;B选项,手机触摸屏可以接收触摸输入,也可以输出显示内容,因此既是输入设备也是输出设备,B正确;C选项,处理影像数据的AI分析算法是针对医疗诊断的特定应用软件,不属于系统软件,C错误;D选项,电子报告是信息数据,不属于硬件,D错误。故答案为:B。
【6题详解】
本题考查信息系统中网络技术的基础知识。A选项,患者手机连接WiFi也可以查看电子报告,不是必须借助移动通信网络,A错误;B选项,互联网环境下,所有数据传输都需要遵循TCP/IP协议,上传影像文件到云端服务器也不例外,B正确;C选项,影像数据的传输速度和服务器性能、网络带宽都有关,C错误;D选项,通过互联网跨局域网也可以访问查看电子报告和影像,不需要二者在同一局域网,D错误。故答案为:B。
7. 某算法的流程图如图所示,执行程序后输出的值为9,则a的值可能是( )
A. [2,5,1,1,3,4,1,1] B. [2,2,2,4,3,2,4,3]
C. [1,3,4,1,3,2,3,1,4,5] D. [2,3,1,2,4,4,3,2,5,4]
【答案】D
【解析】
【详解】本题考查流程图的逻辑分析与数值计算。首先分析流程图功能:该流程图将数组按每4个元素为一组,计算每组后3个元素的和,最终输出所有和的最大值,题目要求输出值为9,即该最大值为9,我们依次计算四个选项:1. 选项A:数组长度为8,得到两组和分别为7、6,最大值为7,不符合要求;2. 选项B:数组长度为8,仅在i=4时更新最大值为8,最后一组的和9没有参与比较更新,最终输出最大值为8,不符合要求;3. 选项C:数组长度为10,得到前两组和分别为8、6,最后剩余元素的累加和没有更新最大值,最终输出最大值为8,不符合要求;4. 选项D:数组长度为10,第一组后三个元素和为6,更新ans为6;第二组后三个元素和为9,更新ans为9,最后剩余元素的累加和不改变结果,最终输出ans为9,符合要求。故答案为:D。
8. 已知一棵完全二叉树采用顺序数组存储(根节点下标为0,从上到下、同层从左到右依次存储),该二叉树共有12个节点。下列说法正确的是( )
A. 该二叉树的高度为5
B. 编号5的节点有右孩子
C. 前序遍历和中序遍历在同一位置的节点有3个
D. 该二叉树中度为1的节点数量大于 1
【答案】C
【解析】
【详解】本题考查完全二叉树的性质、顺序存储结构以及二叉树遍历的相关知识。第一,计算二叉树高度,若根节点为第1层,n个节点的完全二叉树满足2^(h-1)-1<n≤2^h-1,代入n=12,可得该二叉树高度为4,因此第一个选项错误。第二,该存储规则下,下标为i的节点右孩子下标为2i+2,编号5的右孩子下标为12,本题所有节点下标最大为11,不存在右孩子,因此第二个选项错误。第三,画出该12节点的完全二叉树,得到前序遍历序列为0,1,3,7,8,4,9,10,2,5,11,6,中序遍历序列为7,3,8,1,9,4,10,0,11,5,2,6,对比后可知同一位置的节点共有3个,该选项正确。第四,根据完全二叉树的性质,度为1的节点数量只能为0或1,不可能大于1,因此第四个选项错误。故答案为:C。
9. 有如下 Python 程序段:
def f(m,n):
if m%n==0:
return n
return f(n,m%n)
执行语句f(32,12),函数 f 被调用的次数是( )
A. 3 B. 4 C. 5 D. 6
【答案】A
【解析】
【详解】本题考查Python递归函数的执行流程与调用次数统计,核心是对递归逻辑的理解。执行f(32,12),第1次调用:32%12=8≠0,递归调用f(12,8);进入f(12,8),第2次调用:12%8=4≠0,递归调用f(8,4);进入f(8,4),第3次调用:8%4=0,满足条件返回,不再产生新的调用。因此函数f总共被调用3次。故答案为:A。
10. 有如下 Python 程序段:
t="0123456789ABCDEF"
st=""
for i in range(len(s)):
ch=s[i]
if"a"<=ch<="z":
st= chr((ord(ch)-94)%26+65)+ st
elif"A"<=ch<="Z":
m= ord(ch)//16
n=t[ord(ch)%16]
st= st+ str(m)+ str(n)
print(st)
若s的值为"Best",则输出的结果为( )
A. "wvh42" B. "24wvh" C. "24WVH" D. "WVH42"
【答案】D
【解析】
【详解】本题考查Python程序流程分析,ASCII码与字符串处理。初始值:t="0123456789ABCDEF",st="",s的字符依次为B、e、s、t。
处理第一个字符B(大写字母,走elif分支) ord('B')=66,m=66//16=4,ord('B')%16=2,n=t[2]="2",因此: st = "" + "4" + "2" = "42"
处理第二个字符e(小写字母,走if分支) ord('e')=101,计算得:(101-94)%26+65=7+65=72,chr(72)='H',小写转换结果拼在st前面,因此: st = 'H' + "42" = "H42"
处理第三个字符s(小写字母,走if分支) ord('s')=115,计算得:(115-94)%26+65=21+65=86,chr(86)='V',拼在st前面,因此: st = 'V' + "H42" = "VH42"
处理第四个字符t(小写字母,走if分支) ord('t')=116,计算得:(116-94)%26+65=22+65=87,chr(87)='W',拼在st前面,因此: st = 'W' + "VH42" = "WVH42"。故答案为:D。
11. 有如下 Python程序段:
from random import randint
a=[8,7,23,6,12,9,14]
n= len(a)
k= randint(1,3)*2+1
for i in range(n-1):
for j in range(n-1,i,-1):
if a[j]%k>a[j-1]%k:
a[j],a[j-1]=a[j-1],a[j]
执行该程序段后,a的值不可能为( )
A. [7,23,6,14,9,8,12] B. [8,23,14,7,6,12,9]
C. [9,14,8,23,7,12,6] D. [6,12,23,9,8,7,14]
【答案】A
【解析】
【详解】本题考查Python冒泡排序、随机数与取余运算的综合应用。首先确定k的可能取值,randint(1,3)的取值为1、2、3,因此k=randint(1,3)*2+1的可能值只有3、5、7三种情况。该程序段是冒泡排序,排序规则为按照数组元素对k取余的结果降序排列,最终得到的数组各元素的余数一定满足非递增的顺序。k=3时,降序余数应为[2,2,2,1,0,0,0],对应选项B符合,B是可能的结果;k=5时,降序余数应为[4,4,3,3,2,2,1],对应选项C符合,C是可能的结果;k=7时,降序余数应为[6,5,2,2,1,0,0],对应选项D符合,D是可能的结果;只有选项A,无论k取3、5、7中的哪一个,都不符合排序后的余数要求,不可能得到该结果。故答案为:A。
12. 使用列表d模拟链表结构,每个节点包含数据区域和指针区域。如第图a所示,ha和 hb分别为两个链表的头指针,两个链表的节点均降序排列,无重复节点,且两个链表在某个节点相交,现要将两个链表按照节点数据区域降序融合为一个链表,结果如图b所示,实现该功能的程序段如下,划线处应填入的正确代码为( )
q= ha;k= hb
p=d[q][1]
flag= False
while not flag:
num=d[k][0]
t=d[k][1]
if k!= ha and num>d[ha][0]:
d[k][1]= ha; ha=k
elif k== ha:
flag= True
else:
while p!=-1 and d[p][0]> num and ①___________:
q=p;p=d[p][1]
if p==k:
flag= True
else:
d[q][1]=k
d[k][1]=p
②___________
A. ①p!=k ②k=d[k][1] B. ①p!=k ②k=t
C. ①q!=k ②k=d[k][1] D. ①q!=k ②k=t
【答案】B
【解析】
【详解】本题考查 模拟链表的合并操作,对链表插入逻辑的理解。算法逻辑是遍历hb链表的每个节点,依次插入到ha链表的正确位置,实现降序合并。对于①,两个链表在某个节点相交,在ha链表中查找当前k的插入位置时,需要保证遍历过程不走到k及之后的相交区域,因此循环条件需要增加p!=k,即p未到达k时才继续向后查找。对于②,程序进入循环后一开始就将当前k的原下一个节点存储在变量t中,当把k插入ha链表后,k的指针域已经修改为p,原下一个节点仍然保存在t中,因此下一个待处理的节点应为k=t。故答案为:B。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某签到系统的积分规则如下:
该天的签到情况用0和1表示(0表示未签到),每天签到可获得基础积分1分。若当天属于连续签到,则根据截至当天的连续签到天数,额外获得奖励积分;若当天为连续签到第2天,则额外积2分;若当天为连续签到第3天,则额外积3分;若当天为连续签到第4天,则额外积4分;若连续签到超过4天(即从第5天起),则每天额外积5分。
(1)若某段时间内用户的签到情况为“0110011111”,则该用户的积分为___________。
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
#读取用户的签到情况,存入字符串 s中,代码略
score= cnt=0
for i in range(len(s)):
if s[i]="1":
___________
cnt+=1
if ___________:
score+= cnt
elif cnt>=5:
score+=5
else:
___________
#输出签到总积分,代码略
【答案】(1)25 (2) ①. score += 1或score =score + 1 ②. cnt <= 4 ③. cnt = 0
【解析】
【详解】本题考查Python程序逻辑分析与根据规则计算结果的能力。
(1)签到序列0110011111拆分签到段:
第一段:2个连续签到,总分为(1+1) + (1+2) = 5(基础分共2,额外分共3) 中断2天无积分,连续天数重置;
第二段:5个连续签到,总分为(1*5) + (1+2+3+4+5) = 20(基础分共5,额外分共15) 总积分:5 + 20 = 25
(2)签到首先需要加基础积分1分,因此第一个代码划线处填入score加1的语句,故此处应为:score += 1或score =score + 1;当连续签到天数小于等于4时,额外积分等于当前连续天数,因此第二个划线处的判断条件为连续天数小于等于4,故此处应为:cnt <= 4;当未签到时,连续签到中断,需要将连续签到天数重置为0,因此第三个代码划线处填入:cnt = 0。
14. 某校实验室部署了温度监测系统,采用智能终端连接温度传感器,每5分钟采集一次温度数据,通过无线网络传输至服务器并存储到数据库。服务器根据温度数据判断:温度超出 15℃~30℃范围时,服务器向智能终端发送指令,控制蜂鸣器报警。管理员可通过浏览器查看历史数据。请回答下列问题。
(1)温度数据从采集到存储的流向是___________ (单选,填字母)。
A. 温度传感器→服务器→智能终端→数据库
B. 温度传感器→智能终端→服务器→数据库
C. 温度传感器→智能终端→数据库→服务器
(2)若服务器端的网络中断,下列功能会受影响的是___________ (多选,填字母)。
A. 温度传感器采集温度数据 B. 服务器接收温度数据并写入数据库
C. 浏览器查看历史温度数据 D. 智能终端接收服务器的指令
(3)该系统服务器端程序采用 FlaskWeb框架编写,部分功能页面规划如下表所示。
序号
访问地址
功能说明
1
/ input?s=30
提交传感器数据
2
/ search?d=20260505
查看当天历史数据
该系统的智能终端和服务器端IP 地址分别为196.128.1.13和196.128.1.30,服务器端口是5050,某时刻采集到的温度为28,则此时智能终端将数据提交到服务器的URL为___________。
(4)系统运行一段时间后,管理员发现浏览器上4月1日的温度数据缺失了12:00至14:00的数据,但该天其他时段数据正常。请写出2种可能造成该问题的原因。
(5)2026年4月温度数据存储在 data. xlsx中,部分数据如图a所示。现要找出超出温度范围(低于15℃或高于30℃)最多次数的日期,计算该天各小时的平均温度并绘制如图b所示的折线图。
实现上述功能的部分 Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib. pyplot as plt
df= pd. read_excel(" data. xlsx")
df1= df[(df["温度(℃)"]<15)|(df["温度(℃)"]>30)] #筛选超出温度范围的数据记录
df2=___________
df3=df2. sort_ values("温度(℃)", ascending= False). head(1)
day=df3["日期"]. values[0] #获取第一行数据的日期
df4=___________
for i in df4. index:
df4. at[i,"小时"]=df4. at[i,"时间"][:2]
df5=df4. groupby("小时", as_index= False)["温度(℃)"]. mean()
x=df5["小时"]
y=___________
plt. plot(x,y)
plt. Show()
①②③处可选代码有:
A. df1. groupby("日期", as _ index= False). count()
B. df. groupby("日期", as_ index= False). sum()
C. df1[df1["日期"]== day]
D. df[df["日期"]== day]
E. df4["温度(℃)"]
F. df5["温度(℃)"]
G. df5. values
【答案】(1)B (2)BCD
(3)http://196.128.1.30:5050/input?s=28
(4)1.12:00至14:00期间智能终端断电断网,无法传输数据;2.12:00至14:00期间温度传感器故障,无法采集温度数据,合理即可,如该时间段无线网络故障、服务器临时维护无法接收数据都可。
(5) ①. A ②. D ③. F
【解析】
【小问1详解】
本题考查物联网系统的数据流向。根据题干描述,温度传感器连接在智能终端上,由传感器采集温度数据后传输给智能终端,智能终端再将数据通过网络发送给服务器,最终服务器将数据存储到数据库,因此正确流向为第二个选项。故答案为:B。
【小问2详解】
本题考查网络故障对系统各功能的影响。温度传感器采集数据属于本地硬件操作,不需要服务器网络,因此不受影响;服务器接收温度数据并写入数据库需要连通服务器网络,网络中断后无法完成该功能;浏览器查看历史温度数据需要从服务器获取存储的数据,服务器网络中断后无法实现;智能终端接收服务器的报警指令需要服务器网络连通,网络中断后无法接收。因此受影响的是后三项。故答案为:BCD。
【小问3详解】
本题考查URL地址的构成。提交传感器数据的访问路径为/input,参数s对应采集到的温度值28,URL的格式为http://服务器IP地址:端口/访问路径,因此拼接后得到正确URL。故答案为:http://196.128.1.30:5050/input?s=28。
【小问4详解】
本题考查数据缺失问题的原因分析。该日仅12:00至14:00数据缺失,其他数据正常,说明故障仅发生在该时间段,写出两种合理原因即可。故答案为:1.12:00至14:00期间智能终端断电断网,无法传输数据;2.12:00至14:00期间温度传感器故障,无法采集温度数据,合理即可,如该时间段无线网络故障、服务器临时维护无法接收数据都可。
【小问5详解】
本题考查Python pandas的数据处理操作。df1已经筛选出所有超出温度范围的记录,第一处需要按日期分组统计每个日期的超出次数,因此对df1按日期分组后计数,对应选项A;第二处已经得到超出次数最多的日期day,需要获取该日期的所有温度数据计算小时平均,因此从原始数据df中筛选出该日期的所有记录,对应选项D;第三处df5已经按小时分组计算得到各小时的平均温度,绘图的y轴就是各小时的平均温度,取自df5的温度列,对应选项F。故答案为:第一处A 第二处D 第三处F。
15. 问题描述:
某仓库需要安排工人搬运送达的货物。每辆货车记录有到达时间和货物箱数。所有货物必须在截止时间T内完成搬运。
搬运规则:
Ⅰ.每个工人一次最多连续搬运4箱(同一产品),每箱搬运耗时3单位时间。每次连续搬运结束后(无论搬了几箱),必须休息1单位时间才能进行下一车次搬运。
例:搬1箱→3+1=4 单位时间
搬4箱→4×3+1=13 单位时间
货车到达时:
Ⅰ.货车到达时:若存在“已启用且空闲”的工人(空闲时间≤货车到达时间),则优先安排其中最早空闲的工人。否则,启用一名新工人(新工人从到达时刻开始工作)。
Ⅱ.已启用的工人总数不能超过公司提供的上限n。
Ⅲ.求在不超过n人的前提下,能否完成任务。若能,输出最少需要的工人数;若最少需要人数>n,或截止时间T内不可能完成,输出“任务无法完成!”
编写程序模拟任务分配过程,请回答下列问题。
(1)若货车记录列表 data=[[1,5],[9,7],[17,6]],T=30,则需要的工人数量为___________。
(2)定义 wsort(data)函数,任务列表 data中每个元素包含到达时间、货物箱数两个数据项,函数的功能是根据到达时间对 data进行升序排序。
def wsort(data):
for i in range(len(data)-1):
for j in range(_________):
if data[j][0]> data[j+1][0]:
data[j], data[j+1]= data[j+1], data[j]
return data
划线处应填入的代码为___________(多选,填字母)
A. len(data)-i-1 B. len(data)-i
C. len(data)-2,i,-1 D. len(data)-2,i-1,-1
(3)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
def get_min(lst):
if len(lst)==0:
return - 1
min_idx=0
for i in range(1, len(lst)):
if lst[i]< lst[min_idx]:
min_idx=i
return min_idx
def calc(data,T,n):
max_r=4; dt=3; count=0; ft=1; worker=[]
for task in data:
st, box= task[0], task[1]
remain=T-st-ft
if remain< dt:
return - 1
while box>0:
use_new= True
idx=get_min(worker)
if ___________:
worker= worker[:idx]+ worker[idx+1:]
use_new= False
if use_new:
count+=1
if count>n:
return - 1
once= min(remain// dt, box, max _r)
new_time= ___________
worker. append(new_time)
box-= once
return count
#读取工人数量n,截止时间T,读取货车记录数据存入 data列表,代码略
data= wsort(data)
ans= calc(data,T,n)
if ___________:
print("任务无法完成!")
else:
print("最少需要", ans,"名工人!")
【答案】(1)4 (2)AD
(3) ①. idx != -1 and worker[idx] <= st 或 其它等价表达式 ②. new_time = st + once*3 +1 或 st + once * dt + ft 或其它等价表达式 ③. ans == -1
【解析】
【小问1详解】
本题考查业务过程模拟计算能力。按照题目规则逐步模拟:
第一辆货车(到达时间1,5箱):初始无工人,启用工人1搬4箱,结束空闲时间为1+4×3+1=14,剩余1箱;无其他空闲工人(工人1空闲14>1),启用工人2搬1箱,结束空闲时间1+1×3+1=5,共2个工人。
第二辆货车(到达时间9,7箱):有空闲工人2(空闲5≤9),安排工人2搬4箱,结束空闲时间9+4×3+1=22,剩余3箱;剩余工人1空闲14>9,无可用空闲工人,启用工人3搬3箱,结束空闲时间9+3×3+1=19,共3个工人。
第三辆货车(到达时间17,6箱):有空闲工人1(空闲14≤17),安排工人1搬4箱,结束空闲时间17+4×3+1=30,剩余2箱;剩余工人空闲19、22都大于17,无可用空闲工人,启用工人4搬2箱,结束空闲时间 17+2×3+1=24≤30,共4个工人。 最终需要工人数量为4。故答案为:4。
【小问2详解】
本题考查Python冒泡排序的代码理解。选项A:顺序冒泡,外层 i表示已排序完成放到底部的元素个数,内层 j需要遍历0到 len(data)−i−2,range(len(data)-i-1)正好覆盖该范围,比较交换data[j]和data[j+1],排序正确。选项D:逆序冒泡,要 j从最后一个相邻对位置 len(data)−2降到 i(包含 i),range左闭右开,因此终止参数为 i−1,即range(len(data)-2, i-1, -1),可以正确遍历所有需要比较的相邻对,排序正确。B、C均无法覆盖所有需要比较的位置,排序错误。因此选AD。
【小问3详解】
本题考查Python程序逻辑理解。① 只有当工人列表非空(idx != -1),且最早空闲工人的空闲时间≤当前货车到达时间,才能使用该工人,因此填idx != -1 and worker[idx] <= st。 ② 新工人从货车到达时间st开始工作,本次搬运once箱,耗时为once*3 +1,故结束时间new_time = st + once*3 +1或 st + once * dt + ft。③ 函数calc完成任务返回最少工人数,无法完成返回-1,因此当ans == -1时输出任务无法完成。
第1页/共1页
学科网(北京)股份有限公司
$