内容正文:
绝密★考试结束前
宁波“十校”2026届高三3月联考
技术试题卷
第一部分:信息技术
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统中数据的说法,正确的是( )
A. 系统只能通过摄像头采集数据
B. 系统中数据表现形式只有视频及图像
C. 系统中产生的数据一定都是正确无误的
D. 销售报表中获取的信息价值会随着时间发生改变
2. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。在该系统使用过程中,下列应用不涉及人工智能技术的是( )
A. 通过摄像头抓拍人脸完成身份验证 B. 通过重量传感器检测货架重量变化
C. 通过图像分析并识别出商品种类 D. 识别并捕捉顾客动作并分析其行为
3. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统的描述,正确的是( )
A. 该系统的用户只有顾客与管理员
B. 该系统的APP属于系统软件
C. 该系统的闸机既是输入设备又是输出设备
D. 该系统不需要人员管理,对外部环境没有依赖
4. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统网络技术的分析,正确的是( )
A. 该系统中的网络只能传输结构化数据
B. 该系统只能通过移动通信网络进行数据传输
C. 顾客的移动终端与服务器不在同一个局域网下,也能查看消费记录
D. 该系统自动结算时与第三方支付平台对接不需要遵循网络协议
5. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统安全与防护的做法,合理的是( )
A. 为系统中不同类型顾客设置不同的权限
B. 允许一个账号绑定多名顾客
C. 顾客可通过APP查看所有人的消费记录
D. 顾客较少的时段关闭服务器防火墙
6. 下列关于编码的说法,正确的是( )
A. 编码就是把数据转为二进制的过程
B. 在计算机中所有字符都可用ASCII码进行编码
C. 200×100像素、16色位图的存储容量约为39KB
D. 某段音频数字化后量化值的范围是0-256,量化位数至少是9bit
7. 某算法的部分流程图如图所示,若n的值为7,数组元素a[0]至a[n-1]依次存放9,2,4,1,8,6,7,执行这部分流程后,输出i的值为( )
A. 1 B. 2 C. 3 D. 4
8. 有1个队列,队首到队尾的元素依次为1,2,3,4,5,6。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。重复执行TTTQ操作,直到队列中只剩1个元素,则最终队列中的元素为( )
A. 3 B. 4 C. 5 D. 6
9. 某二叉树根节点为 A,共有 3 个叶子节点,若中序遍历序列为BDACFE,则该二叉树前序遍历序列可能为( )
A. ADBFCE B. ABDCEF C. ADBFEC D. ABDCFE
10. 有如下Python程序段:
def p(x,n):
if n == 0:
return 2
else:
return x * p (xn-1)
执行语句k=p(3,2)后,k的值为( )
A. 8 B. 9 C. 16 D. 18
11. 有如下Python程序段:
st 1=[""]*len(s);top1=-1;st2=[""]*len(s);top2=-1
i=0
while i<len(s):
f=1
while top1 != -1 and s[i] < st1[top1]:
f+=1
if f%2 == 1:
top2+=1
st2[top2]=st1[top1]
top1-=1
top1+=1;st1[top1]=s[i]
while top2 != -1:
top1+=1;st1[top1]=st2[top2]
top2-=1
i=i+1
若s为“a”开头,“db”结尾,中间由n个连续的“c”组成的字符串,执行该程序段后,st1[:top1+1]中“c”的元素个数为( )
A. 0 B. 1 C. n//2 D. (n+1)//2
12. 有如下Python程序段:
#获取t的值,代码略
a=[1,2,4,8,9,11,15,18]
for i in range(a[len(a)-1]-a[0],-1,-1):
tot=1;num=0
for j in range(1len(a)):
if a[j]-a[num] >= i:
tot+=1
num=j
if tot >= t:
break
执行该程序段后,i的值为3,则下列选项中不可能为t的值的是( )
A. 3 B. 4 C. 5 D. 6
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某商场采用智能停车场管理系统,采用智能终端连接摄像头、闸机。车辆进出时通过摄像头拍摄包含车牌的照片数据,并通过无线通信方式将数据传输至服务器,存储到数据库中。服务器处理数据后,通过智能终端控制闸机抬杆。管理员可通过浏览器查看系统数据。
请回答下列问题:
(1)该系统网络应用软件的实现架构是____
A.B/S架构 B.C/S架构
(2)关于该系统中的说法,正确的是____
A.智能终端不具备数据处理的功能
B.智能终端与服务器之间可以相互传输数据
C.摄像头与闸机可以连接在同一个智能终端上
D.该系统所有程序和数据都存储在数据库中
(3)在智能停车场管理系统的数据库设计中,需要创建一个“车辆进出记录表”来存储车辆的每一次进出记录,该表中至少需要设计的字段数为____
A.2 B.3 C.4 D.5
(4)系统运行一段时间后,发现雷雨天时,闸机经常不能正常抬杆,导致车辆无法进出,请分析可能原因并给出1种优化方案(智能终端、闸机、摄像头等硬件不存在问题)。____
(5)将某月的车辆进出数据导出到文件data.xlsx中,部分数据如表a所示。统计该月1号闸机每日进入车辆的数量,选择数量最多的前3日的数据,绘制如图b所示的柱形图。
闸机号
月
日
小时
分钟
进出
车牌
1号
2
1
10
2
进
浙B**53D
1号
2
1
10
7
进
浙A**91G
1号
2
1
10
10
进
浙B**G32
1号
2
1
10
10
进
浙B**H80
2号
2
1
10
11
进
浙B**M71
2号
2
1
10
11
出
浙B**53D
1号
2
1
10
11
进
浙B**R23
表a
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx") #读取文件
df1=df[df["进出"]=='进'] #筛选
df1=①____ #筛选
df2=②____
#重命名df2中“车牌”列名称为“数量”,代码略
df3=③____
#设置绘图参数,代码略
plt.ba r(④____) #绘制如图b所示的柱形图
程序中①②③④处可选的代码有:
A. df[df["闸机号"]== "1号"]
B. df1[df1["闸机号"]== "1号"]
C. df1.groupby("日").count() #分组计数
D. df1.groupby("小时").count()
E. df2.sort_values("数量",ascending=False).head(3) #降序排序取前面三个
F.df2.sort_values("数量",ascending=False).tail(3) #取末尾三个
G.df3.日期,df3.数量
H.df3.index,df3.数量
14. 停车场中只存在普通车位,没有专门停放大巴的车位,一辆普通车停放需要占1个普通车位,一辆大巴车停放需要占一行连续6个普通车位。服务器能实时获取停车数据,若用1表示车位被占,0表示车位未被占,停车数据形如列表d=["110111011","1101111", "110111101",...],列表中每个元素表示一行停车位的被占情况,如d中第一个元素为“110111011”,表示该行一共9个车位,第3、7个车位未被占。编写Python程序读取当前停车数据d,计算n辆大巴车和m辆普通车能否全部停放在当前停车场,并输出结果。请回答下列问题:
(1)若某行的停车情况为“110111101000101”,该行是否能停下1辆大巴车____(单选,填字母:A.是/ B.否)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取大巴车数量 n,普通车数量m,停车数据d的值,代码略
i=0
while i < len(d):
c=0;s=d[i]
for j in range(len(s)):
c=c+1-int(s[j])
if ①____:
if n >= c//6:
n=n-c//6
②____
else:
n=0
c=c-n*6
③____
c=0
if n <= 0 and m <= 0:
break
i=i+1
if i < len(d):
print("可以停放!")
else:
print("不可以停放!")
15. 某批货物有A、B两个类别,每件货物都有对应价值。货物从0开始依次编号,并按编号从左往
右升序放成一排。取走货物的规则如下:
①每次需要取走不同类且相邻的一对货物,若一排中有多对符合条件的货物,则最先取价值相差最小的一对货物(若价值相差相同取最左边的一对)。
②一对货物取走后,该排货物的空白按原顺序补上。如原来该排货物编号依次为0,1,2,3,货物1,2取走后,该排货物编号变为0,3。
③若该排货物中不再存在不同类且相邻的一对货物,则停止取货。
若货物数据如图所示。
货物编号
0
1
2
3
4
5
6
7
8
货物类别
A
B
B
B
A
A
A
B
A
货物价值
7
8
6
9
10
3
1
5
8
根据上述规则,能取走4对货物,依次编号<0,1>,<3,4>,<2,5>,<7,8>。
(1)若将图中4号货物变为B,价值变为6,则根据上述规则,最终剩余的货物为编号____。(填数字)
(2)定义insert_que(que,hwd)函数,参数hwd由货物编号、相邻货物编号、货物价值差3个数据项组成,如hwd为[3,4,1]表示编号为3和4的货物价值差为1。函数的功能是将可取的货物对hwd插入到列表que中,并按取货顺序依次排序。
def insert_que(quehwd):
que.append(hwd) #在列表que末尾添加一个元素hwd
if len(que) != 1:
i=len(que)-2
while i >= 0 and (que[i][2] > hwd[2] or que[i][2] == hwd[2] and que[i][0] > hwd[0]):
i=i-1
que[i+1]=hwd
return que
程序中加框处代码有错,请改正。____
(3)根据货物数据,模拟取货过程,计算取走货物的对数及顺序,实现上述功能的Python程序如下,请在划线处填入合适的代码。
def bl_link(que,link,head): #寻找当前可取货物对
p=head
while link[p][1] != -1:
q=link[p][1]
if link[p][2] != link[q][2]:
c=abs(link[p][3]-link[q][3])
que=insert_que(que,[p,q,c])
p=link[p][1]
return que
'''
读取货物数据存入链表,其中货物编号即按货物数据顺序从 0 开始依次编号。列表link模拟链表结构,链表节点的前两个数据项依次为前驱指针和后继指针,第三个数据项为货物类别,第四个数据项为货物价值。链表中节点按货物编号升序排列,初始时link[0]为头节点,头节点指针head为0。
例如有4件货物的类型依次为A,B,B,A,相应的价值为7,8,6,9,相应的货物编号为0,1,2,3,读取数据后,链表link为[[-1, 1, 'A', 7], [0, 2, 'B', 8], [1, 3, 'B', 6], [2, -1, 'A', 9]],head=0。
代码略
'''
que=[];count=0
st=[False for i in range(len(link))]
que=bl_link(que,link,head)
while len(que) != 0:
a=que.pop(0) #将列表que第一个元素赋值给a,并将其从que中删除
if not st[a[0]] and not st[a[1]]:
st[a[0]]=True
①____
count+=1
#存储取走的货物对编号,代码略
p=link[a[0]][0]
②____
link[p][1]=q
link[q][0]=p
if ③____:
continue
if link[p][2] != link[q][2]:
c=abs(link[p][3]-link[q][3])
que=insert_que(que,[p,q,c])
#输出取走的货物对数count及依次取走的每对货物编号,代码略
第1页/共1页
学科网(北京)股份有限公司
$
绝密★考试结束前
宁波“十校”2026届高三3月联考
技术试题卷
第一部分:信息技术
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
1. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统中数据的说法,正确的是( )
A. 系统只能通过摄像头采集数据
B. 系统中数据表现形式只有视频及图像
C. 系统中产生的数据一定都是正确无误的
D. 销售报表中获取的信息价值会随着时间发生改变
【答案】D
【解析】
【详解】本题考查信息与数据相关知识。A选项错误,系统除摄像头外,还通过重量传感器、红外传感器等采集数据,并非只能通过摄像头采集。B选项错误,系统中数据表现形式包含视频、图像、重量数据、红外感应信号、消费记录等,并非只有视频及图像。C选项错误,系统采集与处理的数据可能因设备故障、识别误差等出现错误,并非一定正确无误。D选项正确,销售报表中的信息价值会随时间变化,如过期销售数据对当下经营决策的参考价值会降低。因此,本题选择D选项。
2. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。在该系统使用过程中,下列应用不涉及人工智能技术的是( )
A. 通过摄像头抓拍人脸完成身份验证 B. 通过重量传感器检测货架重量变化
C. 通过图像分析并识别出商品种类 D. 识别并捕捉顾客动作并分析其行为
【答案】B
【解析】
【详解】本题考查人工智能技术应用相关知识。A选项涉及,刷脸身份验证运用了人脸识别的人工智能技术。B选项不涉及,重量传感器检测货架重量变化属于传感器采集物理数据,未应用人工智能技术。C选项涉及,图像分析识别商品种类运用了图像识别的人工智能技术。D选项涉及,识别捕捉顾客动作并分析行为运用了模式识别、行为分析的人工智能技术。因此,本题选择B选项。
3. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统的描述,正确的是( )
A. 该系统的用户只有顾客与管理员
B. 该系统的APP属于系统软件
C. 该系统的闸机既是输入设备又是输出设备
D. 该系统不需要人员管理,对外部环境没有依赖
【答案】C
【解析】
【详解】本题考查信息系统组成与软硬件相关知识。A选项错误,该系统用户除顾客与管理员外,还包含系统运维人员等相关使用者。B选项错误,移动终端APP用于实现查看小票、生成报表等功能,属于应用软件而非系统软件。C选项正确,闸机可通过传感器采集信号作为输入设备,又能实现锁定、报警提示等作为输出设备。D选项错误,该系统仍需人员管理维护,且依赖网络、电力等外部环境,并非无外部依赖。因此,本题选择C选项。
4. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统网络技术的分析,正确的是( )
A. 该系统中的网络只能传输结构化数据
B. 该系统只能通过移动通信网络进行数据传输
C. 顾客的移动终端与服务器不在同一个局域网下,也能查看消费记录
D. 该系统自动结算时与第三方支付平台对接不需要遵循网络协议
【答案】C
【解析】
【详解】本题考查计算机网络技术相关知识。A选项错误,该系统传输的数据包含图像、传感器数据等非结构化数据,并非只能传输结构化数据。B选项错误,系统可通过5G/Wi‑Fi通信网络传输数据,Wi‑Fi属于局域网通信方式,并非只能通过移动通信网络传输。C选项正确,顾客移动终端可通过互联网访问服务器,即使不在同一局域网下也能查看消费记录。D选项错误,系统与第三方支付平台对接必须遵循统一的网络协议才能实现数据交互。因此,本题选择C选项。
5. 某便利店采用智能无人零售系统,顾客在入口闸机处刷脸进入。该系统在货架区域安装了摄像头和重量传感器,实时采集顾客动作与商品数据,数据通过5G/Wi-Fi通信网络传输至服务器,系统识别商品图像,自动将该商品加入或移出虚拟购物车。出口处的闸机中装有红外传感器,感应到顾客离店时系统会启动自动结算功能。若监测到异常行为(如未付款强行离店),服务器会触发声光报警并锁定闸机。顾客可通过移动终端APP查看电子小票与消费记录,管理员可通过移动终端APP生成销售数据分析报表和商品库存盘点表等。下列关于该系统安全与防护的做法,合理的是( )
A. 为系统中不同类型顾客设置不同权限
B. 允许一个账号绑定多名顾客
C. 顾客可通过APP查看所有人的消费记录
D. 顾客较少的时段关闭服务器防火墙
【答案】A
【解析】
【详解】本题考查信息系统安全与防护相关知识。A选项正确,为不同类型顾客设置不同权限,可有效保护数据安全,符合系统安全防护要求。B选项错误,一个账号绑定多名顾客易造成身份混淆与信息泄露,存在安全隐患。C选项错误,顾客查看他人消费记录会侵犯隐私,违反信息安全与隐私保护原则。D选项错误,关闭服务器防火墙会使系统面临病毒、黑客攻击等风险,安全防护不合理。因此,本题选择A选项。
6. 下列关于编码的说法,正确的是( )
A. 编码就是把数据转为二进制的过程
B. 在计算机中所有字符都可用ASCII码进行编码
C. 200×100像素、16色位图的存储容量约为39KB
D. 某段音频数字化后量化值的范围是0-256,量化位数至少是9bit
【答案】D
【解析】
【详解】本题考查数据编码相关知识。A选项错误,编码是信息从一种形式转换为另一种形式的过程,并非仅指转为二进制。B选项错误,ASCII码仅能对英文字母、数字等部分字符编码,无法表示汉字等所有字符。C选项错误,200×100像素16色位图存储容量约为9.77KB,并非39KB。D选项正确,量化值范围0-256共257个取值,2^8=256<257,因此量化位数至少为9bit。因此,本题选择D选项。
7. 某算法的部分流程图如图所示,若n的值为7,数组元素a[0]至a[n-1]依次存放9,2,4,1,8,6,7,执行这部分流程后,输出i的值为( )
A. 1 B. 2 C. 3 D. 4
【答案】D
【解析】
【详解】本题考查快速排序分区算法。已知 n=7,数组 a=[9,2,4,1,8,6,7],基准值 k=a[6]=7,初始化 i=0,j=0。 j=0:a[0]=9>7,不交换,j=1;j=1:a[1]=2 < 7,交换 a[0] 和 a[1],数组变为 [2,9,4,1,8,6,7],i=1,j=2;j=2:a[2]=4 < 7,交换 a[1] 和 a[2],数组变为 [2,4,9,1,8,6,7],i=2,j=3 ;j=3:a[3]=1 < 7,交换 a[2] 和 a[3],数组变为 [2,4,1,9,8,6,7],i=3,j=4 ;j=4:a[4]=8 >7,不交换,j=5 ;j=5:a[5]=6 < 7,交换 a[3] 和 a[5],数组变为 [2,4,1,6,8,9,7],i=4,j=6 ;j=6:不满足 j < n-1(6 < 6 不成立),循环结束,输出 i。因此,本题选择D选项。
8. 有1个队列,队首到队尾的元素依次为1,2,3,4,5,6。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。重复执行TTTQ操作,直到队列中只剩1个元素,则最终队列中的元素为( )
A. 3 B. 4 C. 5 D. 6
【答案】C
【解析】
【详解】本题考查队列操作模拟。初始队列为[1,2,3,4,5,6](队首在左),重复执行“TTTQ”操作,即三次T(出队后立即入队)和一次Q(出队并丢弃),直至队列只剩一个元素。逐步模拟如下:初始:1,2,3,4,5,6 ;第一次TTTQ:三次T后队列变为4,5,6,1,2,3,Q出队4,剩余[5,6,1,2,3] ;第二次:对[5,6,1,2,3]执行TTTQ,三次T得2,3,5,6,1,Q出队2,剩余[3,5,6,1] ;第三次:对[3,5,6,1]执行TTTQ,三次T得1,3,5,6,Q出队1,剩余[3,5,6] ;第四次:对[3,5,6]执行TTTQ,三次T得3,5,6,Q出队3,剩余[5,6] ;第五次:对[5,6]执行TTTQ,三次T得6,5,Q出队6,剩余[5] ;最终队列中仅剩元素5。因此,本题选择C选项。
9. 某二叉树根节点为 A,共有 3 个叶子节点,若中序遍历序列为BDACFE,则该二叉树前序遍历序列可能为( )
A. ADBFCE B. ABDCEF C. ADBFEC D. ABDCFE
【答案】A
【解析】
【详解】本题考查二叉树遍历与结构分析。1. 由中序序列可知,根 A 将序列分为左子树中序 BD 和右子树中序 CFE。因此左子树包含节点 {B, D},右子树包含节点 {C, F, E}。2. 前序遍历的第一个节点一定是根 A,之后是左子树的前序,再之后是右子树的前序。因此,对于每个候选前序,去掉开头的 A 后,前面若干连续节点必须恰好是 {B, D},后面连续节点必须是 {C, F, E}。3. 然后分别验证左右子树能否由其中序和前序唯一确定,并统计整棵树的叶子节点数是否为 3。A选项:前序去掉 A得DBFCE。前两个节点D、B 构成左子树节点集 {B, D},后三个 F、C、E 构成右子树节点集 {C, F, E}。左子树:前序 DB,中序 BD。根为 D,左子空,右子 B。B 为叶子。右子树:前序 FCE,中序 CFE。根为 F,左子 C,右子 E。C 和 E 均为叶子。整棵树:根 A 非叶子,左子树叶子 B,右子树叶子 C 和 E,共 3 个叶子,符合条件。因此 ADBFCE 可行。B选项:前序去掉A得BDCEF。左子树节点集应为 {B, D},故前两个 B、D 属于左子树;后三个 C、E、F 属于右子树。左子树:前序 BD,中序 BD。根为 B,左子空,右子 D。D 为叶子,B 非叶子。右子树:前序 CEF,中序 CFE。根为 C,左子空,右子树前序 EF,中序 FE。进一步,右子树根为 E,左子 F,右子空。F 为叶子,E 非叶子。整棵树:叶子为 D 和 F,仅 2 个,与 3 个叶子矛盾。因此不可行。C选项:前序去掉A得DBFEC。左子树前两个 D、B 属于左子树;后三个 F、E、C 属于右子树。左子树同前,得叶子 B。右子树:前序 FEC,中序 CFE。根为 F,左子树中序应为 C,右子树中序应为 E。但前序中 F 之后是 E、C,若左子为 C,前序应为 F、C、E;若左子为 E,则中序应为 E、F、C 或类似,均与 CFE 矛盾。该前序无法与中序匹配,故不能构成合法二叉树。因此不可行。因此,本题选择A选项。
10. 有如下Python程序段:
def p(x,n):
if n == 0:
return 2
else:
return x * p (x,n-1)
执行语句k=p(3,2)后,k的值为( )
A. 8 B. 9 C. 16 D. 18
【答案】D
【解析】
【详解】本题考查Python中递归函数的执行过程和计算逻辑。首先分析递归函数p(x,n)的定义,当n等于0时,函数返回2;当n不等于0时,函数返回x乘以p(x,n-1),这是一个典型的递归调用过程。接下来逐步计算执行语句k=p(3,2)的过程:1.调用p(3,2),此时n=2≠0,所以返回3 * p(3,1);2.调用p(3,1),此时n=1≠0,所以返回3 * p(3,0);3.调用p(3,0),此时n=0,触发递归终止条件,返回2;4.回溯计算:p(3,1)=3*2=6,p(3,2)=3*6=18;因此执行k=p(3,2)后,k的值为18。因此,本题选择D选项。
11. 有如下Python程序段:
st 1=[""]*len(s);top1=-1;st2=[""]*len(s);top2=-1
i=0
while i<len(s):
f=1
while top1 != -1 and s[i] < st1[top1]:
f+=1
if f%2 == 1:
top2+=1
st2[top2]=st1[top1]
top1-=1
top1+=1;st1[top1]=s[i]
while top2 != -1:
top1+=1;st1[top1]=st2[top2]
top2-=1
i=i+1
若s为“a”开头,“db”结尾,中间由n个连续的“c”组成的字符串,执行该程序段后,st1[:top1+1]中“c”的元素个数为( )
A. 0 B. 1 C. n//2 D. (n+1)//2
【答案】D
【解析】
【详解】本题考查Python中双栈结构的执行逻辑、字符比较规则以及连续相同字符处理下的栈元素留存规律。首先明确程序核心逻辑:st1是主栈,st2是辅助栈;遍历字符s[i]时,先初始化f=1,然后循环判断主栈非空且当前字符小于栈顶字符,满足则f自增1;若f为奇数,将主栈顶元素弹出到辅助栈;随后将当前字符压入主栈,最后把辅助栈所有元素弹回主栈,完成单个字符的处理。 接下来分析字符串s的结构:s = “a” + “c”*n + “db”,分阶段处理:1. 处理首字符“a”:主栈为空(top1=-1),内层while不执行,f=1(奇数)但无元素可弹入st2;直接将“a”压入st1,st1=[“a”],top1=0。2. 处理中间n个连续“c”:每个“c”与主栈顶比较:“c”不小于栈顶的“a”或前一个“c”,因此内层while(s[i]<st1[top1])始终不执行,f恒为1(奇数);关键规则:每处理一个“c”时,f=1(奇数)会触发“弹主栈顶→压辅助栈”,但由于栈顶是“a”/“c”(与当前“c”相等,不满足内层while),弹栈仅执行1次(针对当前栈顶),随后压入新“c”,再弹回辅助栈元素;连续n个“c”的留存规律:每2个连续“c”最终仅保留1个,若n为奇数则多保留1个,即留存数量为(n+1)//2(如n=1→1,n=2→1,n=3→2,n=4→2)。3. 处理结尾“db”:处理“d”:“d”大于栈顶的“c”,无弹栈操作,直接压入st1,不影响“c”的数量;处理“b”:仅触发弹出栈顶的“d”(弹入st2后又弹回),不会触及下方的“c”,因此“c”的数量不变。综上,st1[:top1+1]中“c”的元素个数为(n+1)//2。因此,本题选择D选项。
12. 有如下Python程序段:
#获取t值,代码略
a=[1,2,4,8,9,11,15,18]
for i in range(a[len(a)-1]-a[0],-1,-1):
tot=1;num=0
for j in range(1len(a)):
if a[j]-a[num] >= i:
tot+=1
num=j
if tot >= t:
break
执行该程序段后,i的值为3,则下列选项中不可能为t的值的是( )
A. 3 B. 4 C. 5 D. 6
【答案】A
【解析】
【详解】本题考查Python程序逻辑与数组。首先拆解程序核心逻辑:1. 数组a=[1,2,4,8,9,11,15,18],外层循环i从a[-1]-a[0]=17倒序遍历到0;2. 内层循环统计:以i为最小间隔,从数组首元素开始,能选取的元素数量tot(初始为1);3. 若tot >= t则跳出内层循环,最终程序执行后i=3,说明当i=3时满足tot >= t,且i>3时不满足tot >= t。计算i=3时的tot值:遍历数组a=[1,2,4,8,9,11,15,18],按间隔≥3选取元素:初始num=0(元素1),tot=1;j=1(元素2):2-1=1 < 3 → 跳过;j=2(元素4):4-1=3 ≥ 3 → tot=2,num=2;j=3(元素8):8-4=4 ≥ 3 → tot=3,num=3;j=4(元素9):9-8=1 < 3 → 跳过;j=5(元素11):11-8=3 ≥ 3 → tot=4,num=5;j=6(元素15):15-11=4 ≥ 3 → tot=5,num=6;j=7(元素18):18-15=3 ≥ 3 → tot=6,num=7;i=3时,tot=6。计算i=4时的tot值:按间隔≥4选取元素:初始num=0(元素1),tot=1;j=1(2)、j=2(4):差值均<4 → 跳过;j=3(8):8-1=7 ≥4 → tot=2,num=3;j=4(9)、j=5(11):差值<4 → 跳过;j=6(15):15-8=7 ≥4 → tot=3,num=6;j=7(18):18-15=3 <4 → 跳过;i=4时,tot=3。已知最终i=3,则说明当i=4时tot< t,而i=3时tot≥t。计算得i=4时tot=3,i=3时tot=6,故t需满足3<t≤6,即t可能为4、5、6,不可能为3。因此,本题选择A选项。
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某商场采用智能停车场管理系统,采用智能终端连接摄像头、闸机。车辆进出时通过摄像头拍摄包含车牌的照片数据,并通过无线通信方式将数据传输至服务器,存储到数据库中。服务器处理数据后,通过智能终端控制闸机抬杆。管理员可通过浏览器查看系统数据。
请回答下列问题:
(1)该系统网络应用软件的实现架构是____
A.B/S架构 B.C/S架构
(2)关于该系统中的说法,正确的是____
A.智能终端不具备数据处理的功能
B.智能终端与服务器之间可以相互传输数据
C.摄像头与闸机可以连接在同一个智能终端上
D.该系统所有程序和数据都存储在数据库中
(3)在智能停车场管理系统的数据库设计中,需要创建一个“车辆进出记录表”来存储车辆的每一次进出记录,该表中至少需要设计的字段数为____
A.2 B.3 C.4 D.5
(4)系统运行一段时间后,发现雷雨天时,闸机经常不能正常抬杆,导致车辆无法进出,请分析可能原因并给出1种优化方案(智能终端、闸机、摄像头等硬件不存在问题)。____
(5)将某月的车辆进出数据导出到文件data.xlsx中,部分数据如表a所示。统计该月1号闸机每日进入车辆的数量,选择数量最多的前3日的数据,绘制如图b所示的柱形图。
闸机号
月
日
小时
分钟
进出
车牌
1号
2
1
10
2
进
浙B**53D
1号
2
1
10
7
进
浙A**91G
1号
2
1
10
10
进
浙B**G32
1号
2
1
10
10
进
浙B**H80
2号
2
1
10
11
进
浙B**M71
2号
2
1
10
11
出
浙B**53D
1号
2
1
10
11
进
浙B**R23
表a
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx") #读取文件
df1=df[df["进出"]=='进'] #筛选
df1=①____ #筛选
df2=②____
#重命名df2中“车牌”列名称为“数量”,代码略
df3=③____
#设置绘图参数,代码略
plt.ba r(④____) #绘制如图b所示的柱形图
程序中①②③④处可选的代码有:
A. df[df["闸机号"]== "1号"]
B. df1[df1["闸机号"]== "1号"]
C. df1.groupby("日").count() #分组计数
D. df1.groupby("小时").count()
E. df2.sort_values("数量",ascending=False).head(3) #降序排序取前面三个
F.df2.sort_values("数量",ascending=False).tail(3) #取末尾三个
G.df3.日期,df3.数量
H.df3.index,df3.数量
【答案】 ①. A ②. BC ③. B ④. 原因:网络不稳定导致数据无法正常传输
优化方案:①将无线传输改为有线传输
②网络不稳定时,直接在智能终端进行数据处理,控制闸机抬杆
原因:电力不稳定 优化方案:替换稳定的电力系统
原因:雨天导致摄像头镜头起雾拍摄车牌不清晰 优化方案:选取防水、防雾摄像头等或其他合理答案 ⑤. B ⑥. C ⑦. E ⑧. H
【解析】
【详解】本题考查信息系统架构、数据库表设计、系统故障分析及Python数据处理与可视化的综合应用。
(1)该处考查网络应用软件的B/S与C/S架构区分。B/S架构的核心特征是通过浏览器访问服务器端资源,无需安装专用客户端;C/S架构则需要在客户端设备安装专用程序。题干中明确提到管理员可通过浏览器查看系统数据,符合B/S架构的应用特点,因此该空答案为A。
(2)该处考查智能停车场系统各组件的功能与数据交互逻辑。A选项错误:智能终端并非仅做数据传输,还具备基础的数据处理功能,比如接收摄像头拍摄的车牌照片数据后,会先进行初步的识别或格式处理,再传输至服务器;B选项正确:智能终端向服务器传输车辆进出的车牌、时间等数据,服务器处理完成后,会向智能终端发送控制闸机抬杆的指令,二者可相互传输数据;C选项正确:题干明确说明“智能终端连接摄像头、闸机”,因此摄像头与闸机可以连接在同一个智能终端上,由该终端统一进行数据交互和指令控制;D选项错误:数据库仅用于存储车辆进出记录等业务数据,系统的程序(如智能终端的控制程序、服务器的处理程序)会存储在对应的硬件设备中,而非数据库里。 因此该空答案为BC。
(3)该处考查数据库表的字段设计原则,核心是满足“车辆进出记录表”的核心数据存储需求。 要完整记录一次车辆进出行为,至少需要包含的核心字段有:车牌(标识车辆)、进出状态(进/出)、记录编号(主键,唯一标识每条记录),最少需要3个字段,因此该空答案为B。
(4)该处考查系统故障原因分析与优化方案设计,题干限定硬件无问题,需从通信环节分析。原因:网络不稳定导致数据无法正常传输;优化方案:①将无线传输改为有线传输 ②网络不稳定时,直接在智能终端进行数据处理,控制闸机抬杆;原因:电力不稳定;优化方案:替换稳定的电力系统;原因:雨天导致摄像头镜头起雾拍摄车牌不清晰 优化方案:选取防水、防雾摄像头等或其他合理答案。
(5)该处考查Python中pandas数据筛选、分组统计、排序及matplotlib绘图的核心语法。①处:需在已筛选出“进出为进”的df1基础上,进一步筛选“闸机号为1号”的数据。A选项直接筛选原始df数据,未基于已筛选的“进”数据;B选项df1[df1[“闸机号”]== “1号”]符合“先筛进出、再筛闸机号”的逻辑,因此①处答案为B。②处:需按“日”分组统计每日进入的车辆数量。C选项df1.groupby(“日”).count()是按“日”字段分组并计数,符合“统计1号闸机每日进入车辆数量”的需求;D选项按“小时”分组,与“每日数量”的统计目标不符,因此②处答案为C。 ③处:需将统计后的每日数量按降序排序,并选取数量最多的前3日。E选项df2.sort_values(“数量”,ascending=False).head(3)是按“数量”降序排列后取前3条数据,符合需求;F选项tail(3)是取末尾3条,即数量最少的3日,与需求相反,因此③处答案为E。 ④处:需为柱形图传入x轴(日期)和y轴(数量)数据。H选项df3.index,df3.数量中,df3的索引是分组后的“日”(日期),数量是统计的车辆数,符合绘图数据要求;G选项中的“日期”字段不存在(df3的日期信息在索引中),因此④处答案为H。
14. 停车场中只存在普通车位,没有专门停放大巴的车位,一辆普通车停放需要占1个普通车位,一辆大巴车停放需要占一行连续6个普通车位。服务器能实时获取停车数据,若用1表示车位被占,0表示车位未被占,停车数据形如列表d=["110111011","1101111", "110111101",...],列表中每个元素表示一行停车位的被占情况,如d中第一个元素为“110111011”,表示该行一共9个车位,第3、7个车位未被占。编写Python程序读取当前停车数据d,计算n辆大巴车和m辆普通车能否全部停放在当前停车场,并输出结果。请回答下列问题:
(1)若某行的停车情况为“110111101000101”,该行是否能停下1辆大巴车____(单选,填字母:A.是/ B.否)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取大巴车数量 n,普通车数量m,停车数据d的值,代码略
i=0
while i < len(d):
c=0;s=d[i]
for j in range(len(s)):
c=c+1-int(s[j])
if ①____:
if n >= c//6:
n=n-c//6
②____
else:
n=0
c=c-n*6
③____
c=0
if n <= 0 and m <= 0:
break
i=i+1
if i < len(d):
print("可以停放!")
else:
print("不可以停放!")
【答案】 ①. B ②. s[j] == ‘1’ or j == len(s)-1 and s[j] == ‘0’ ③. c=c%6 ④. m=m-c
【解析】
【详解】本题考查Python循环结构、条件判断、字符串处理及停车场车位资源计算的综合应用 。
(1)该处考查连续空车位(0)的统计及大巴车停车条件(需6个连续普通车位)。首先拆解停车情况字符串“110111101000101”的每一位车位状态:第1位1、第2位1、第3位0、第4位1、第5位1、第6位1、第7位1、第8位0、第9位1、第10位0、第11位0、第12位0、第13位1、第14位0、第15位1。统计所有连续0的长度,最长的连续空车位为第10-12位的3个,小于大巴车所需的6个连续车位,因此无法停下1辆大巴车,该空答案为B。
(2)①处:该处考查连续空车位中断的判断条件,需识别空车位连续状态的终止(遇到被占车位 1,或遍历到最后一个车位且为 0)。当s[j] == '1'时,说明当前车位被占,连续空车位中断;当j == len(s)-1 and s[j] == '0'时,说明遍历到该行最后一个车位且为空车位,连续空车位统计结束。因此①处答案为s[j] == '1' or j == len(s)-1 and s[j] == '0'。②处:该处考查大巴车位分配后剩余空车位的计算。当该行可停放的大巴车数量(c//6)大于等于剩余需要停放的大巴车数量n时,分配完c//6辆大巴车后,需要从总空车位c中扣除这部分大巴车占用的车位,以便后续将剩余空车位分配给普通车,因此②处答案为c=c%6。③处:该处考查普通车位的分配逻辑。分配完大巴车位后,剩余的空车位c全部用于停放普通车,需要根据剩余普通车数量m的情况更新m的值。因此③处答案为m = m - c 。
15. 某批货物有A、B两个类别,每件货物都有对应价值。货物从0开始依次编号,并按编号从左往
右升序放成一排。取走货物的规则如下:
①每次需要取走不同类且相邻的一对货物,若一排中有多对符合条件的货物,则最先取价值相差最小的一对货物(若价值相差相同取最左边的一对)。
②一对货物取走后,该排货物的空白按原顺序补上。如原来该排货物编号依次为0,1,2,3,货物1,2取走后,该排货物编号变为0,3。
③若该排货物中不再存在不同类且相邻的一对货物,则停止取货。
若货物数据如图所示。
货物编号
0
1
2
3
4
5
6
7
8
货物类别
A
B
B
B
A
A
A
B
A
货物价值
7
8
6
9
10
3
1
5
8
根据上述规则,能取走4对货物,依次为编号<0,1>,<3,4>,<2,5>,<7,8>。
(1)若将图中4号货物变为B,价值变为6,则根据上述规则,最终剩余的货物为编号____。(填数字)
(2)定义insert_que(que,hwd)函数,参数hwd由货物编号、相邻货物编号、货物价值差3个数据项组成,如hwd为[3,4,1]表示编号为3和4的货物价值差为1。函数的功能是将可取的货物对hwd插入到列表que中,并按取货顺序依次排序。
def insert_que(que,hwd):
que.append(hwd) #在列表que末尾添加一个元素hwd
if len(que) != 1:
i=len(que)-2
while i >= 0 and (que[i][2] > hwd[2] or que[i][2] == hwd[2] and que[i][0] > hwd[0]):
i=i-1
que[i+1]=hwd
return que
程序中加框处代码有错,请改正。____
(3)根据货物数据,模拟取货过程,计算取走货物对数及顺序,实现上述功能的Python程序如下,请在划线处填入合适的代码。
def bl_link(que,link,head): #寻找当前可取货物对
p=head
while link[p][1] != -1:
q=link[p][1]
if link[p][2] != link[q][2]:
c=abs(link[p][3]-link[q][3])
que=insert_que(que[p,q,c])
p=link[p][1]
return que
'''
读取货物数据存入链表,其中货物编号即按货物数据顺序从 0 开始依次编号。列表link模拟链表结构,链表节点的前两个数据项依次为前驱指针和后继指针,第三个数据项为货物类别,第四个数据项为货物价值。链表中节点按货物编号升序排列,初始时link[0]为头节点,头节点指针head为0。
例如有4件货物的类型依次为A,B,B,A,相应的价值为7,8,6,9,相应的货物编号为0,1,2,3,读取数据后,链表link为[[-1, 1, 'A', 7], [0, 2, 'B', 8], [1, 3, 'B', 6], [2, -1, 'A', 9]],head=0。
代码略
'''
que=[];count=0
st=[False for i in range(len(link))]
que=bl_link(que,link,head)
while len(que) != 0:
a=que.pop(0) #将列表que第一个元素赋值给a,并将其从que中删除
if not st[a[0]] and not st[a[1]]:
st[a[0]]=True
①____
count+=1
#存储取走的货物对编号,代码略
p=link[a[0]][0]
②____
link[p][1]=q
link[q][0]=p
if ③____:
continue
if link[p][2] != link[q][2]:
c=abs(link[p][3]-link[q][3])
que=insert_que(que,[p,q,c])
#输出取走的货物对数count及依次取走的每对货物编号,代码略
【答案】 ①. 2 ②. que[i+1]=que[i] ③. st[a[1]]=True ④. q=link[a[1]][1]或 q=link[link[a[0]][1]][1]或其他可行答案 ⑤. p == -1 or q == -1
【解析】
【详解】本题考查链表结构操作、插入排序算法及模拟货物取走规则的综合应用。
(1)该处考查根据取货规则模拟取货过程并确定剩余货物编号。修改后4号货物类别为B、价值为6,首先梳理所有货物的编号、类别、价值:0(A,7)、1(B,8)、2(B,6)、3(B,9)、4(B,6)、5(A,3)、6(A,1)、7(B,5)、8(A,8)。第一步:初始相邻不同类对为<0,1>(价值差1)、<4,5>(价值差3),按规则取价值差最小的<0,1>,剩余货物编号为2、3、4、5、6、7、8; 第二步:新序列中相邻不同类对为<4,5>(价值差3)、<7,8>(价值差3),价值差相同取最左的<4,5>,剩余货物编号为2、3、6、7、8; 第三步:新序列中相邻不同类对为<6,7>(价值差4)、<7,8>(价值差3),取价值差更小的<7,8>,剩余货物编号为2、3、6; 第四步:剩余货物2(B,6)、3(B,9)、6(A,1),3、6是不同类且相邻的货物对,取货3、6。因此该空答案为2。
(2)该处考查插入排序中元素后移的代码修正。原代码que[i]=que[i-1]的错误在于,插入排序时要将比新元素大(或价值差相同但编号更大)的元素向后移动,应为将当前位置i的元素后移到i+1位置,而非用前一个元素覆盖当前元素。函数insert_que(que,hwd)的功能是将新的货物对按规则插入有序列表que,当遍历到i位置发现que[i]需后移时,应把que[i]的值赋给que[i+1],为新元素腾出i位置,原代码的赋值方向错误,会导致已排序元素被错误覆盖,无法实现正确的插入排序。正确代码为que[i+1]=que[i]。
(3)①处:该处考查标记被取走货物的状态。st列表用于标记货物是否被取走,a[0]和a[1]是当前取走的一对货物编号,已经将st[a[0]]设为True,需要同步将st[a[1]]也设为True,因此①处答案为st[a[1]]=True。 ②处:该处考查链表指针的获取。p是被取走货物对中第一个货物a[0]的前驱节点,接下来需要获取被取走货物对中第二个货物a[1]的后继节点,以便修改链表指针,将前驱节点p和后继节点直接连接,因此②处答案为q=link[a[1]][1]。③处:该处考查链表头节点的判断。p是前驱节点、q是后继节点,若其中任意一个为 - 1,说明无对应的相邻节点,无法形成新的不同类相邻对,无需执行后续的判断和插入队列操作,直接进入下一轮循环即可因此③处答案为p == -1 or q == -1。
第1页/共1页
学科网(北京)股份有限公司
$