内容正文:
2025学年第二学期杭州市高三年级教学质量检测
技术试题卷
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
某博物馆搭建非遗数字平台,采用文本、图片、视频等多种媒体形式对传统技艺进行数字化存储,公众能够借助网站或VR 眼镜深度体验。阅读材料,完成下面小题:
1. 下列关于该平台中数据与信息的描述,正确的是( )
A. 图片能够毫无失真地还原实物外观细节
B. 使用不同设备浏览同一传统技艺,获得的体验相同
C. 平台中的数据被拷贝后,其原始数据不会损耗
D. 非遗信息的价值对所有使用者都是相同的
2. 关于信息安全与信息社会责任,下列行为合适的是( )
A. 某公司未经授权,将平台图片用于商业广告设计
B. 为提高访问速度,可临时关闭防火墙
C. 在收集用户信息时,不告知其具体用途
D. 对重要数据加密存储,并定期备份
3. 该平台推出“AI剪纸”功能,应用人工智能模型将用户上传的图片转换为剪纸风格的艺术图像,以下做法无助于提升艺术图像生成效果的是( )
A. 提升交互界面的用户友好性 B. 对图片进行裁剪以突出主体
C. 改进模型中提取图像轮廓的算法 D. 适当增加模型训练时的数据量
4. 馆内某展厅有12件陶瓷类、15件编织类、25件剪纸类和9件雕刻类展品。若使用二进制对这些展品进行编码,二进制的前几位表示类别,其余位表示该类别的具体展品,则所需的二进制位数最少是( )
A. 6 B. 7 C. 8 D. 17
某河道水质监测系统中的监测点集成了水质传感器、北斗定位模块、太阳能供电模块和物联通信模块,通过智能终端定时收集水质与位置数据后传输至服务器。当服务器判定某监测点水质数据超标时,会向管理员的手机APP发送示警信息。市民可通过APP查看各河段水质信息。阅读材料,完成下面小题:
5. 下列关于该信息系统功能与应用的说法,正确的是( )
A. 该系统不会有安全隐患
B. 传感器获取水质数据属于系统的输出功能
C. APP 的使用便于管理员了解水质信息
D. 太阳能供电模块主要用于提升数据处理速度
6. 下列关于该信息系统中软件与网络的说法,正确的是( )
A. 安装了APP的移动终端一定有系统软件
B. 智能终端收集数据无需任何软件支持
C. 监测点与服务器之间的通信只能使用无线连接
D. 各河段水质信息不属于该系统的网络资源
7. 下列关于该信息系统中数据的说法,不正确的是( )
A. 示警信息的生成依赖于服务器对数据进行分析与判断
B. 系统中存储的历史水质数据可用于长期水质监测
C. 北斗定位模块损坏会影响数据的采集
D. 系统中数据的表现形式必须是相同的
8. 某栈S为空,队列Q从队首到队尾的元素依次为1、2、3,约定有两种操作:操作A为队首元素出队并入栈,操作B为栈顶元素出栈并入队。经过多次操作后,若栈S从栈底到栈顶的元素依次为1、3、2,则操作次数最少为( )
A. 3 B. 4 C. 5 D. 6
9. 某完全二叉树有4个节点,分别标记为ABCD,已知A是D的父节点, B是C的父节点,则该二叉树的前序遍历序列可能为( )
A. BCAD B. BADC C. ACBD D. ABDC
10. 有如下Python程序段:
def f(n, sign):
if n== 0:
return n
return n * sign + f(n -1, -sign)
执行语句 print(f(5, 1)),输出的结果为( )
A. -5 B. 3 C. 7 D. 15
11. 有如下Python程序段:
from random import randint
n = len(s)
res=""
i, j = 0, n - 1
while len(res) < n:
k = randint (1, n) #随机生成[1,n]之间的整数
if k% 2 == 0:
res += s[i]; i = (i + k) % n
else:
res += s[j]; j = (j - k) % n
若字符串s的值为"ABCDE",执行该程序段后,变量res的值不可能是( )
A. "ABCDE" B. "AECDB" C. "EADCB" D. "EDCBA"
12. 使用列表d模拟链表结构(节点数大于2),每个节点包含数据区域和指针区域,h为头指针。现要修改该链表各节点的链接关系,将链表L0→L1→L2→…→Ln-1重排为L0→Ln-1→L1→Ln-2→…,实现该功能的程序段如下,运行结果如图所示。
重排前链表数值顺序:10→11→12→13→14→15
重排后链表数值顺序:10→15→11→14→12→13
#初始化链表数据d,并输出链表数据,代码略
s = h #h为头指针
print("重排后链表数值顺序:",end=" ")
p = h
while d[p][1] != -1:
print (d[p] [0], end="→")
p= d[p][1]
print (d[p] [0])
有如下代码段,在方框中填入的语句顺序应为( )
代码段①
p=-1
cur = s
while cur != -1:
nxt = d[cur][1]
d[cur][1] = p
p = cur
cur = nxt
代码段②
f = h
while f !=-1 and d[f][1] !=-1:
p=s
s = d[s][1]
f= d[f] [1]
if f != -1:
f = d[f] [1]
d[p] [1] =-1
代码段③
pl = h
p2 = q= p
while q!=-1:
q = d[p2][1]
d[p2] [1] = d[p1][1]
d[p1] [1] = p2
pl=d[p2] [1]
p2 = q
A. ③①② B. ②①③ C. ①③② D. ①②③
二、综合题(本大题共3题,其中第13题9分,第14题8分,第15题9分,共26分)
13. 某停车场管理系统,在停车场内安装有多个智能终端,每个停车位上安装一个传感器,每个智能终端连接多个传感器。智能终端将传感器采集的数据通过网络上传至服务器。服务器处理数据,并通过智能终端控制停车位指示灯亮灭,以指示各停车位的实时占用情况。请回答下列问题:
(1)可对____________设置唯一编号以区分不同的停车位。(单选,填字母:A.传感器/B.智能终端)
(2)下列能有效降低服务器处理数据压力的措施是____________(单选,填字母:A. 减少传感器采集间隔时长/B.仅当车位状态改变时才上传数据/C.将数据进行压缩后传输)
(3)下列关于该系统设计的说法,正确的有____________(多选,填字母)。
A. 系统设计时需考虑软件的可扩展性
B. 该系统若增加一个车位,必须增加一个智能终端
C. 智能终端和服务器不能在同一局域网内
D. 该系统可使用 B/S 架构实现
(4)停车位上安装的传感器是为了识别停车位上有无车辆停放,请说出一种可用的传感器名称,并说明它是如何识别的。
(5)停车费用计算规则为:首小时5元,之后每小时3元,不足1小时按1小时计,单日(24小时)最高收费35元。车辆连续停放超过24小时的视为第二次停放,重新计费。
例如:停车25小时,费用为第一天35元(24小时)+第二天5元(1小时),共40元。计算停车费用fee的部分Python程序如下。
#获取并计算某车的停车小时数,保存在h(h为整数且h>0)中,代码略
d = h // 24
t = h % 24
if t== 1:
fee = 5
elif t > 1:
fee =________
if fee >35:
fee = 35
fee += d * 35
①请在程序中划线处填入合适的代码。
②若程序中删除加框处语句,则当h的值为___________时,程序会报错。(列举一种情况)
14. 某用电监测系统采集了部分房间2025年的照明用电数据并存于data. x1sx文件中,如图a所示。现要找出月均照明用电量最多的房间(各房间用电总量均不相同),并绘制该房间2025年各月份的照明用电量折线图(如图b所示),并按用电量降序输出该房间各月份用电情况(如图c所示)。
实现上述功能的部分Python程序如下。
(1)请在程序中划线处填入正确的代码。
import pandas as pd
import matplotlib. pyplot as plt
df = pd. read-excel ("data.xlsx") #读取文件
columns = df.columns[1:] #取得所有房间列表
maxv = 0
for col in columns:
s = df [col]. sum () #求总和
ave = round (s/12, 2) #保留2位小数
if ave >mav:
________
maxcol = col
print("月均照明用电量最多的房间为", maxcol)
df. insert (0, "月","") #在首列插入"月"列
for i in df. index:
t = df. at[i,"时间"] #通过行标签和列标签选取单个值
df. at[i,"月"]=________
df = df.drop("时间", axis=1) #删除"时间"列
df2 = df[["月", maxcol]] #从df中筛选出两列数据
#设置绘图参数,代码略
plt. show ()
print("该房间2025年每月用电情况如下:")
print("月份","月用电量(kW·h)")
for i in df3. index:
print (df3. at[i,"月"]," ", round (df3[maxcol] [i], 2))
(2)请选择正确的代码填入方框处①_______、②_______、③_______(单选,填字母)
程序方框中处可选的代码有:
A. df3 = df. groupby("月",as_index = True). mean () #分组求平均
B. df3 = df2. groupby ("月",as_index = False). sum() #分组求和
C. df3 = df3. sort_values (maxcol, ascending=False) #降序排序
D. df3 = df3. sort_values (col, ascending=False)
E. plt. plot (df3. index, df3[maxcol]) #绘制折线图
F. plt. plot (df3.月, df3[maxcol])
(3)2-201房间2025年月均用电量为180.67 kW.h,则该房间超过月均用电量的月份有_______个。
15. 某物流仓库提供货物搬运功能,每件货物规格相同,仓库内共有n辆叉车(编号为1~n)。现收到若干个订单,每个订单包括装货时间(从0开始编号)和货物数量。根据叉车调度规则,要求在截止时间t前完成所有订单的货物搬运,计算需要的最少叉车数量。
已知每辆叉车一次处理一个订单的货物,且一次最多装载10件货物。叉车获取每件货物需花费1个单位时间,每次将叉车上的所有货物搬运至货车中需花费3个单位时间。叉车调度规则如下:
①选择最早空闲叉车;若空闲叉车有多辆,则选择编号最小的叉车。
②若一辆叉车无法在截止时间t前完成搬运,则在每辆叉车尽可能多装货物(一次不超过10件)的前提下,安排最少数量的叉车在截止时间t前完成;若不能,则输出“订单无法完成!”。
例如t为15,订单序列data为[[0, 22], [4, 12]]。当叉车数量为4时,根据调度规则,货物搬运过程如图a所示。
请回答下列问题:
(1)若data为[[0, 15], [4, 12]], t为15,则完成所有订单至少需要__________辆叉车。
(2)定义如下psort(data)函数, data列表的每个元素包含2个数据项,依次为装货时间和货物数量,已按装货时间升序排列。函数的功能为保持订单按装货时间升序排列不变,当装货时间相同时,按货物数量降序排列,返回data。
def psort (data):
for i in range (len (data)-1):
for j in range (len(data)-i-1):
if:
data[j], data[j+1] = data[j+1], data[j]
return data
要实现函数功能,方框处应填入的代码为___________(单选,填字母)。
A. data[j][1] < data[j+1][1]
B. data[j][1] > data[j+1][1]
C. data[j][0]==data[j+1][0] and data[j][1] <data[j+1][1]
D. data[j][0] != data[j+1][0] and data[j][1] > data[j+1][1]
(3)实现计算最少叉车数量的部分Python 程序如下,请在划线处填入合适的代码。
def findi (cars):
mini = 0
for j in range(len(cars)):
if cars[j] <cars[mini]:
mini = j
return mini
def check (data, m, v, t):
cars= [0] * m
for i in range(len(data)):
________
while count > 0:
mini = findi (cars)
stime = max (cars[mini], data[i][0]) #max (a, b)返回a,b的最大值
remain = t -3- stime
if remain <= 0:
return False
load = min (count,remain, v) #min(a,b,c)返回a,b,c的最小值
________
count -= load
return True
"""读取截止时间t、叉车数量n;读取订单数据表存入data列表,每个元素包含2个数据项,依次为装货时间和货物数量。代码略。"""
data = psort (data)
v=10 #叉车最大装货量
left, right = 1,n
while left <= right:
m = (left + right) // 2
if check (data, m, v, t):
right = m - 1
else:
left = m + 1
if________:
print("订单无法完成!")
else:
print("最少需要", left, "辆叉车")
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第二学期杭州市高三年级教学质量检测
技术试题卷
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
某博物馆搭建非遗数字平台,采用文本、图片、视频等多种媒体形式对传统技艺进行数字化存储,公众能够借助网站或VR 眼镜深度体验。阅读材料,完成下面小题:
1. 下列关于该平台中数据与信息的描述,正确的是( )
A. 图片能够毫无失真地还原实物外观细节
B. 使用不同设备浏览同一传统技艺,获得的体验相同
C. 平台中的数据被拷贝后,其原始数据不会损耗
D. 非遗信息的价值对所有使用者都是相同的
2. 关于信息安全与信息社会责任,下列行为合适的是( )
A. 某公司未经授权,将平台图片用于商业广告设计
B. 为提高访问速度,可临时关闭防火墙
C. 在收集用户信息时,不告知其具体用途
D. 对重要数据加密存储,并定期备份
3. 该平台推出“AI剪纸”功能,应用人工智能模型将用户上传的图片转换为剪纸风格的艺术图像,以下做法无助于提升艺术图像生成效果的是( )
A. 提升交互界面的用户友好性 B. 对图片进行裁剪以突出主体
C. 改进模型中提取图像轮廓的算法 D. 适当增加模型训练时的数据量
4. 馆内某展厅有12件陶瓷类、15件编织类、25件剪纸类和9件雕刻类展品。若使用二进制对这些展品进行编码,二进制的前几位表示类别,其余位表示该类别的具体展品,则所需的二进制位数最少是( )
A. 6 B. 7 C. 8 D. 17
【答案】1. C 2. D 3. A 4. B
【解析】
【1题详解】
本题考查数据与信息的基本性质。A选项,图片对实物的数字化存储存在信息损失,无法毫无失真地还原实物外观细节,描述错误;B选项,不同设备的呈现能力不同,使用不同设备浏览同一传统技艺获得的体验并不相同,描述错误;C选项,数字数据具有无损复制的特性,平台数据拷贝后原始数据不会产生损耗,描述正确;D选项,信息的价值具有相对性,非遗信息的价值对不同使用者并不相同,描述错误。故答案为:C
【2题详解】
本题考查信息安全与信息社会责任。A选项,未经授权将平台图片用于商业广告设计,侵犯了平台知识产权,行为不合适;B选项,临时关闭防火墙会带来病毒入侵、信息泄露等安全风险,行为不合适;C选项,收集用户信息不告知用途,违反隐私保护相关规定,行为不合适;D选项,对重要数据加密存储并定期备份,是规范的信息安全防护行为,行为合适。故答案为:D。
【3题详解】
本题考查人工智能图像生成的应用。题干要求选出无助于提升艺术图像生成效果的选项。A选项,提升交互界面的用户友好性只能优化用户操作体验,无法改进生成的艺术图像本身的效果,符合题意;B选项,裁剪上传图片突出主体,可以帮助AI模型更好地处理核心内容,有助于提升生成效果;C选项,改进模型提取图像轮廓的算法,可以优化剪纸风格图像的生成质量,有助于提升生成效果;D选项,适当增加模型训练数据量,能够提升模型的生成能力,有助于提升生成效果。故答案为:A。
【4题详解】
本题考查二进制编码的计算。首先计算表示类别所需的最少二进制位数:共有4类展品,满足2^n>=4,可得最少需要n=2位;再计算表示展品所需的最少二进制位数:展品数量最多的类别有25件,满足2^m>=25,由于2^4=16<25,2^5=32 > 25,可得最少需要m=5位;总二进制位数最少为2+5=7位。故答案为:B。
某河道水质监测系统中的监测点集成了水质传感器、北斗定位模块、太阳能供电模块和物联通信模块,通过智能终端定时收集水质与位置数据后传输至服务器。当服务器判定某监测点水质数据超标时,会向管理员的手机APP发送示警信息。市民可通过APP查看各河段水质信息。阅读材料,完成下面小题:
5. 下列关于该信息系统功能与应用的说法,正确的是( )
A. 该系统不会有安全隐患
B. 传感器获取水质数据属于系统的输出功能
C. APP 的使用便于管理员了解水质信息
D. 太阳能供电模块主要用于提升数据处理速度
6. 下列关于该信息系统中软件与网络的说法,正确的是( )
A. 安装了APP的移动终端一定有系统软件
B. 智能终端收集数据无需任何软件支持
C. 监测点与服务器之间的通信只能使用无线连接
D. 各河段水质信息不属于该系统的网络资源
7. 下列关于该信息系统中数据的说法,不正确的是( )
A. 示警信息的生成依赖于服务器对数据进行分析与判断
B. 系统中存储的历史水质数据可用于长期水质监测
C. 北斗定位模块损坏会影响数据的采集
D. 系统中数据的表现形式必须是相同的
【答案】5. C 6. A 7. D
【解析】
【5题详解】
本题考查信息系统的功能与应用。任何信息系统都可能存在数据泄露、网络攻击等安全隐患,选项A错误;传感器获取水质数据属于系统的数据输入功能,而非输出功能,选项B错误;管理员可通过APP接收示警信息、查看水质数据,便于及时了解水质信息,选项C正确;太阳能供电模块的作用是为系统提供电力,无法提升数据处理速度,选项D错误。故答案为:C。
【6题详解】
本题考查信息系统中软件与网络的基础知识。APP属于应用软件,所有应用软件都需要运行在系统软件之上,因此安装了APP的移动终端一定有系统软件,选项A正确;智能终端收集数据需要操作系统、数据采集程序等软件的支持,选项B错误;监测点与服务器之间可采用有线连接通信,并非只能使用无线连接,选项C错误;各河段水质信息是该系统通过网络存储、共享的资源,属于该系统的网络资源,选项D错误。故答案为:A。
【7题详解】
本题考查信息系统中数据的相关知识。示警信息是服务器对采集的水质数据进行分析、判断超标后生成的,选项A表述正确;存储的历史水质数据可用于分析水质变化趋势,支撑长期水质监测工作,选项B表述正确;该系统需要采集监测点的位置数据,北斗定位模块损坏会影响位置数据的采集,选项C表述正确;系统中数据可以数字、文字、图表等多种形式呈现,表现形式不需要必须相同,选项D表述错误。故答案为:D。
8. 某栈S为空,队列Q从队首到队尾的元素依次为1、2、3,约定有两种操作:操作A为队首元素出队并入栈,操作B为栈顶元素出栈并入队。经过多次操作后,若栈S从栈底到栈顶的元素依次为1、3、2,则操作次数最少为( )
A. 3 B. 4 C. 5 D. 6
【答案】C
【解析】
【详解】本题考查的是栈和队列的操作。栈遵循后进先出,队列遵循先进先出;操作A是队首元素出队并入栈,操作B是栈顶元素出栈并入队尾;目标是让所有元素最终都在栈中,且栈从栈底到栈顶为1、3、2,推导最少操作步骤如下:
操作A(次数1):队首1出队入栈 → 栈S:[1],队列Q剩余[2, 3]
操作A(次数2):队首2出队入栈 → 栈S:[1, 2],队列Q剩余[3]
操作B(次数3):栈顶2出栈入队尾 → 栈S:[1],队列Q变为[3, 2]
操作A(次数4):队首3出队入栈 → 栈S:[1, 3],队列Q剩余[2]
操作A(次数5):队首2出队入栈 → 栈S:[1, 3, 2],符合目标要求。
故本题应选C。
9. 某完全二叉树有4个节点,分别标记为ABCD,已知A是D的父节点, B是C的父节点,则该二叉树的前序遍历序列可能为( )
A. BCAD B. BADC C. ACBD D. ABDC
【答案】B
【解析】
【详解】本题考查的是二叉树的遍历。明确完全二叉树结构4个节点的完全二叉树结构固定:第一层1个根节点,第二层2个节点(根的左右孩子,除最后一层外必须满),第三层1个节点,且第三层节点一定是根左孩子的左孩子(完全二叉树最后一层节点靠左排列,不可能出现在根右孩子下方)。题干要求:A是D的父节点,B是C的父节点,因此:C、D是子节点,A、B是父节点,根只能是A或B(C、D已有父,不可能是根),且唯一的第三层节点(只有一个)一定在根的左孩子下方。其二叉树图形如下:
或
故该二叉树的前序遍历序列可能为:BADC 或ABCD。故选B。
10. 有如下Python程序段:
def f(n, sign):
if n== 0:
return n
return n * sign + f(n -1, -sign)
执行语句 print(f(5, 1)),输出的结果为( )
A. -5 B. 3 C. 7 D. 15
【答案】B
【解析】
【详解】本题考查Python递归函数的执行与计算。该函数为递归函数,我们逐层展开递归计算:递归展开后表达式为:f(5,1) = 5×1 + f(4,-1) = 5×1 + 4×(-1) + f(3,1) = 5×1 + 4×(-1) + 3×1 + 2×(-1) + 1×1 + f(0,-1),当n=0时触发递归终止条件,返回0。最终计算得结果:5 - 4 + 3 - 2 + 1 + 0 = 3,对应第二个选项。故答案为:B。
11. 有如下Python程序段:
from random import randint
n = len(s)
res=""
i, j = 0, n - 1
while len(res) < n:
k = randint (1, n) #随机生成[1,n]之间的整数
if k% 2 == 0:
res += s[i]; i = (i + k) % n
else:
res += s[j]; j = (j - k) % n
若字符串s的值为"ABCDE",执行该程序段后,变量res的值不可能是( )
A. "ABCDE" B. "AECDB" C. "EADCB" D. "EDCBA"
【答案】A
【解析】
【详解】本题考查Python程序逻辑分析与条件推理能力。解析:已知字符串s = "ABCDE",对应索引0:A、1:B、2:C、3:D、4:E,n=5,初始i=0,j=4,程序核心规则为:每次生成[1,5]的随机整数k,若k为偶数,将s[i]加入结果res,更新i=(i+k)%n;若k为奇数,将s[j]加入结果res,更新j=(j-k)%n,循环直到res长度为5。若结果第一个字符是A,说明第一次k为偶数,1~5中的偶数只有2和4,因此更新后i=(0+k)%5只能是2或4(均为偶数),且第一次k为偶数不改变j,j仍为4。此时第二个字符: 若k仍为偶数:只能取s[2]=C或s[4]=E,不可能得到索引1的B;若k为奇数:只能取s[j=4]=E,也不可能得到B。 选项A"ABCDE"首字符为A、第二个字符为B,矛盾,因此不可能。故答案为:A。
12. 使用列表d模拟链表结构(节点数大于2),每个节点包含数据区域和指针区域,h为头指针。现要修改该链表各节点的链接关系,将链表L0→L1→L2→…→Ln-1重排为L0→Ln-1→L1→Ln-2→…,实现该功能的程序段如下,运行结果如图所示。
重排前链表数值顺序:10→11→12→13→14→15
重排后链表数值顺序:10→15→11→14→12→13
#初始化链表数据d,并输出链表数据,代码略
s = h #h为头指针
print("重排后链表数值顺序:",end=" ")
p = h
while d[p][1] != -1:
print (d[p] [0], end="→")
p= d[p][1]
print (d[p] [0])
有如下代码段,在方框中填入的语句顺序应为( )
代码段①
p=-1
cur = s
while cur != -1:
nxt = d[cur][1]
d[cur][1] = p
p = cur
cur = nxt
代码段②
f = h
while f !=-1 and d[f][1] !=-1:
p=s
s = d[s][1]
f= d[f] [1]
if f != -1:
f = d[f] [1]
d[p] [1] =-1
代码段③
pl = h
p2 = q= p
while q!=-1:
q = d[p2][1]
d[p2] [1] = d[p1][1]
d[p1] [1] = p2
pl=d[p2] [1]
p2 = q
A. ③①② B. ②①③ C. ①③② D. ①②③
【答案】B
【解析】
【详解】本题考查链表操作与代码逻辑分析,属于链表重排的算法应用问题。要实现将原链表L0→L1→…→Ln-1重排为L0→Ln-1→L1→Ln-2→…,整体算法分为三步:1. 拆分原链表:通过快慢指针法找到链表中点,拆分出前半段和后半段,该功能对应代码段②:快指针f每次移动2步,慢指针s每次移动1步,循环结束后s指向后半段起点,最终将前半段尾节点的指针置为-1,完成拆分。2. 反转后半段链表:拆分得到的后半段需要反转得到逆序,才能匹配重排要求,该功能对应代码段①:这是标准的迭代反转链表算法,遍历修改每个节点的指针后,最终p为反转后后半段的头指针。3.交叉合并得到目标链表:将前半段和反转后的后半段交叉插入,得到重排后的目标链表,该功能对应代码段③:分别遍历两个链表,依次将后半段节点插入到前半段对应位置,完成重排。因此正确的语句顺序为②①③。故答案为:B。
二、综合题(本大题共3题,其中第13题9分,第14题8分,第15题9分,共26分)
13. 某停车场管理系统,在停车场内安装有多个智能终端,每个停车位上安装一个传感器,每个智能终端连接多个传感器。智能终端将传感器采集的数据通过网络上传至服务器。服务器处理数据,并通过智能终端控制停车位指示灯亮灭,以指示各停车位的实时占用情况。请回答下列问题:
(1)可对____________设置唯一编号以区分不同的停车位。(单选,填字母:A.传感器/B.智能终端)
(2)下列能有效降低服务器处理数据压力的措施是____________(单选,填字母:A. 减少传感器采集间隔时长/B.仅当车位状态改变时才上传数据/C.将数据进行压缩后传输)
(3)下列关于该系统设计的说法,正确的有____________(多选,填字母)。
A. 系统设计时需考虑软件的可扩展性
B. 该系统若增加一个车位,必须增加一个智能终端
C. 智能终端和服务器不能在同一局域网内
D. 该系统可使用 B/S 架构实现
(4)停车位上安装的传感器是为了识别停车位上有无车辆停放,请说出一种可用的传感器名称,并说明它是如何识别的。
(5)停车费用计算规则为:首小时5元,之后每小时3元,不足1小时按1小时计,单日(24小时)最高收费35元。车辆连续停放超过24小时的视为第二次停放,重新计费。
例如:停车25小时,费用为第一天35元(24小时)+第二天5元(1小时),共40元。计算停车费用fee的部分Python程序如下。
#获取并计算某车的停车小时数,保存在h(h为整数且h>0)中,代码略
d = h // 24
t = h % 24
if t== 1:
fee = 5
elif t > 1:
fee =________
if fee >35:
fee = 35
fee += d * 35
①请在程序中划线处填入合适的代码。
②若程序中删除加框处语句,则当h的值为___________时,程序会报错。(列举一种情况)
【答案】(1)A (2)B (3)AD
(4)摄像头:通过拍照分析车位图像,根据车辆识别来判断是否停放
距离传感器:安装在地面(或顶部),通过计算与前方的距离来判断车辆是否停放
压力传感器:通过感知轮胎压力引起的形变或重量变化判断车辆是否停放
或其他合理答案 (5) ①. 5+(t-1)*3或3*t+2或其他等价表达式 ②. 24的倍数即可
【解析】
【小问1详解】
本题考查物联网系统的应用理解。每个停车位对应一个传感器,要区分不同停车位,对传感器设置唯一编号即可实现;一个智能终端对应多个停车位,无法通过智能终端编号区分单个停车位。故答案为:A。
【小问2详解】
本题考查信息系统的性能优化。A选项减少采集间隔会增加数据总量,增大服务器处理压力;B选项仅车位状态改变时才上传数据,大幅减少需要服务器处理的数据量,能有效降低服务器处理压力;C选项数据压缩只会降低传输带宽压力,不会减少服务器需要处理的总数据量,无法降低处理压力。故答案为:B。
【小问3详解】
本题考查信息系统设计的基础知识。A选项:系统设计一般都需要考虑可扩展性,方便后续新增车位、拓展功能,说法正确;B选项:题干明确说明每个智能终端可连接多个传感器,新增车位只需要加传感器,不需要新增智能终端,说法错误;C选项:智能终端和服务器可以在同一局域网完成数据传输,说法错误;D选项:停车场管理系统可以使用B/S架构实现,方便多端访问管理,说法正确。故答案为:AD。
【小问4详解】
本题考查传感器的实际应用,答案合理即可,举典型示例说明:本题考查传感器的选型与应用原理,以下为一种合理示例:压力传感器,将其安装在停车位地面,当有车辆停放时,车辆重量使传感器检测到的压力达到预设阈值,即可识别为有车辆,压力低于阈值则识别为无车辆。(其他合理答案:距离传感器:安装在车位顶部,检测到距离小于阈值说明有车辆遮挡,即可识别有车;红外传感器:车辆阻挡红外信号后即可识别有车,均可)故答案为:示例:压力传感器,通过检测停车位承受的重量变化,达到车辆重量阈值则判定有车,否则判定无车(合理即可)。
【小问5详解】
本题考查Python程序设计逻辑。①空根据计费规则,t是不满24小时的停车整数小时数,t>1时,首小时收费5元,剩余(t-1)小时每小时收费3元,推导得费用表达式为5 + (t-1)*3,化简后等价为3*t + 2。故答案为:5 + (t-1)*3(或3*t + 2等等价表达式)。 ②空加框语句是给fee赋初值,删除后,如果h是24的倍数,t = h%24 = 0,此时t不满足t==1,也不满足t>1,fee从未被定义,后续使用fee会报错,任意24的正整数倍都符合要求。故答案为:24(任意24的正整数倍均可)。
14. 某用电监测系统采集了部分房间2025年的照明用电数据并存于data. x1sx文件中,如图a所示。现要找出月均照明用电量最多的房间(各房间用电总量均不相同),并绘制该房间2025年各月份的照明用电量折线图(如图b所示),并按用电量降序输出该房间各月份用电情况(如图c所示)。
实现上述功能的部分Python程序如下。
(1)请在程序中划线处填入正确的代码。
import pandas as pd
import matplotlib. pyplot as plt
df = pd. read-excel ("data.xlsx") #读取文件
columns = df.columns[1:] #取得所有房间列表
maxv = 0
for col in columns:
s = df [col]. sum () #求总和
ave = round (s/12, 2) #保留2位小数
if ave >mav:
________
maxcol = col
print("月均照明用电量最多的房间为", maxcol)
df. insert (0, "月","") #在首列插入"月"列
for i in df. index:
t = df. at[i,"时间"] #通过行标签和列标签选取单个值
df. at[i,"月"]=________
df = df.drop("时间", axis=1) #删除"时间"列
df2 = df[["月", maxcol]] #从df中筛选出两列数据
#设置绘图参数,代码略
plt. show ()
print("该房间2025年每月用电情况如下:")
print("月份","月用电量(kW·h)")
for i in df3. index:
print (df3. at[i,"月"]," ", round (df3[maxcol] [i], 2))
(2)请选择正确的代码填入方框处①_______、②_______、③_______(单选,填字母)
程序方框中处可选的代码有:
A. df3 = df. groupby("月",as_index = True). mean () #分组求平均
B. df3 = df2. groupby ("月",as_index = False). sum() #分组求和
C. df3 = df3. sort_values (maxcol, ascending=False) #降序排序
D. df3 = df3. sort_values (col, ascending=False)
E. plt. plot (df3. index, df3[maxcol]) #绘制折线图
F. plt. plot (df3.月, df3[maxcol])
(3)2-201房间2025年月均用电量为180.67 kW.h,则该房间超过月均用电量的月份有_______个。
【答案】(1) ①. maxv=ave或其他等价表达式 ②. t[5:7]或其他等价表达式
(2) ①. ①B ②. F ③. C
(3)6
【解析】
【详解】本题考查Python pandas数据处理与matplotlib绘图应用能力。
(1)第一个划线处:遍历所有房间计算月均用电量,寻找月均最大的房间,当当前房间月均大于当前记录的最大值maxv时,需要更新最大值,因此该空填写maxv = ave;第二个划线处:原始时间为2025-MM-DD格式的字符串,需要提取月份部分,对时间字符串切片,从索引5开始取2个字符即可得到月份,因此该空填写t[5:7]。
(2)①:得到筛选后的df2,包含月份和目标房间的每日用电数据,需要按月份分组求和得到每月总用电量,符合要求的是选项B;②:分组时设置as_index = False,"月"保留为df3的普通列,折线图x轴为月份,符合要求的绘图代码是选项F;③:题目要求按用电量降序输出,排序依据是目标房间的用电量列maxcol,符合要求的是选项C。
(3)结合图c的用电数据,月均为180.67kW·h,超过该值的月份共有6个。
15. 某物流仓库提供货物搬运功能,每件货物规格相同,仓库内共有n辆叉车(编号为1~n)。现收到若干个订单,每个订单包括装货时间(从0开始编号)和货物数量。根据叉车调度规则,要求在截止时间t前完成所有订单的货物搬运,计算需要的最少叉车数量。
已知每辆叉车一次处理一个订单的货物,且一次最多装载10件货物。叉车获取每件货物需花费1个单位时间,每次将叉车上的所有货物搬运至货车中需花费3个单位时间。叉车调度规则如下:
①选择最早空闲叉车;若空闲叉车有多辆,则选择编号最小的叉车。
②若一辆叉车无法在截止时间t前完成搬运,则在每辆叉车尽可能多装货物(一次不超过10件)的前提下,安排最少数量的叉车在截止时间t前完成;若不能,则输出“订单无法完成!”。
例如t为15,订单序列data为[[0, 22], [4, 12]]。当叉车数量为4时,根据调度规则,货物搬运过程如图a所示。
请回答下列问题:
(1)若data为[[0, 15], [4, 12]], t为15,则完成所有订单至少需要__________辆叉车。
(2)定义如下psort(data)函数, data列表的每个元素包含2个数据项,依次为装货时间和货物数量,已按装货时间升序排列。函数的功能为保持订单按装货时间升序排列不变,当装货时间相同时,按货物数量降序排列,返回data。
def psort (data):
for i in range (len (data)-1):
for j in range (len(data)-i-1):
if:
data[j], data[j+1] = data[j+1], data[j]
return data
要实现函数功能,方框处应填入的代码为___________(单选,填字母)。
A. data[j][1] < data[j+1][1]
B. data[j][1] > data[j+1][1]
C. data[j][0]==data[j+1][0] and data[j][1] <data[j+1][1]
D. data[j][0] != data[j+1][0] and data[j][1] > data[j+1][1]
(3)实现计算最少叉车数量的部分Python 程序如下,请在划线处填入合适的代码。
def findi (cars):
mini = 0
for j in range(len(cars)):
if cars[j] <cars[mini]:
mini = j
return mini
def check (data, m, v, t):
cars= [0] * m
for i in range(len(data)):
________
while count > 0:
mini = findi (cars)
stime = max (cars[mini], data[i][0]) #max (a, b)返回a,b的最大值
remain = t -3- stime
if remain <= 0:
return False
load = min (count,remain, v) #min(a,b,c)返回a,b,c的最小值
________
count -= load
return True
"""读取截止时间t、叉车数量n;读取订单数据表存入data列表,每个元素包含2个数据项,依次为装货时间和货物数量。代码略。"""
data = psort (data)
v=10 #叉车最大装货量
left, right = 1,n
while left <= right:
m = (left + right) // 2
if check (data, m, v, t):
right = m - 1
else:
left = m + 1
if________:
print("订单无法完成!")
else:
print("最少需要", left, "辆叉车")
【答案】(1)3 (2)C
(3) ①. count=data[i][1]或其他等价表达式 ②. cars[mini]=stime+load+3或其他等价表达式 ③. left>n或其他等价表达式
【解析】
【小问1详解】
本题考查调度规则的理解与计算。根据调度规则计算:第一个订单共15件货物,分2次搬运,使用2辆叉车,结束时间分别为13和8;处理第二个订单共12件,第3辆叉车可先装8件,结束时间刚好15,剩余4件由已经空闲的第二辆叉车搬运,结束时间也刚好15,3辆叉车即可完成所有任务。故答案为:3。
【小问2详解】
本题考查冒泡排序的逻辑与条件分析。题目要求保持原有的装货时间升序不变,仅当装货时间相同时,按货物数量降序排列;只有当相邻两个订单装货时间相同,且前一个订单的货物数量小于后一个订单的货物数量时,交换两者位置才能满足降序要求,对应第三个选项的条件。故答案为:C。
【小问3详解】
本题考查Python程序算法逻辑分析。① 第一处空缺:遍历每个订单时,需要将当前订单的货物总数赋值给count,用于后续分车次搬运,因此填入count=data[i][1]。② 第二处空缺:本次搬运完成后,需要更新对应叉车的结束时间,结束时间=开始时间+装载货物时间(每件1单位,共load单位)+搬运固定花费3单位,因此填入cars[mini] = stime + load + 3。③ 第三处空缺:二分查找结束后,若left大于总叉车数n,说明即使调用所有n辆叉车也无法完成订单,需要输出无法完成,因此填入left>n。
第1页/共1页
学科网(北京)股份有限公司
$