内容正文:
高三年级技术学科
考生须知:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作围时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
1. 某智能图书馆系统通过RFID标签记录图书位置。读者可在线查询图书状态并预约。系统自动分析借阅数据,生成热门图书榜单推荐。关于数据与信息的说法,正确的是( )
A. 半年前的榜单数据已经失去价值了
B. 读者的个人信息需要经过加密存储,说明信息具有真伪性
C. 为了推动信息的传播,热门图书榜单推荐可以通过标签云、图表等形式发布
D. 通过对系统中的大数据进行处理,才能生成热门图书榜单推荐
2. 某智能图书馆系统通过RFID标签记录图书位置。读者可在线查询图书状态并预约。系统自动分析借阅数据,生成热门图书榜单推荐。关于信息安全与信息社会责任,下列行为合适的是( )
A. 为方便记忆,将系统登录密码设为生日
B. 在社交平台转发未经核实的图书借阅异常报告
C. 定期更换复杂密码并启用双重验证
D. 将图书馆后台数据上传至公共云盘分享
3. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该信息系统的说法,不正确的是( )
A 通过可穿戴设备实现体征数据动态采集
B. 医生、患者、设备维护人员都属于该系统中的用户
C. 该系统同时采用了B/S和C/S架构
D. WiFi断连不影响血氧数据传输至本地服务器
4. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该系统网络技术与数据安全的说法,最合理的是( )
A. 为了便于访问,系统的本地服务器应使用动态IP地址
B. 为便于医院内的数据流转,在院内搭建一个城域网,供医院员工使用
C. 系统需要对用户的个人数据进行加密,可以采用MD5、CRC、SHA-1等校验方式
D. 患者通过手机APP查看健康报告不一定通过移动通信网络
5. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该系统的硬件与软件,说法不正确的是( )
A. 系统的硬件包括可穿戴设备、血压检测仪、服务器等
B. AI预测算法运行在患者手机APP端
C. 医生工作站与服务器间可进行双向数据传输
D. 可穿戴设备中一般需配备存储器
6. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于系统中使用的AI模型,说法正确的是( )
A. 系统用于预测病情趋势的AI模型属于专家系统
B. 医生参考AI模型预测的结果对病患进行检查诊断,属于跨领域人工智能
C. 有AI模型预测病情趋势,医生就不用再分析监测数据了
D. 为预测病情趋势模型提供更多病患数据能在一定程度上提升其预测的准确率
7. 某算法的流程图如图所示,执行该流程时,若输入s为"bcabc",输出结果为bcb,(1)-(4)处可选的表达式为:
①t←s[j:j+i] ②i←i-1 ③j←0 ④j←j+1
则(1)-(4)处表达式序号依次为( )
A. ③②①④ B. ②③④① C. ②③①④ D. ③②④①
8. 已知一棵节点数量大于3的非空二叉树的前序遍历序列与后序遍历序列完全相反,关于该二叉树的形态,以下描述正确的是( )
A. 所有非根节点均无左孩子 B. 所有非根节点均无右孩子
C. 该树仅有一个叶子节点 D. 该树为满二叉树
9. 元素a,b,c,d依次进入栈中,已知c为第二个出栈的元素,一共有多少种出栈的结果( )
A. 1 B. 3 C. 5 D. 6
10. 运行下列程序段输出结果为( )
def f(a,b):
if a<1:
return a+b
else:
return f(a-2,b-1)+f(a-1,b)
print(f(4,2))
A. 0 B. 6 C. 3 D. 2
11. 有如下程序段,数列a用链表表示一个数字不重复的升序的序列,head为头,现插入一个20以内的正整数,需保证序列a依然有序,依次在划线处选择合适代码( )
a=[[3,1],[7,2],[13,3],[21,-1]] #a表示链表,[元素值,下一元素下标]
head=0 #head表示头元素
#生成一个插入值key(1到20之间的正整数),代码略
p=head;q=a[head][1]
while(1) :
if a[p][0]>key:
a.append([key,p])
(2)
break
elif(3) :
break
elif a[q][0]>key:
a.append([key,q])
a[p][1]=len(a)-1
break
p=q;q=a[q][1]
①p=-1;②q!=-1;③a[p][0]==key;④a[q][0]==key;
⑤head=len(a)-1;⑥a[p][1]=len(a)-1
A. ②⑤③ B. ①⑤③ C. ②⑥④ D. ②⑥③
12. 列表a的长度为10,元素由下列表所示,对于整数3≤i≤6,a[i]=i+1。执行如下程序段,输出的内容是( )
i
0
1
2
……
8
9
a[i]
10
2
……
3
9
8
n,sum=len(a),0
for i in range(n):
for j in range(n):
if a[i]>a[j]:
a[i],a[j]=a[j],a[i]
for i in range(0,n):
sum+=i*a[i]
print(sum%9)
A. 0 B. 2 C. 3 D. 6
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 五一期间,某地各个博物馆人头攒动,预约困难,小明通过编写一段程序为当地各个博物馆计算预约成功概率,为游客提供预约参考。当有剩余名额或取消概率大于0.3时可参与计算,预约成功概率计算方式如下:
(基础剩余名额+取消概率补偿)*动态调整系数*距离衰减系数/特别展览事件
A基础剩余名额:总名额-已预约数
B取消概率补偿:总名额*取消概率*0.8
C动态调整系数(初始值为1):随时间推移增加机会
D距离衰减系数(初始值为1):每公里降低2%优先级,最多衰减至0.5
E特别展览事件:有特别展览则增加30%竞争压力
实现上述功能的部分Python程序如下,请在划线处填入合适
#读取当天数据,存入museum=[["故宫博物院",5000,5000,0.15,9,True],...],每个元素包含博物馆名称、总名额、已预约数、取消概率、距离(已取整)、特别展览,代码略
实时推荐博物馆(按预约成功概率降序)
军事博物馆
科技馆
自然博物馆
美术馆
故宫博物院
#time_coefficient获取当前时间段系数,代码略
①____
for i in range(n):
name,a,b,c,d,e=museum[i]
if②________:
A=a-b
B=a*c*0.8
C=1+(time_coefficient*0.5)
D=③________
if e:E=1.3
else:E=1
score=int((A+B)*C*D/E)
museum[i].append(score)
else:
museum[i].append(0)
a=[I for i in range(n)]
for i in range(n-1):
for j in range(n-i-1):
if④____________:
a[j],a[j+1]=a[j+1],a[j]
print(“实时推荐博物馆(按预约成功概率降序):")
for k in range(n):
print(museum[a[k]][0])
14. 某污水处理厂搭建了水质监测系统,在进水口、处理单元节点、排放口等关键节点各设置1个监测点,采集水体的PH值。智能终端连接传感器,每隔10分钟采集一次数据,通过网络将数据传输到服务器。服务器根据数据判断出异常情况时,并远程预警污染事件
(1)搭建该监测系统时,需要传感器、服务器之外还必须有什么设备___________(单选,填字母:A.智能终端/B.IoT模块)
(2)下列关于该系统设计的说法,错误的有___________(单选,填字母)
A.搭建该系统前需要从技术、经济、社会意义等方面分析系统的可行性
B.通过B/S架构搭建该系统对服务器性能要求较高
C.传感器采集到的数据传输到智能终端必须遵守HTTP协议
(3)以下操作适宜在服务器端处理的是___________(多选,填字母)
A.判定PH值是否超过阈值
B.直接控制执行器开和关
C.预警污染事件
D.将每隔10分钟采集改为20分钟采集一次数据
(4)系统运行一段时间以来,出现过几次预警,经实际检测发现都是错误预警。分析错误预警的可能原因及解决办法。___________
(5)将系统中某年的数据导出到文件data.xlsx中,部分数据如图a所示。当PH值小于6或大于8时为超出阈值,触发预警。根据PH值的数据,绘制各监测点5月份的预警次数示意图。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)
import pandas as pd
import matplotlib.pyplot as plt
#显示中文标签,代码略
df=pd.read_excel("data.xlsx")
①________
②________
③________
④________
plt.bar(df2.index,df2.预警)
#设置绘图参数并显示,代码略
A.df1=df[df.月==5] B.df2=df1.sort_values("预警",ascending=False)
G.df1=df[df.预警=""]] D.df2=df2.sort_values("预警",ascending=False)
E.df2=df1.groupby("监测点").count() F.df2=dfl.groupby("监测点").sum()
G.df1=df1[df1.预警=="是"]
15. 你获得一个奖励,可以去参加一场名人庆祝派对,并且只能待一个小时,但你可以选择在哪个小时出席。你有一张时间表,上面准确地列有每位名人出席派对的时间(如出席时间为7,离开时间为10,代表你7点、8点、9点都可以与名人合影)和每位名人的魅力值,你希望与尽可能多的高魅力值名人合影,以期获得最佳合影体验(获取最高的魅力值累加和),若有多个时刻,魅力值累加和相同,则选择前面的时刻。如下程序用于找出哪个时段出席派对,你可以获得最佳合影体验。若名人参加派对时间表如图a所示,则最佳参加派对的时刻是8,可同时与名人1、名人2、名人3合影,获取最高的魅力值为60。
姓名
出席时间
离开时间
魅力值
名人1
6
9
20
名人2
7
12
30
名人3
8
9
10
名人4
6
7
20
图a
输入名人信息存储在sched中:
sched=[[6,9,20],[7,12,30],[8,9,10],[6,7,20]]
程序运行结果:
最佳出席时间是在8点钟合影最高魅力值为60
能合影的名人是:名人1,名人2,名人3
编程程序,读取名人参加派对数据存储在sched中,sched中每个元素分别表示名人参加派对的“出席时间”、“离开时间”和“魅力值”,输出最佳参加时刻、合影的名人数量、最大的魅力值累加和。
(1)图a中增加一位名人5,出席时间为9,离开时间为11,魅力值为40,则最佳参加派对的时刻为___________。
(2)在划线处填入合适的代码
(3)加框处代码有误,请修改
def bestTimeToParty(schedule):
start=schedule[0][0]
end=schedule[0][1]
for c in schedule:
start=min(c[0],start)
end=max(c[1],end)
count=statistics(schedule,start,end)
maxn=0;time=-1
for key in count: #统计最佳出席时间
sumn=0
for j in count[key]:
①____
if maxn < sumn:
maxn=sumn
②____
print("最佳出席时间在",time,"点钟","合影最高魅力值为",maxn)
return count,time
def statistics(schedule,start,end):
count={}
for i in range(start,end):
for j in range(len(schedule)):
if③____________:
if i not in count:
count[i]=[j]
else:
count[i]+=[j]
return count
n=int(input())
sched=[]
#输入名人信息并存储在sched中,
#如sched=[[6,9,20],[7,12,30],[8,9,10],[6,7,20]]
for i in range(n):
sched.append___________
count,time=bestTimeToParty(sched)
name=""
for i in count[time]:
name+="名人"+str(i+1)+","
print("能合影的名人是:",name[:-1])
第1页/共1页
学科网(北京)股份有限公司
$$
高三年级技术学科
考生须知:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作围时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
1. 某智能图书馆系统通过RFID标签记录图书位置。读者可在线查询图书状态并预约。系统自动分析借阅数据,生成热门图书榜单推荐。关于数据与信息的说法,正确的是( )
A. 半年前的榜单数据已经失去价值了
B. 读者的个人信息需要经过加密存储,说明信息具有真伪性
C. 为了推动信息传播,热门图书榜单推荐可以通过标签云、图表等形式发布
D. 通过对系统中的大数据进行处理,才能生成热门图书榜单推荐
【答案】C
【解析】
【详解】本题考查数据与信息。A 选项错误,数据的价值具有时效性,但半年前的榜单数据仍可能用于分析图书流行趋势的长期变化,或作为历史参考数据,并未完全失去价值。B 选项错误,读者个人信息需加密存储,体现的是信息的安全性(防止泄露或篡改),而非真伪性(真伪性指信息是否真实可靠)。 C 选项正确,标签云、图表等形式能以直观易懂的方式呈现热门图书榜单信息,有助于提升信息的传播效果和可读性,符合信息传播的需求。 D 选项错误,该智能图书馆系统的数据并非大数据。因此,本题选择C。
2. 某智能图书馆系统通过RFID标签记录图书位置。读者可在线查询图书状态并预约。系统自动分析借阅数据,生成热门图书榜单推荐。关于信息安全与信息社会责任,下列行为合适是( )
A. 为方便记忆,将系统登录密码设为生日
B. 在社交平台转发未经核实的图书借阅异常报告
C. 定期更换复杂密码并启用双重验证
D. 将图书馆后台数据上传至公共云盘分享
【答案】C
【解析】
【详解】本题考查信息安全与信息社会责任。A 选项错误,将密码设为生日属于简单密码,易被猜测或破解,不符合信息安全中密码强度要求。 B 选项错误,转发未经核实的报告可能传播虚假信息,违背信息社会责任中 “不传播谣言” 的原则。C 选项正确,定期更换复杂密码并启用双重验证可有效提升账户安全性,符合信息安全最佳实践。D 选项错误,图书馆后台数据可能包含用户隐私或敏感信息,上传至公共云盘分享会导致数据泄露,违反信息安全规范。因此,本题选择 C 选项。
3. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该信息系统的说法,不正确的是( )
A. 通过可穿戴设备实现体征数据动态采集
B. 医生、患者、设备维护人员都属于该系统中的用户
C. 该系统同时采用了B/S和C/S架构
D. WiFi断连不影响血氧数据传输至本地服务器
【答案】D
【解析】
【详解】本题考查信息系统。A 选项正确,可穿戴设备通过持续监测实现体征数据的动态采集,符合系统描述。 B 选项正确,医生、患者及设备维护人员均通过系统进行操作或获取信息,属于系统用户。 C 选项正确,医生通过浏览器登录系统(B/S 架构),患者通过 APP 查看数据(C/S 架构),因此系统同时采用了 B/S 和 C/S 两种架构。 D 选项错误,系统明确说明数据通过 WiFi 传输至本地服务器,若 WiFi 断连,将直接影响数据传输,因此该选项说法不正确。因此,本题选择 D 选项。
4. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该系统网络技术与数据安全的说法,最合理的是( )
A. 为了便于访问,系统的本地服务器应使用动态IP地址
B. 为便于医院内的数据流转,在院内搭建一个城域网,供医院员工使用
C. 系统需要对用户的个人数据进行加密,可以采用MD5、CRC、SHA-1等校验方式
D. 患者通过手机APP查看健康报告不一定通过移动通信网络
【答案】D
【解析】
【详解】本题考查网络技术与数据安全。 A 选项错误,本地服务器需稳定访问,动态 IP 地址会导致地址频繁变更,影响服务连续性,应使用静态 IP 地址。B 选项错误,医院内部网络属于局域网(LAN),城域网(MAN)覆盖范围为城市级,搭建城域网成本高且不符合实际需求,院内应使用局域网实现数据流转。 C 选项错误,MD5、CRC、SHA-1 等属于哈希校验算法,用于验证数据完整性,而非加密(加密需使用对称加密如 AES、非对称加密如 RSA 等算法)。 D 选项正确,患者手机 APP 查看健康报告的网络连接方式取决于环境:若手机连接医院 WiFi(属于局域网或通过 WiFi 接入互联网),则无需通过移动通信网络;若未连接 WiFi,则通过移动数据网络访问。 因此,本题选择 D 选项。
5. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于该系统的硬件与软件,说法不正确的是( )
A. 系统的硬件包括可穿戴设备、血压检测仪、服务器等
B. AI预测算法运行在患者手机APP端
C. 医生工作站与服务器间可进行双向数据传输
D. 可穿戴设备中一般需配备存储器
【答案】B
【解析】
【详解】本题考查信息系统的硬件与软件组成。A 选项正确,系统硬件包括输入设备(可穿戴设备、血压检测仪)、处理设备(服务器)等,符合硬件定义。 B 选项错误,AI 预测算法需依赖大量数据和计算资源,通常在服务器端运行,而非患者手机 APP 端(手机算力和存储有限,且数据需先传输至服务器)。C 选项正确,医生工作站向服务器请求数据(如患者监测数据),服务器向工作站返回数据及告警信息,存在双向数据传输。 D 选项正确,可穿戴设备需临时存储采集的体征数据(如未及时传输至服务器时),因此一般配备存储器。 因此,本题选择 B 选项。
6. 某系统通过心率、血氧传感器等智能可穿戴设备进行长期监测,通过体温、血压检测仪等终端采集阶段数据,将采集到的数据通过WiFi传输至本地服务器。系统采集到数据后借助经过大量数据训练的AI模型预测病情趋势,若数据异常则触发医生工作站告警。本地数据库存储近7日体征数据,云端做长期备份。医生可在院内通过浏览器登陆该系统查看患者监测数据及异常点,患者可通过APP查看电子病历与健康报告。下列关于系统中使用的AI模型,说法正确的是( )
A. 系统用于预测病情趋势的AI模型属于专家系统
B. 医生参考AI模型预测的结果对病患进行检查诊断,属于跨领域人工智能
C. 有AI模型预测病情趋势,医生就不用再分析监测数据了
D. 为预测病情趋势模型提供更多病患数据能在一定程度上提升其预测的准确率
【答案】D
【解析】
【详解】本题考查人工智能。A 选项错误,专家系统是基于规则和逻辑推理的系统,而通过大量数据训练的 AI 模型通常属于机器学习或深度学习模型,并非专家系统。 B 选项错误,跨领域人工智能指将某一领域的 AI 技术应用于另一领域,医生参考 AI 模型预测结果进行诊断属于同一医疗领域内的应用,不属于跨领域人工智能。 C 选项错误,AI 模型预测结果仅为辅助参考,医生仍需结合临床经验和实际监测数据进行综合分析,不能完全替代医生的专业判断。 D 选项正确,在机器学习中,通常情况下为模型提供更多高质量的训练数据能在一定程度上提升模型的预测准确率,因此为预测病情趋势的模型提供更多病患数据有助于其性能优化。因此,本题选择 D 选项。
7. 某算法的流程图如图所示,执行该流程时,若输入s为"bcabc",输出结果为bcb,(1)-(4)处可选的表达式为:
①t←s[j:j+i] ②i←i-1 ③j←0 ④j←j+1
则(1)-(4)处表达式序号依次( )
A. ③②①④ B. ②③④① C. ②③①④ D. ③②④①
【答案】A
【解析】
【详解】本题考查的是流程图识读。由j < n可知,在进入内层循环(判断 j<n)之前,需要对 j 进行初始化,让 j 从 0 开始,这样才能依次截取不同起始位置的子串,所以(1)处应填 j←0 ,即③ 。当内层循环( j<n)结束后,需要对 i 进行调整,让 i 减 1 ,以尝试更短长度的子串,所以(2)处应填 i←i−1 ,即② 。在j < n的循环中,需要根据当前的 j 和 i 来截取子串 t ,表达式 t ←s [j:j+i] 可以实现截取从 j 开始,长度为 i 的子串,所以(3)处应填 t←s[j:j+i] ,即① 。当判断 t=t[::−1] 为 “N”(即 t 不是回文串 )时,需要让 j 增加 1 ,继续尝试下一个起始位置的子串,所以(4)处应填 j←j+1 ,即④ 。故选A。
8. 已知一棵节点数量大于3的非空二叉树的前序遍历序列与后序遍历序列完全相反,关于该二叉树的形态,以下描述正确的是( )
A. 所有非根节点均无左孩子 B. 所有非根节点均无右孩子
C. 该树仅有一个叶子节点 D. 该树为满二叉树
【答案】C
【解析】
【详解】本题考查的是二叉树。要使序列完全相反,二叉树必须是高度倾斜的线性结构(即每个非叶子节点最多只有一个子节点)。仅在树右斜时成立,左斜时不成立(左斜树中非根节点有左孩子)。由于树可能左斜或右斜,A 不一定正确。仅在树左斜时成立,右斜时不成立(右斜树中非根节点有右孩子)。同理,B 不一定正确。在高度倾斜的线性树中,只有一个叶子节点,序列相反的性质要求树不能有分支(否则序列不满足逆序关系),因此C一定正确。满二叉树每个非叶子节点都有两个子节点(如3层满二叉树有7个节点)。其前序和后序序列不互逆(例如前序为根→左→左左→左右→右→右左→右右,后序为左左→左右→左→右左→右右→右→根,逆前序与后序不匹配),因此D错误。故选C。
9. 元素a,b,c,d依次进入栈中,已知c为第二个出栈的元素,一共有多少种出栈的结果( )
A. 1 B. 3 C. 5 D. 6
【答案】C
【解析】
【详解】本题考查的是栈的操作。栈是一种“后进先出”(LIFO)的数据结构。可能的出栈顺序:
1、a, c, b, d
2、a, c, d, b
3、b c, a, d
4、b, c, d, a
5、d, c, b, a
共5种,故选C。
10. 运行下列程序段输出的结果为( )
def f(a,b):
if a<1:
return a+b
else:
return f(a-2,b-1)+f(a-1,b)
print(f(4,2))
A. 0 B. 6 C. 3 D. 2
【答案】C
【解析】
【详解】本题考查递归。计算 f(4, 2) 的步骤如下:
f(4, 2):a=4 >= 1,返回 f(4-2, 2-1) + f(4-1, 2) = f(2, 1) + f(3, 2)
计算 f(2, 1): a=2 >= 1,返回 f(2-2, 1-1) + f(2-1, 1) = f(0, 0) + f(1, 1)。 f(0, 0):a=0 < 1,返回 0 + 0 = 0。 f(1, 1):a=1 >= 1,返回 f(1-2, 1-1) + f(1-1, 1) = f(-1, 0) + f(0, 1)。 f(-1, 0):a=-1 < 1,返回 -1 + 0 = -1。 f(0, 1):a=0 < 1,返回 0 + 1 = 1。 因此,f(1, 1) = -1 + 1 = 0。 因此,f(2, 1) = 0 + 0 = 0。
计算 f(3, 2): a=3 >= 1,返回 f(3-2, 2-1) + f(3-1, 2) = f(1, 1) + f(2, 2)。 f(1, 1) = 0(已计算)。 f(2, 2):a=2 >= 1,返回 f(2-2, 2-1) + f(2-1, 2) = f(0, 1) + f(1, 2)。 f(0, 1) = 1(已计算)。 f(1, 2):a=1 >= 1,返回 f(1-2, 2-1) + f(1-1, 2) = f(-1, 1) + f(0, 2)。 f(-1, 1):a=-1 < 1,返回 -1 + 1 = 0。 f(0, 2):a=0 < 1,返回 0 + 2 = 2。 因此,f(1, 2) = 0 + 2 = 2。 因此,f(2, 2) = 1 + 2 = 3。
因此,f(3, 2) = 0 + 3 = 3。 因此,f(4, 2) = f(2, 1) + f(3, 2) = 0 + 3 = 3。因此,本题选择C。
11. 有如下程序段,数列a用链表表示一个数字不重复的升序的序列,head为头,现插入一个20以内的正整数,需保证序列a依然有序,依次在划线处选择合适代码( )
a=[[3,1],[7,2],[13,3],[21,-1]] #a表示链表,[元素值,下一元素下标]
head=0 #head表示头元素
#生成一个插入值key(1到20之间的正整数),代码略
p=head;q=a[head][1]
while(1) :
if a[p][0]>key:
a.append([key,p])
(2)
break
elif(3) :
break
elif a[q][0]>key:
a.append([key,q])
a[p][1]=len(a)-1
break
p=q;q=a[q][1]
①p=-1;②q!=-1;③a[p][0]==key;④a[q][0]==key;
⑤head=len(a)-1;⑥a[p][1]=len(a)-1
A. ②⑤③ B. ①⑤③ C. ②⑥④ D. ②⑥③
【答案】A
【解析】
【详解】本题考查的是链表的操作。循环条件需确保 q 有效(非 -1),避免访问无效索引,故(1)处为:q!=-1;(2)当 a[p][0] > key 时,key 小于当前节点值,需插入 p 之前,且此时 p 为头节点需更新头指针 head 为新节点索引,故选项 ⑤ head = len(a) - 1。(3)数字不重复,但代码需处理 key 等于现有元素时直接跳出(不插入),elif (3) 后 break,故此处应为相等判断③ a[p][0] == key。故选A。
12. 列表a的长度为10,元素由下列表所示,对于整数3≤i≤6,a[i]=i+1。执行如下程序段,输出的内容是( )
i
0
1
2
……
8
9
a[i]
10
2
……
3
9
8
n,sum=len(a),0
for i in range(n):
for j in range(n):
if a[i]>a[j]:
a[i],a[j]=a[j],a[i]
for i in range(0,n):
sum+=i*a[i]
print(sum%9)
A. 0 B. 2 C. 3 D. 6
【答案】C
【解析】
【详解】本题考查的是循环语句的应用。对于整数3≤i≤6,a[i] = i + 1,因此: a[3] = 3 + 1 = 4 ; a[4] = 4 + 1 = 5 ;a[5] = 5 + 1 = 6 ; a[6] = 6 + 1 = 7。根据表格可知,a[0] = 10,a[1] = 2,a[7] = 3,a[8]=9,a[9] = 8,记a[2]值为X。程序中的双重循环的功能是实现降序排序:排序前列表:[10, 2, X, 4, 5, 6, 7, 3, 9, 8] ,排序后的列表(降序)中,值集合为{10, 9, 8, 7, 6, 5, 4, 3, 2, X},且排序后列表固定为: b[0] = max(10, X) ,则sum%9的值可通过多个X值模拟验证:例如 X=1: 排序后 [10,9,8,7,6,5,4,3,2,1], S = 0*10 + 1*9 + 2*8 + 3*7 + 4*6 + 5*5 + 6*4 + 7*3 + 8*2 + 9*1 = 165, 165 % 9 = 3; 例如 X=11: 排序后 [11,10,9,8,7,6,5,4,3,2], S = 0*11 + 1*10 + 2*9 + 3*8 + 4*7 + 5*6 + 6*5 + 7*4 + 8*3 + 9*2 = 210, 210 % 9 = 3 ;例如 X=0: 排序后 [10,9,8,7,6,5,4,3,2,0], S = 0*10 + 1*9 + 2*8 + 3*7 + 4*6 + 5*5 + 6*4 + 7*3 + 8*2 + 9*0 = 156, 156 % 9 = 3。因此,本题选择C。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 五一期间,某地各个博物馆人头攒动,预约困难,小明通过编写一段程序为当地各个博物馆计算预约成功概率,为游客提供预约参考。当有剩余名额或取消概率大于0.3时可参与计算,预约成功概率计算方式如下:
(基础剩余名额+取消概率补偿)*动态调整系数*距离衰减系数/特别展览事件
A基础剩余名额:总名额-已预约数
B取消概率补偿:总名额*取消概率*0.8
C动态调整系数(初始值为1):随时间推移增加机会
D距离衰减系数(初始值为1):每公里降低2%优先级,最多衰减至0.5
E特别展览事件:有特别展览则增加30%竞争压力
实现上述功能的部分Python程序如下,请在划线处填入合适
#读取当天数据,存入museum=[["故宫博物院",5000,5000,0.15,9,True],...],每个元素包含博物馆名称、总名额、已预约数、取消概率、距离(已取整)、特别展览,代码略
实时推荐博物馆(按预约成功概率降序)
军事博物馆
科技馆
自然博物馆
美术馆
故宫博物院
#time_coefficient获取当前时间段系数,代码略
①____
for i in range(n):
name,a,b,c,d,e=museum[i]
if②________:
A=a-b
B=a*c*0.8
C=1+(time_coefficient*0.5)
D=③________
if e:E=1.3
else:E=1
score=int((A+B)*C*D/E)
museum[i].append(score)
else:
museum[i].append(0)
a=[I for i in range(n)]
for i in range(n-1):
for j in range(n-i-1):
if④____________:
a[j],a[j+1]=a[j+1],a[j]
print(“实时推荐博物馆(按预约成功概率降序):")
for k in range(n):
print(museum[a[k]][0])
【答案】 ①. n = len(museum) ②. (a - b) > 0 or c > 0.3 ③. max(0.5, 0.98 ** d) ④. museum[a[j]][6] < museum[a[j+1]][6]
【解析】
【详解】本题考查的是数组的综合应用。①需要获取博物馆列表museum的长度,用于后续遍历,故此处应为:n = len(museum);②根据题目要求,当有剩余名额(总名额 - 已预约数 > 0)或取消概率 > 0.3时,才计算预约成功概率。变量a为总名额,b为已预约数,c为取消概率。故此处应为:(a - b) > 0 or c > 0.3;③计算距离衰减系数,初始值为1,每公里降低2%优先级(即乘0.98),但最多衰减至0.5(最小值),变量d为距离(整数,单位公里)。每公里衰减公式为0.98 ** d(表示乘方运算),但需限制最小值0.5,使用max(0.5, 0.98 ** d)。故此处应为:max(0.5, 0.98 ** d);④对博物馆按预约成功概率降序排序(概率大的在前)。排序基于score值,score存储在museum[i]的索引6位置(因原始数据有6个元素,append(score)后索引为6)。a[j]和a[j+1]是索引值,museum[a[j]][6]获取对应博物馆的score。条件为真时交换,确保大值前移,实现降序。故此处应为:museum[a[j]][6] < museum[a[j+1]][6]。
14. 某污水处理厂搭建了水质监测系统,在进水口、处理单元节点、排放口等关键节点各设置1个监测点,采集水体的PH值。智能终端连接传感器,每隔10分钟采集一次数据,通过网络将数据传输到服务器。服务器根据数据判断出异常情况时,并远程预警污染事件
(1)搭建该监测系统时,需要传感器、服务器之外还必须有什么设备___________(单选,填字母:A.智能终端/B.IoT模块)
(2)下列关于该系统设计的说法,错误的有___________(单选,填字母)
A.搭建该系统前需要从技术、经济、社会意义等方面分析系统的可行性
B.通过B/S架构搭建该系统对服务器性能要求较高
C.传感器采集到的数据传输到智能终端必须遵守HTTP协议
(3)以下操作适宜在服务器端处理的是___________(多选,填字母)
A.判定PH值是否超过阈值
B.直接控制执行器开和关
C.预警污染事件
D.将每隔10分钟采集改为20分钟采集一次数据
(4)系统运行一段时间以来,出现过几次预警,经实际检测发现都是错误预警。分析错误预警的可能原因及解决办法。___________
(5)将系统中某年的数据导出到文件data.xlsx中,部分数据如图a所示。当PH值小于6或大于8时为超出阈值,触发预警。根据PH值的数据,绘制各监测点5月份的预警次数示意图。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)
import pandas as pd
import matplotlib.pyplot as plt
#显示中文标签,代码略
df=pd.read_excel("data.xlsx")
①________
②________
③________
④________
plt.bar(df2.index,df2.预警)
#设置绘图参数并显示,代码略
A.df1=df[df.月==5] B.df2=df1.sort_values("预警",ascending=False)
G.df1=df[df.预警="是"]] D.df2=df2.sort_values("预警",ascending=False)
E.df2=df1.groupby("监测点").count() F.df2=dfl.groupby("监测点").sum()
G.df1=df1[df1.预警=="是"]
【答案】 ①. A ②. C ③. AC ④. 可能原因: 传感器本身存在误差,导致采集的 PH 值数据不准确,使判断出现错误预警。服务器端设置的 PH 阈值不合理,与实际合理的水质 PH 预警标准有偏差。 解决办法: 对传感器进行校准,定期检测和维护,保证其采集数据的准确性。 重新调研、分析合理的 PH 阈值范围,调整服务器端的判断标准 。 ⑤. A ⑥. G ⑦. E ⑧. D
【解析】
【详解】本题考查信息系统搭建和pandas数据分析。
(1) 搭建该监测系统,智能终端用于连接传感器并初步处理、传输数据,IoT 模块一般是智能终端实现网络连接等功能的一部分,这里搭建系统除传感器、服务器外,必须有智能终端来作为传感器数据采集和传输的中间设备,所以答案为 A(智能终端) 。
(2) A 选项:搭建系统前从技术、经济、社会意义等方面分析可行性是合理且必要的,说法正确。 B 选项:B/S(浏览器 / 服务器)架构下,客户端功能相对简单,大量数据处理等在服务器端,对服务器性能要求较高,说法正确。 C 选项:传感器采集的数据传输到智能终端不一定必须遵守 HTTP 协议,还可以是其他合适的通信协议(如 MQTT 等),该说法错误,所以答案为 C 。
(3) A 选项:判定 PH 值是否超过阈值,服务器接收数据后进行逻辑判断,适宜在服务器端处理。 B 选项:直接控制执行器开和关一般是智能终端控制设备的功能,服务器主要负责数据处理和决策通知,不是直接控制执行器,不适宜。 C 选项:预警污染事件是服务器根据判断结果执行的功能,适宜在服务器端处理。 D 选项:采集间隔是在智能终端或传感器设置里调整,不是服务器端处理的,不适宜。 所以答案为 AC 。
(4)可能原因: 传感器本身存在误差,导致采集的 PH 值数据不准确,使判断出现错误预警。服务器端设置的 PH 阈值不合理,与实际合理的水质 PH 预警标准有偏差。 解决办法: 对传感器进行校准,定期检测和维护,保证其采集数据的准确性。 重新调研、分析合理的 PH 阈值范围,调整服务器端的判断标准 。
(5) ①处:要先筛选出 5 月份的数据,所以应填入df1 = df[df.月 == 5] ,即从整个数据框df中选取月份为 5 的数据,得到df1,答案为 A 。 ②处:接着要筛选出预警为"是"的数据,以便统计各监测点预警次数,所以填入df1 = df1[df1.预警 == "是"] ,答案为 G 。 ③处:然后按监测点分组并统计每个监测点的预警次数(这里用count统计符合条件的记录数),即df2 = df1.groupby("监测点").count() ,答案为 E 。 ④处:为了让绘图时监测点按预警次数降序排序显示,填入df2 = df2.sort_values("预警", ascending=False) ,答案为 D 。
15. 你获得一个奖励,可以去参加一场名人庆祝派对,并且只能待一个小时,但你可以选择在哪个小时出席。你有一张时间表,上面准确地列有每位名人出席派对的时间(如出席时间为7,离开时间为10,代表你7点、8点、9点都可以与名人合影)和每位名人的魅力值,你希望与尽可能多的高魅力值名人合影,以期获得最佳合影体验(获取最高的魅力值累加和),若有多个时刻,魅力值累加和相同,则选择前面的时刻。如下程序用于找出哪个时段出席派对,你可以获得最佳合影体验。若名人参加派对时间表如图a所示,则最佳参加派对的时刻是8,可同时与名人1、名人2、名人3合影,获取最高的魅力值为60。
姓名
出席时间
离开时间
魅力值
名人1
6
9
20
名人2
7
12
30
名人3
8
9
10
名人4
6
7
20
图a
输入名人信息存储在sched中:
sched=[[6,9,20],[7,12,30],[8,9,10],[6,7,20]]
程序运行结果:
最佳出席时间是在8点钟合影最高魅力值为60
能合影的名人是:名人1,名人2,名人3
编程程序,读取名人参加派对的数据存储在sched中,sched中每个元素分别表示名人参加派对的“出席时间”、“离开时间”和“魅力值”,输出最佳参加时刻、合影的名人数量、最大的魅力值累加和。
(1)图a中增加一位名人5,出席时间为9,离开时间为11,魅力值为40,则最佳参加派对的时刻为___________。
(2)在划线处填入合适的代码
(3)加框处代码有误,请修改
def bestTimeToParty(schedule):
start=schedule[0][0]
end=schedule[0][1]
for c in schedule:
start=min(c[0],start)
end=max(c[1],end)
count=statistics(schedule,start,end)
maxn=0;time=-1
for key in count: #统计最佳出席时间
sumn=0
for j in count[key]:
①____
if maxn < sumn:
maxn=sumn
②____
print("最佳出席时间是在",time,"点钟","合影最高魅力值为",maxn)
return count,time
def statistics(schedule,start,end):
count={}
for i in range(start,end):
for j in range(len(schedule)):
if③____________:
if i not in count:
count[i]=[j]
else:
count[i]+=[j]
return count
n=int(input())
sched=[]
#输入名人信息并存储在sched中,
#如sched=[[6,9,20],[7,12,30],[8,9,10],[6,7,20]]
for i in range(n):
sched.append___________
count,time=bestTimeToParty(sched)
name=""
for i in count[time]:
name+="名人"+str(i+1)+","
print("能合影的名人是:",name[:-1])
【答案】 ①. 9 ②. sumn += schedule[j][2] 或其它等价答案 ③. time = key ④. schedule[j][0] <= i < schedule[j][1] 或其它等价答案 ⑤. [int(input()), int(input()), int(input())]
【解析】
【详解】本题考查的是数组的综合应用。
(1)新增名人5(9点出席,11点离开,魅力值40)后,各时段魅力值总和如下:
6点:名人1(20) + 名人4(20) = 40
7点:名人1(20) + 名人2(30) = 50
8点:名人1(20) + 名人2(30) + 名人3(10) = 60
9点:名人2(30) + 名人5(40) = 70(最大值)
10点:名人2(30) + 名人5(40) = 70 (最大值)
11点:名人2(30) = 30
若有多个时刻,魅力值累加和相同,则选择前面的时刻,因此最佳时刻是 9点(魅力值总和70)。
(2)①处需要累加当前时间点(key)下所有在场名人的魅力值。count[key]存储的是在该时间点在场的名人索引列表。schedule[j]表示第j个名人的信息([出席时间, 离开时间, 魅力值]),因此schedule[j][2]获取魅力值,并进行累加,故此处应为:sumn += schedule[j][2];②当当前魅力值总和(sumn)大于已知最大值(maxn)时,需要更新最大值和最佳时间点。此处已更新maxn = sumn,接着需将最佳时间点time设置为当前时间点key,故此处应为:time = key;③此处需判断第j个名人是否在时间点i在场。根据题目说明,名人在出席时间(包含)到离开时间(不包含)之间在场(例如,出席时间7,离开时间10,表示7点、8点、9点在),故此处应为:schedule[j][0] <= i < schedule[j][1]。
(3)append() 方法只接受一个参数(即一个列表元素),但原代码传递了三个单独值(input()的结果),导致语法错误。 input() 返回字符串,需要转换为整数(int)以匹配数据格式(如[6,9,20])。 修改后,将三个输入值(出席时间、离开时间、魅力值)转换为整数并放入一个列表中,再追加到sched中,确保数据结构正确,故应修改为:sched.append([int(input()), int(input()), int(input())])。
第1页/共1页
学科网(北京)股份有限公司
$$