内容正文:
台州市2025学年第二学期高二年级期末质量评估试题
技术
2026.6
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某校图书馆采用座位预约系统,实现全程数字化管理,用户可在校内外通过APP、浏览器或自助一体机等终端实时查看各自修室的座位信息,进行座位预约、查询和取消操作。该预约系统与图书馆各自修室的门禁闸机联动,用户通过校园卡或刷脸进行签到和签退。同时,管理员可查看各自修室的实时数据和生成各类统计报表。阅读材料,回答下列小题。
1. 下列关于该系统中数据的说法,正确的是( )
A. 签到和签退的数据仅存储在门禁闸机设备中
B. 数据在各终端的表现形式可以是多样化的
C. 座位预约系统的历史数据不具备任何意义
D. 预约后又取消的座位信息变化体现了信息的真伪性
2. 该系统应用中,属于人工智能技术的是( )
A. 用户通过刷脸进行签到和签退 B. 用户通过APP取消预约
C. 用户根据需求灵活选择并预约座位 D. 用户预约成功后系统自动发送短信
3. 下列关于信息安全与信息社会责任的做法,合理的是( )
A. 将取消次数较多的用户信息发布到网络
B. 借用他人校园卡进行座位预约和使用
C. 收集用户反馈意见及时更新和优化软件
D. 为所有用户开放生成统计报表的权限
4. 下列关于该信息系统功能和设计的说法,不正确的是( )
A. 统计报表可用于分析学生的使用规律
B. 设计该系统时无需考虑数字鸿沟问题
C. 查询本人的预约信息可通过APP实现
D. 预约成功后发送提醒信息属于数据输出功能
5. 下列关于该系统中硬件和软件的说法,正确的是( )
A. 座位预约系统属于系统软件
B. 该系统的网络应用软件采用C/S架构
C. 连入该系统的所有终端都要有传感器的支撑
D. 闸机获取校园卡信息可通过RFID技术实现
6. 下列关于该系统中网络技术的说法,正确的是( )
A. 该系统接入因特网必须通过交换机
B. 用户连入校内局域网才可使用系统的各个功能
C. 自助一体机访问服务器无需网络协议的支持
D. 生成的各类统计报表属于该系统的网络资源
7. 某玩家和计算机进行“石头剪刀布”游戏,规则为:剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局数先到3局的为赢家。用g表示玩家,c表示计算机,数字0表示石头,1表示剪刀,2表示布,算法的部分流程图如图所示。下列说法不正确的是( )
A. 某局玩家输入的数字为1,结果为玩家胜,则计算机生成的数字为2
B. 流程图中变量a、b分别表示玩家和计算机的胜局数
C. 流程图中循环体的执行次数最少为3次,最多为5次
D. 流程图中“玩家胜?”的Python表达式可以写成“(g+1)% 3=c”
8. 某二叉树如图所示,若要使该二叉树成为一棵完全二叉树,不改变现有节点的位置,则至少需要添加的节点数是( )
A. 5 B. 6 C. 7 D. 8
9. 队列中队首到队尾元素依次为“甲”、“乙”、“丙”、“丁”、“戊”。约定:T操作是指队首元素出队再入队,Q操作是队首元素出队并输出。依次重复T、Q操作直至队列为空,则最后输出的字符是( )
A. 戊 B. 丁 C. 丙 D. 乙
10. 有如下Python程序段:
i, t=0, “”
while i<len(s):
c=s[i]
if “a”<=c<= “z”:
c=chr((ord(c)-ord(“a”) + n) % 26 +ord(“a”))
elif “0”<=c<= “9”;
c=str((int(c)-n)%10)
t+=c
i+=1
若s为“9y#A3”,n为4,执行该程序段后,t的值为( )
A. “5c#A9” B. “3c#A7” C. “5c9” D. “3c7”
11. 有如下Python程序段:
s=[0]*len(a); top=-1; t=[]
for x in a:
if top ==-1 or x> s[top]:
top +=1; s[top]=x
else:
if top +1>len(t):
t=s[:top+1]
top=0; s[top]=x
if top +1>len(t):
t=s[:top+1]
若a为[1,2,3,2,2,3,4,1],执行该程序段后,t的值为( )
A. [1,2,3] B. [2,3,4] C. [2,2,3,4] D. [1,2,3,4]
12. 数组d存放着n个整型数据,且d[0]≤d[1]≤…≤d[n-1],现要统计并输出key值的数据个数,实现该功能的程序段如下,方框(1)、(2)处分别应填入的正确代码为( )
def find(key, d, i, j):
if i>j:
return i
m=(i+j)//2
if :
return find(key, d, i+1, j)
else:
return find(key, d, i, j-1)
#获取d、key的值,代码略
i, j=0,len(d)-1
total=find(, d, i, j)-find (key- 1, d, i, j)
print(total)
A. key>d[m] key+1 B. key>=d[m] key+1
C. key>d[m] key D. key>=d[m] key
二、非选择题(本大题共3小题,其中第13小题9分,第14小题8分,第15小题9分,共26分)
13. 某小组模拟搭建停车场智能管理系统,采用智能终端连接摄像头,并通过无线通信方式将图像数据传输至服务器,服务器处理后,通过智能终端在显示屏上显示车牌和费用信息并控制道闸的升降。系统支持通过微信公众号推送停车账单,管理员可通过浏览器查看系统数据。请回答下列问题:
(1)该系统中负责车辆信息采集的设备是_________(单选)。
A.摄像头 B.道闸 C.显示屏
(2)该系统智能终端与其他设备之间的数据传输关系,合理的是_________(单选)。
A.只能由服务器传输至智能终端
B.只能由智能终端传输至显示屏
C.只能由智能终端传输至摄像头
(3)关于该系统功能的说法,正确的有_________(多选)。
A.服务器可直接控制入口道闸的升降动作
B.计算停车费用的功能可在智能终端完成,以减轻服务器压力
C.微信公众号推送停车账单的功能可由服务器端实现
D.服务器发生故障时,管理员仍可通过浏览器查看历史数据
(4)系统测试时发现车辆驶入时显示屏上能正常显示车牌信息,但入口道闸始终不抬杆,请分析并写出两种可能的原因。_________
(5)将该系统某月的车辆出场记录导出到文件“parking.xlsx”中,部分数据如图a所示。统计该月每天的收费总额,选择总额最多的前5天数据,绘制如图b所示的柱形图。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel (“parking.xlsx”)
df1=①_______________________________
df1=②_______________________________
df1=③_______________________________
#设置绘图参数,选取df1中的数据创建图表,代码略
程序中①②③处可选的代码有:
A. df[df[是否出场]= “已出场”]
B. df[df.是否出场= “已出场”]
C. dfl.sort_values(“停车费用”, ascending=True).tail(5) #升序排序
D. df1.sort_values(“停车费用”, ascending=False).head(5)
E. df1.groupby(“日”, as_index = False).停车费用.count() #分组计数
F. df1.groupby(“日”, as_index =False).停车费用.sum()
14. 某图书馆的座位以行列的形式排列,读者可根据所需空位数通过程序查看系统推荐位置。系统推荐的规则如下:
①若所需空位数为r,则r个位置必须为同一行的连续空位。
②若有多处连续空位数大于等于r,则优先选择连续空位数最少的。
③若存在多个符合要求的连续空位,则优先行号最小的,相同行号选列号最小的。
请回答下列问题:
(1)若座位如表所示,r为2,则推荐位置的起始行列号是第_____行,第_____列。
第1列
第2列
第3列
第4列
第5列
第1行
占用
空位
空位
空位
占用
第2行
空位
空位
占用
空位
空位
第3行
占用
空位
占用
空位
空位
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取行数n,列数m,所需空位数r,代码略
#读取当前座位状态存入二维数组seat中。seat[0][0]表示第1行第1列,元素值为0表示空位,为1表示座位已被占用,代码略
length=0 #推荐位置的连续空位数,初值为0
for i in range(n):
①__________
while j<m:
if seat[i][j]=0:
start=j
while j<m and seat [i][j]==0:
j+=1
②__________
if t>=r:
if③__________:
length=t
pos=[i+1, start+1] #推荐位置的起始行列号
else:
j+=1
#若不存在推荐位置则输出提示,否则输出推荐位置,代码略
15. 某校运动会设有m个比赛项目(编号0~m-1),每个项目有人数上限。学生在线报名,系统按报名记录的提交顺序逐条处理,对于每条报名记录,若该选手尚未成功报名该项目且该项目当前已成功报名人数未达上限,则报名成功;否则报名失败。
请回答下列问题:
(1)若报名记录如图所示,项目0和项目1的上限人数分别为3和2,则报名成功的记录数共______条。
(2)定义如下函数bubble_sort(1st),其功能是对成功报名的记录按项目编号升序排列,相同项目编号按选手编号升序排列。列表1st中的每个元素包含三个数据项,依次为提交顺序、项目编号和选手编号。
提交顺序
项目编号
选手编号
1
0
101
2
1
103
3
1
105
4
0
101
5
1
104
6
0
103
def bubble_sort(1st):
n=len(1st)
for i in range(n-1):
flag=False
for j in range():
a=lst[j]; b=1st[j+1]
if a[1]>b[1] or a[1]=b[1] and a[2]>b[2]:
1st[j], 1st[j+1]=1st[j+1], 1st[j]
flag=True
if flag =False:
break
return 1st
①若lst为[1,0,103],[2,1,102],[3,1,104],[4,0,101],[5,0,104],[6,2,103]],则函数中冒泡排序算法的排序遍数为________。
②程序中方框处的代码可以替换为________(单选)。
A. n-2, i-1, -1 B. n-2-i, 0, -1 C. i, n-1, 1
(3)实现报名处理功能的Python程序如下,请在划线处填入合适的代码。
dcf proc(data, cap):
m=lcn(cap)
info=[[-1, -1] for i in range(m)]
nodes=[]; success=[]; cnt=[0]*m
for item in data:
t, proj, pid=item[0], item[1], item[2]
if①___________: #工项目已满员
continue
check=False
p=info[proj][0]
while p!=-1:
if nodes[p][0]=pid:
check=True
break
②__________
if check=True: #选手已成功报名该项目
continue
#报名成功的数据处理
nodes.append([pid,-1]) #为nodes末尾追加一个元素[pid,-1]
if info[proj][0]=-1:
info[proj][0]=len(nodes)-1
else:
③________
info[proj][1]=len(nodes)-1
success.append([t, proj, pid])
cnt[proj]+=1
return success
‘‘‘
将报名记录信息存入data列表,每个元素包含三个数据项,依次为提交顺序、项目编号和选手编号;
将每个项目的上限人数信息存入cap列表。
代码略
’’’
1st=proc (data, cap)
print (bubble_sort(1st))
第1页/共1页
学科网(北京)股份有限公司
$
台州市2025学年第二学期高二年级期末质量评估试题
技术
2026.6
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某校图书馆采用座位预约系统,实现全程数字化管理,用户可在校内外通过APP、浏览器或自助一体机等终端实时查看各自修室的座位信息,进行座位预约、查询和取消操作。该预约系统与图书馆各自修室的门禁闸机联动,用户通过校园卡或刷脸进行签到和签退。同时,管理员可查看各自修室的实时数据和生成各类统计报表。阅读材料,回答下列小题。
1. 下列关于该系统中数据的说法,正确的是( )
A. 签到和签退的数据仅存储在门禁闸机设备中
B. 数据在各终端的表现形式可以是多样化的
C. 座位预约系统的历史数据不具备任何意义
D. 预约后又取消的座位信息变化体现了信息的真伪性
2. 该系统应用中,属于人工智能技术的是( )
A. 用户通过刷脸进行签到和签退 B. 用户通过APP取消预约
C. 用户根据需求灵活选择并预约座位 D. 用户预约成功后系统自动发送短信
3. 下列关于信息安全与信息社会责任的做法,合理的是( )
A. 将取消次数较多的用户信息发布到网络
B. 借用他人校园卡进行座位预约和使用
C. 收集用户反馈意见及时更新和优化软件
D. 为所有用户开放生成统计报表的权限
4. 下列关于该信息系统功能和设计的说法,不正确的是( )
A. 统计报表可用于分析学生的使用规律
B. 设计该系统时无需考虑数字鸿沟问题
C. 查询本人的预约信息可通过APP实现
D. 预约成功后发送提醒信息属于数据输出功能
5. 下列关于该系统中硬件和软件的说法,正确的是( )
A. 座位预约系统属于系统软件
B. 该系统的网络应用软件采用C/S架构
C. 连入该系统的所有终端都要有传感器的支撑
D. 闸机获取校园卡信息可通过RFID技术实现
6. 下列关于该系统中网络技术的说法,正确的是( )
A. 该系统接入因特网必须通过交换机
B. 用户连入校内局域网才可使用系统的各个功能
C. 自助一体机访问服务器无需网络协议的支持
D. 生成的各类统计报表属于该系统的网络资源
【答案】1. B 2. A 3. C 4. B 5. D 6. D
【解析】
【1题详解】
本题考查数据与信息的基本概念。签到签退的数据需要存储在系统的服务器端,并非仅存储在门禁闸机中,第一个选项错误;不同终端如APP、浏览器、自助一体机中,数据可以以文字、图像、图形等不同形式呈现,表现形式可以是多样化的,第二个选项正确;历史数据可以用于分析座位使用规律,优化图书馆管理,具备实际意义,第三个选项错误;预约后取消的座位信息变化体现的是信息的时效性,不是真伪性,第四个选项错误。故答案为:B。
【2题详解】
本题考查人工智能技术的应用。刷脸签到签退用到了人工智能中的人脸识别技术,属于人工智能的应用,第一个选项符合要求;用户通过APP取消预约、选择预约座位、系统自动发送短信都属于信息系统的普通功能,不属于人工智能技术应用,其余选项错误。故答案为:A。
【3题详解】
本题考查信息安全与信息社会责任。将用户信息发布到网络会侵犯用户隐私,第一个选项错误;借用他人校园卡违规,不符合使用规则,第二个选项错误;收集用户反馈及时更新优化软件是合理的做法,第三个选项正确;给所有用户开放统计报表权限会带来信息安全风险,第四个选项错误。故答案为:C。
【4题详解】
本题考查信息系统的功能与设计,题目要求选出不正确的说法。统计报表包含用户使用数据,可以用于分析学生使用规律,第一个选项正确;设计系统需要考虑数字鸿沟问题,照顾对智能设备不熟悉的用户群体,因此“无需考虑数字鸿沟问题”的说法错误,第二个选项符合题意;APP作为系统终端可以实现预约信息查询功能,第三个选项正确;预约成功后发送提醒是将处理后的数据输出给用户,属于数据输出功能,第四个选项正确。故答案为:B。
【5题详解】
本题考查信息系统的硬件与软件知识。座位预约系统是面向特定应用的应用软件,不属于系统软件,第一个选项错误;该系统支持浏览器访问,说明采用了B/S架构,并非只能采用C/S架构,第二个选项错误;连入系统的部分终端不需要传感器,比如手机仅查询预约就不需要传感器支持,第三个选项错误;校园卡一般采用RFID射频识别技术,闸机可以通过该技术获取校园卡信息,第四个选项正确。故答案为:D。
【6题详解】
本题考查信息系统中的网络技术基础知识。接入因特网可以通过路由器等设备,不是必须通过交换机,第一个选项错误;题干说明用户可以在校外使用该系统的功能,不需要必须连入校内局域网,第二个选项错误;任何网络访问服务器都需要网络协议的支持,第三个选项错误;系统生成的各类统计报表存储在系统中,属于该系统的网络资源,第四个选项正确。故答案为:D。
7. 某玩家和计算机进行“石头剪刀布”游戏,规则为:剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局数先到3局的为赢家。用g表示玩家,c表示计算机,数字0表示石头,1表示剪刀,2表示布,算法的部分流程图如图所示。下列说法不正确的是( )
A. 某局玩家输入的数字为1,结果为玩家胜,则计算机生成的数字为2
B. 流程图中变量a、b分别表示玩家和计算机的胜局数
C. 流程图中循环体的执行次数最少为3次,最多为5次
D. 流程图中“玩家胜?”的Python表达式可以写成“(g+1)% 3=c”
【答案】C
【解析】
【详解】本题考查算法流程图的逻辑分析。第一个选项:玩家输入数字1代表剪刀,根据规则剪刀胜布,布对应数字为2,因此玩家胜时计算机生成的数字为2,该说法正确。第二个选项:玩家胜会执行a自增1,计算机胜会执行b自增1,因此a代表玩家胜局数,b代表计算机胜局数,该说法正确。第三个选项:当对局为平局时,玩家胜和计算机胜的判断都不成立,a和b都不会增加,循环体可以一直执行,执行次数没有上限,并非最多为5次,该说法错误。第四个选项:验证表达式,0代表石头、1代表剪刀、2代表布,g=0时,(0+1)%3=1,对应石头胜剪刀,符合规则;g=1时,(1+1)%3=2,对应剪刀胜布,符合规则;g=2时,(2+1)%3=0,对应布胜石头,符合规则,该说法正确。故答案为:C。
8. 某二叉树如图所示,若要使该二叉树成为一棵完全二叉树,不改变现有节点的位置,则至少需要添加的节点数是( )
A. 5 B. 6 C. 7 D. 8
【答案】C
【解析】
【详解】本题考查完全二叉树的定义与节点补全计算相关知识。先分层统计原图节点:第1层(根)1个,第2层2个,第3层3个,第4层1个,现有总节点数 = 1 + 2 + 3 + 1 = 7。完全二叉树规则:除最后一层外,前面所有层必须填满,最后一层节点从左往右连续排布。第1层最多2^0 = 1个,已填满,无需添加;第2层最多2^1 = 2个,已填满,无需添加;第3层最多2^2 = 4个,现有3个,缺少 4 - 3 = 1 个;树的最大深度为4,第4层最多2^3 = 8个节点,原图第4层仅最右侧有1个,完全二叉树要求第4层节点全部靠左,因此第4层前6个位置都要补节点,需要添加 6 个; 合计需要添加 1 + 6 = 7个节点。因此,本题选择C选项。
9. 队列中队首到队尾元素依次为“甲”、“乙”、“丙”、“丁”、“戊”。约定:T操作是指队首元素出队再入队,Q操作是队首元素出队并输出。依次重复T、Q操作直至队列为空,则最后输出的字符是( )
A. 戊 B. 丁 C. 丙 D. 乙
【答案】C
【解析】
【详解】本题考查队列的基本操作。初始队列队首到队尾依次为甲、乙、丙、丁、戊,按照规则依次重复T操作(队首出队再入队)、Q操作(队首出队输出),操作过程如下:
第一次操作:T操作将队首甲出队后入队,队列变为乙、丙、丁、戊、甲,Q操作输出乙,剩余队列为丙、丁、戊、甲;
第二次操作:T操作将队首丙出队后入队,队列变为丁、戊、甲、丙,Q操作输出丁,剩余队列为戊、甲、丙;
第三次操作:T操作将队首戊出队后入队,队列变为甲、丙、戊,Q操作输出甲,剩余队列为丙、戊;
第四次操作:T操作将队首丙出队后入队,队列变为戊、丙,Q操作输出戊,剩余队列为丙;
第五次操作:T操作将队首丙出队后入队,队列仍为丙,Q操作输出丙,队列变空,因此最后输出的字符是丙,对应题干第三个选项。故答案为:C。
10. 有如下Python程序段:
i, t=0, “”
while i<len(s):
c=s[i]
if “a”<=c<= “z”:
c=chr((ord(c)-ord(“a”) + n) % 26 +ord(“a”))
elif “0”<=c<= “9”;
c=str((int(c)-n)%10)
t+=c
i+=1
若s为“9y#A3”,n为4,执行该程序段后,t的值为( )
A. “5c#A9” B. “3c#A7” C. “5c9” D. “3c7”
【答案】A
【解析】
【详解】本题考查Python循环、字符加密与分支判断相关知识。已知 s = "9y#A3",n = 4,初始 i = 0、t = "",逐字符遍历计算:
1. i = 0,c = '9',满足 '0' <= c <= '9':(9 - 4) % 10 = 5,c = "5",t = "5",i = 1;
2. i = 1,c = 'y',满足 'a' <= c <= 'z':ord('y') - ord('a') = 24,(24 + 4) % 26 = 28 % 26 = 2,chr(2 + ord('a')) = 'c',t = "5c",i = 2;
3. i = 2,c = '#',不满足两个分支条件,直接拼接,t = "5c#",i = 3;
4. i = 3,c = 'A',不满足两个分支条件,直接拼接,t = "5c#A",i = 4;
5. i = 4,c = '3',满足 '0' <= c <= '9':(3 - 4) % 10 = -1 % 10 = 9,c = "9",t = "5c#A9",i = 5,循环结束。
因此,本题选择A选项。
11. 有如下Python程序段:
s=[0]*len(a); top=-1; t=[]
for x in a:
if top ==-1 or x> s[top]:
top +=1; s[top]=x
else:
if top +1>len(t):
t=s[:top+1]
top=0; s[top]=x
if top +1>len(t):
t=s[:top+1]
若a为[1,2,3,2,2,3,4,1],执行该程序段后,t的值为( )
A. [1,2,3] B. [2,3,4] C. [2,2,3,4] D. [1,2,3,4]
【答案】A
【解析】
【详解】本题考查Python程序逻辑分析与模拟执行能力。初始s为长度8的列表,top=-1,t为空列表,遍历a=[1,2,3,2,2,3,4,1]中的每个元素:
处理x=1时,满足top==-1,top变为0,s[0]=1,循环外判断top+1=1大于t的长度0,更新t为[1];
处理x=2时,x大于s[0],top变为1,s[1]=2,循环外判断top+1=2大于t的长度1,更新t为[1,2];
处理x=3时,x大于s[1],top变为2,s[2]=3,循环外判断top+1=3大于t的长度2,更新t为[1,2,3];
处理x=2时,不满足x大于s[top],top+1等于t的长度3,不更新t,重置top为0;后续处理x=2,同样不更新t,重置top;
处理x=3、x=4后,top变为2,top+1等于t的长度3,不更新t;
处理最后x=1,也不会更新t,最终t保持为[1,2,3]。故答案为:A。
12. 数组d存放着n个整型数据,且d[0]≤d[1]≤…≤d[n-1],现要统计并输出key值的数据个数,实现该功能的程序段如下,方框(1)、(2)处分别应填入的正确代码为( )
def find(key, d, i, j):
if i>j:
return i
m=(i+j)//2
if :
return find(key, d, i+1, j)
else:
return find(key, d, i, j-1)
#获取d、key的值,代码略
i, j=0,len(d)-1
total=find(, d, i, j)-find (key- 1, d, i, j)
print(total)
A. key>d[m] key+1 B. key>=d[m] key+1
C. key>d[m] key D. key>=d[m] key
【答案】D
【解析】
【详解】本题考查二分查找的应用,统计有序数组中指定元素的个数。利用二分法统计有序数组中key的个数,思路是:find(x)的作用是返回数组中第一个大于x的元素下标,key的总个数 = 第一个大于key的下标 - 第一个大于key-1的下标。方框(1)分析:如果key >= d[m],说明d[m]以及它左边所有元素都不大于key,第一个大于key的位置一定在右半区间,因此需要向右缩小区间,即递归调用find(key, d, i+1, j),符合程序逻辑,因此(1)填key>=d[m]。方框(2)分析:根据总个数的计算逻辑total = find(key) - find(key-1),因此方框(2)处填入key。故答案为:D。
二、非选择题(本大题共3小题,其中第13小题9分,第14小题8分,第15小题9分,共26分)
13. 某小组模拟搭建停车场智能管理系统,采用智能终端连接摄像头,并通过无线通信方式将图像数据传输至服务器,服务器处理后,通过智能终端在显示屏上显示车牌和费用信息并控制道闸的升降。系统支持通过微信公众号推送停车账单,管理员可通过浏览器查看系统数据。请回答下列问题:
(1)该系统中负责车辆信息采集的设备是_________(单选)。
A.摄像头 B.道闸 C.显示屏
(2)该系统智能终端与其他设备之间的数据传输关系,合理的是_________(单选)。
A.只能由服务器传输至智能终端
B.只能由智能终端传输至显示屏
C.只能由智能终端传输至摄像头
(3)关于该系统功能的说法,正确的有_________(多选)。
A.服务器可直接控制入口道闸的升降动作
B.计算停车费用的功能可在智能终端完成,以减轻服务器压力
C.微信公众号推送停车账单的功能可由服务器端实现
D.服务器发生故障时,管理员仍可通过浏览器查看历史数据
(4)系统测试时发现车辆驶入时显示屏上能正常显示车牌信息,但入口道闸始终不抬杆,请分析并写出两种可能的原因。_________
(5)将该系统某月的车辆出场记录导出到文件“parking.xlsx”中,部分数据如图a所示。统计该月每天的收费总额,选择总额最多的前5天数据,绘制如图b所示的柱形图。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel (“parking.xlsx”)
df1=①_______________________________
df1=②_______________________________
df1=③_______________________________
#设置绘图参数,选取df1中的数据创建图表,代码略
程序中①②③处可选的代码有:
A. df[df[是否出场]= “已出场”]
B. df[df.是否出场= “已出场”]
C. dfl.sort_values(“停车费用”, ascending=True).tail(5) #升序排序
D. df1.sort_values(“停车费用”, ascending=False).head(5)
E. df1.groupby(“日”, as_index = False).停车费用.count() #分组计数
F. df1.groupby(“日”, as_index =False).停车费用.sum()
【答案】(1)A (2)B (3)BC
(4)道闸(执行器)本身损坏;
智能终端与道闸之间的连接线路故障;
智能终端控制道闸程序有误;
服务器未下发放行指令。
或其他等价答案。 (5) ①. B ②. F ③. D
【解析】
【小问1详解】
本题考查停车场智能管理系统中信息采集设备的功能区分。信息采集环节负责获取原始信息,本系统中摄像头负责拍摄车辆获取车牌等车辆信息,道闸是执行通行控制的设备,显示屏是输出信息的设备,因此负责车辆信息采集的是摄像头。故答案为:A。
【小问2详解】
本题考查智能停车场系统的数据传输逻辑。系统中智能终端既需要向服务器传输摄像头采集的图像,也需要接收服务器的处理结果,向显示屏传输显示数据,同时向道闸传输控制指令,A选项说只能由服务器传输到智能终端错误,C选项摄像头是采集设备,数据是从摄像头传输到智能终端,C错误,B选项智能终端将处理后的信息传输至显示屏,描述合理。故答案为:B。
【小问3详解】
本题考查停车场智能管理系统的功能逻辑分析。A选项:道闸由智能终端控制,服务器不能直接控制道闸升降,A错误;B选项:计算停车费用的功能放在智能终端完成,可以减少服务器的运算量,减轻服务器压力,该说法正确;C选项:服务器存储所有停车订单数据,微信公众号推送账单的功能可以由服务器端实现,说法正确;D选项:系统的历史数据存储在服务器,服务器发生故障后,浏览器无法从服务器获取历史数据,D错误。故答案为:BC。
【小问4详解】
本题考查智能系统故障分析能力。显示屏正常显示车牌说明信息采集、传输、显示链路正常,问题出在道闸控制环节,可写出任意两种合理原因。故答案为:道闸本身硬件损坏;智能终端与道闸之间的连接线路故障(也可为智能终端控制道闸程序有误、服务器未下发放行指令等,任意两种合理答案即可)。
【小问5详解】
本题考查Python pandas库的数据筛选语法。第一步需要从原始数据中筛选出已出场的车辆记录,pandas访问数据框列的正确写法为df.列名,对应选项B。故答案为:B。本题考查Python pandas库的分组统计操作。需求是统计每日收费总额,筛选数据后需要按日分组,并对停车费用求和,对应选项F。故答案为:F。本题考查Python pandas库的排序与数据选取操作。需求是选取收费总额最多的前5天数据,需要对总额降序排序后取前5条,对应选项D。故答案为:D。
14. 某图书馆的座位以行列的形式排列,读者可根据所需空位数通过程序查看系统推荐位置。系统推荐的规则如下:
①若所需空位数为r,则r个位置必须为同一行的连续空位。
②若有多处连续空位数大于等于r,则优先选择连续空位数最少的。
③若存在多个符合要求的连续空位,则优先行号最小的,相同行号选列号最小的。
请回答下列问题:
(1)若座位如表所示,r为2,则推荐位置的起始行列号是第_____行,第_____列。
第1列
第2列
第3列
第4列
第5列
第1行
占用
空位
空位
空位
占用
第2行
空位
空位
占用
空位
空位
第3行
占用
空位
占用
空位
空位
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取行数n,列数m,所需空位数r,代码略
#读取当前座位状态存入二维数组seat中。seat[0][0]表示第1行第1列,元素值为0表示空位,为1表示座位已被占用,代码略
length=0 #推荐位置的连续空位数,初值为0
for i in range(n):
①__________
while j<m:
if seat[i][j]=0:
start=j
while j<m and seat [i][j]==0:
j+=1
②__________
if t>=r:
if③__________:
length=t
pos=[i+1, start+1] #推荐位置的起始行列号
else:
j+=1
#若不存在推荐位置则输出提示,否则输出推荐位置,代码略
【答案】(1) ①. 2 ②. 1
(2) ①. j=0 ②. t=j-start ③. length==0 or t <length
【解析】
【详解】本题考查Python程序算法逻辑分析和规则应用能力。
(1)我们逐行梳理所有符合要求(连续空位≥2)的区间:第1行存在长度为3的连续空位;第2行存在两个长度为2的连续空位,起始分别为第1列、第4列;第3行存在1个长度为2的连续空位,起始为第4列。根据规则,优先选连续空位数最少的,符合要求的最小长度为2,再在长度为2的区间中选行号最小的,行号最小为第2行,同行程选列号最小的,为第1列。
(2)①处,遍历每一行前需要初始化列索引j,因此填入j=0;②处,遍历完一段连续空位后,计算这段连续空位的长度t,j为第一个非空位的索引,start是连续空位起始索引,因此长度为j减去start,填入t=j-start;③处,根据推荐规则,还未找到符合条件的位置(length为初值0),或者当前t比已记录的连续长度更小时,需要更新推荐位置,因此填入length==0 or t < length。
15. 某校运动会设有m个比赛项目(编号0~m-1),每个项目有人数上限。学生在线报名,系统按报名记录的提交顺序逐条处理,对于每条报名记录,若该选手尚未成功报名该项目且该项目当前已成功报名人数未达上限,则报名成功;否则报名失败。
请回答下列问题:
(1)若报名记录如图所示,项目0和项目1的上限人数分别为3和2,则报名成功的记录数共______条。
(2)定义如下函数bubble_sort(1st),其功能是对成功报名的记录按项目编号升序排列,相同项目编号按选手编号升序排列。列表1st中的每个元素包含三个数据项,依次为提交顺序、项目编号和选手编号。
提交顺序
项目编号
选手编号
1
0
101
2
1
103
3
1
105
4
0
101
5
1
104
6
0
103
def bubble_sort(1st):
n=len(1st)
for i in range(n-1):
flag=False
for j in range():
a=lst[j]; b=1st[j+1]
if a[1]>b[1] or a[1]=b[1] and a[2]>b[2]:
1st[j], 1st[j+1]=1st[j+1], 1st[j]
flag=True
if flag =False:
break
return 1st
①若lst为[1,0,103],[2,1,102],[3,1,104],[4,0,101],[5,0,104],[6,2,103]],则函数中冒泡排序算法的排序遍数为________。
②程序中方框处的代码可以替换为________(单选)。
A. n-2, i-1, -1 B. n-2-i, 0, -1 C. i, n-1, 1
(3)实现报名处理功能的Python程序如下,请在划线处填入合适的代码。
dcf proc(data, cap):
m=lcn(cap)
info=[[-1, -1] for i in range(m)]
nodes=[]; success=[]; cnt=[0]*m
for item in data:
t, proj, pid=item[0], item[1], item[2]
if①___________: #工项目已满员
continue
check=False
p=info[proj][0]
while p!=-1:
if nodes[p][0]=pid:
check=True
break
②__________
if check=True: #选手已成功报名该项目
continue
#报名成功的数据处理
nodes.append([pid,-1]) #为nodes末尾追加一个元素[pid,-1]
if info[proj][0]=-1:
info[proj][0]=len(nodes)-1
else:
③________
info[proj][1]=len(nodes)-1
success.append([t, proj, pid])
cnt[proj]+=1
return success
‘‘‘
将报名记录信息存入data列表,每个元素包含三个数据项,依次为提交顺序、项目编号和选手编号;
将每个项目的上限人数信息存入cap列表。
代码略
’’’
1st=proc (data, cap)
print (bubble_sort(1st))
【答案】(1)4 (2) ①. 4 ②. A
(3) ①. cnt[proj]>=cap[proj]或cnt[proj]==cap[proj] ②. p=nodes[p][1] ③. nodes[info[proj][1]][1]=len(nodes)-1
【解析】
【详解】本题考查报名规则的逻辑推理、冒泡排序算法分析与Python链表结构的程序理解。
(1)按规则逐条处理报名记录:1号记录选手101报名项目0,未报名过且项目未满员,报名成功;2号记录选手103报名项目1,未报名过且项目未满员,报名成功;3号记录选手105报名项目1,未报名过且项目未满员,报名成功;4号记录选手101重复报名项目0,报名失败;5号记录选手104报名项目1,项目1人数已达上限2,报名失败;6号记录选手103报名项目0,未报名过且项目未满员,报名成功,总计4条成功记录。
(2)①给定列表长度为6,带flag优化的冒泡排序执行过程中,前4遍排序都发生了交换,第5遍遍历没有发生交换直接跳出循环,因此总排序遍数为4。②代码中每次需要比较j位置和j+1位置的元素,反向冒泡时j需要从n-2开始,到i-1结束,步长为-1,对应选项A。
(3)①处注释条件为项目已满员,cnt[proj]存储项目当前已报名人数,cap[proj]为该项目的人数上限,因此条件为cnt[proj]>=cap[proj]或cnt[proj]==cap[proj];②处是遍历项目报名链表检查选手是否已报名,遍历需要将p更新为当前节点的下一个节点索引,因此填入p=nodes[p][1];③处是将新报名节点追加到项目链表尾部,需要修改原链表尾节点的下一跳指针指向新节点,因此填入nodes[info[proj][1]][1]=len(nodes)-1。
第1页/共1页
学科网(北京)股份有限公司
$