内容正文:
高二技术学科
技术 试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某科技公司研发了一款L4级城市自动驾驶系统。该系统通过激光雷达、毫米波雷达、高清摄像头等传感器实时采集车辆周围环境数据。采集的数据经车载计算平台进行融合处理,利用深度学习算法构建高精地图并规划行驶路径。系统通过5G-V2X(车联网)技术与云端交通大脑通信,获取超视距的交通路况信息。当遇到复杂路口或系统无法确定的场景时,会请求云端人工接管或切换至安全模式。系统运行过程中产生的海量数据会加密上传至云端数据中心,用于模型迭代优化。
1. 下列关于该自动驾驶系统中数据和信息的描述,正确的是( )
A. 传感器采集的环境数据属于信息,经过处理后的路径规划结果才是数据
B. 系统仅依赖车载传感器数据即可实现所有场景下的完美自动驾驶,无需外部数据
C. 云端利用历史行驶数据训练优化算法模型,体现了数据的加工处理价值
D. 乘客在APP上查看的车辆位置数据是静态的,不会随时间变化
2. 下列关于该系统组成的描述,正确的是( )
A. 激光雷达和摄像头属于系统的输出设备,负责向环境发送信号
B. 车载计算平台是系统的核心,相当于人的“大脑”,负责数据处理与决策
C. 5G通信模块仅用于娱乐上网,与自动驾驶控制功能无关
D. 云端交通大脑不属于该自动驾驶系统的组成部分
3. 下列关于该自动驾驶系统的说法,不正确的是( )
A. 升级激光雷达与摄像头的探测精度和响应速度可提升安全性
B. 利用深度学习识别交通信号灯颜色,体现了人工智能技术的应用
C. 该自动驾驶系统使用了数据驱动的人工智能方法
D. 系统规划路径时不需要考虑交通法规,只需追求速度最快
4. 下列关于该自动驾驶系统的说法,不正确的是( )
A. 乘客通过 APP 查看行程轨迹不属于网络资源共享的应用
B. 服务器的存储容量会影响系统性能
C. 设计系统时需要考虑数字鸿沟问题
D. 系统与云端交通大脑通信必须遵循统一的网络协议
5. 下列关于该系统安全与防护的做法,不合理的是( )
A. 对车载控制系统安装软件防火墙,防止车载系统被黑客攻击影响驾驶安全
B. 为方便数据传输,将车辆位置、速度等敏感数据以明文形式直接上传
C. 定期对自动驾驶算法进行迭代优化,修复潜在的安全漏洞
D. 建立数据备份机制,防止因云端故障导致重要行驶记录丢失
6. 由扫描获得某真彩色(24位)、BMP格式的位图图像,分辨率为1024×768,下列关于该图像的说法不正确的是( )
A. 该图像每个像素需要占用3个字节的存储空间
B. 该图像未经压缩的存储容量约为2.25 MB
C. 若将该图像转换为256色模式,图像的文件大小一定会减小,且画质完全不变
D. 该图像可以转换为JPEG格式以减小文件大小
7. 某算法的流程图如下图所示:
该算法的功能是( )
A. 输出字符串a中最小的字符的索引 B. 输出字符串a中最大的字符的索引
C. 输出字符串a中最长的递增序列长度 D. 输出字符串a中最长的递减序列长度
8. 队列初始为空,字符“甲”“乙”“丙”“丁”依次按以下规则入队:1、若队列为空,字符直接入队;2、若队列不为空,先将队首元素出队并立即重新入队,然后再将新字符入队。当4个字符全部入队后,队首元素是( )
A. 甲 B. 乙 C. 丙 D. 丁
9. 某完全二叉树共有5个节点,其节点字母按层序遍历(从上到下,从左到右)的顺序依次为:A,B,C,D,E。则该二叉树的后序遍历序列为( )
A. D E B C A B. D E B A C C. D B E C A D. E D B A C
10. 有如下Python程序段:
def f(x,n):
if n==0:
return x
return f(x-1,n-1)+x
执行语句r= f(3,6),变量 r 的值是( )
A. -1 B. 0 C. 1 D. 2
11. 有如下Python程序段:
ka = [9,5,2,0,0,0,0]; pa = 2
kb = [4,8,1,6]; pb = 3
s = 0
while pb >= 0:
cur = kb[pb]
pb-= 1
while pa >= 0 and ka[pa] < cur:
pa -= 1
pa += 1
ka[pa] = cur
print (ka)
执行上述程序段后,变量ka[1]的值为( )
A. 4 B. 6 C. 8 D. 9
12. 有如下 Python 程序段:
L = 0
R = len(a) - 1
while L <R:
m = (L + R) // 2
if a[m] > a[m + 1]:
L = m + 1
else:
R=m
print (L)
运行该程序段后,输出结果为2。则列表a不可能是( )
A. [9,5,3,4,6] B. [8,6,2,3,5] C. [7,4,1,2,3] D. [5,3,3,2,4]
二、非选择题(本大题共3小题,第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某智慧物流园区部署了自动导引车(AGV)调度系统。该系统通过部署在园区内的传感器和AGV上的智能终端,实时采集车辆位置、电量及货物信息,并上传至云端服务器进行处理。当检测到路径拥堵或电量不足时,服务器会下发指令调整任务。请回答下列问题。
(1)为了高效准确地识别园区内的货物信息,以下哪种标签更合理____________(单选,填字母)A. RFID电子标签 B. 二维码
(2)研究小组通过浏览器访问 AGV 的实时运行轨迹,处理该浏览器访问请求的设备是__________(单选,填字母)A. 传感器 B. 服务器 C. 智能终端 D. 执行器
(3)智能终端是 AGV 的核心控制部件,下列关于智能终端程序需要实现的功能,说法正确的有__________(多选,填字母)
A. 实时采集激光雷达、编码器等传感器的数据
B. 根据全园区的订单分布情况,计算全局最优路径
C. 接收服务器下发的运动指令,将其转换为电机驱动信号以控制车轮转动
D. 监测电池电量,当电量低于阈值时向服务器发送充电请求
(4)随着园区业务量的激增,在处理海量AGV运行轨迹数据时,服务器响应较慢,在不考虑更换服务器的前提下,可以采取哪些措施来提升服务器的性能:____________________。
(5)智慧物流园区对A、B、C、D四个作业分区的订单处理数据进行了为期一个月的采集,部分数据data.xlsx如图1所示。并统计这四个分区近一个月的平均订单处理量,并绘制垂直柱形图(如图2所示),以直观对比各分区的作业负荷情况。
实现上述功能的Python 程序如下,请将合适的代码填入划线处。
import pandas as pd
import matplotlib. pyplot as plt
df = pd. read_excel ("data. xlsx")
#数据清洗:为了统计正常作业能力,需要先剔除“异常标记”为1的批次数据
df_clean =________________
grouped = df_clean. groupby(["分区"],as_index=False) ["订单量"]. mean()
plt.bar( )
#设置绘图参数,并显示如图b所示的垂直柱形图,代码略
14. 在智慧物流园区中,一台自动导引车需要依次处理N个搬运任务。每个任务有两个属性:①耗时:完成该任务需要的时间;②截止时间:该任务期望完成的时间点。AGV 一次只能执行一个任务,且执行过程中不可中断。若任务实际完成的时间点晚于其截止时间,则产生延迟。为了优化物流调度,调度系统遵循如下规则:优先处理截止时间早的任务,以期最小化所有任务中的最大延迟时间。编写Python程序计算N个任务的最大延迟时间。请回答下列问题:
(1)若某轮的任务用tasks列表存储:tasks = [[3,5],[1,4],[2,8],[4,6]](每一个任务列表[耗时,截止时间]),则该轮任务的最大延迟时间为__________。
(2)实现上述功能的 Python程序如下,请在划线处填写合适代码。
tasks = [[3,5],[1,4],[2,8],[4,6]]
# 按照任务截止时间进行升序排序
n = len (tasks)
for i in range(n-1):
for jin range(n -1-i):
if________________:
tasks[j],tasks[j + 1] = tasks[j + 1],tasks[j]
#模拟调度过程,计算最大延迟时间
current_time = 0
________________
for task in tasks:
duration = task[0] # 任务耗时(索引0)
deadline = task[1] # 任务截止时间(索引 1)
current_time += duration #更新当前时刻(任务完成时刻)
delay =________________ # 计算当前任务的延迟
if delay > max_delay:
max_delay= delay
print("最大延迟时间:",max_delay)
15. 智慧物流园区的自动导引车调度系统。园区内有i条运输线路,每条线路由j台自动引导车调度。新任务到达时,根据优先级插入对应线路的等待队列;每条线路负责的导引车完成当前任务后,从负责线路队列头部取出任务执行。新任务编排进队列规则:若新任务的优先级高(优先级数值越大优先级越高),可插队到优先级低的任务之前;同优先级任务按到达时间先后顺序排列。请回答下列问题。
(1)园区某天的任务数据如下,若i=2,j=1。按照任务编排规则,线路0的任务ID顺序为____________。(填任务ID,任务ID用→连接)
任务ID
线路编号
优先级
到达时间
耗时
截止时间
下一任务索引
1
0
1
1
5
6
/
2
1
2
2
3
5
/
3
0
3
3
1
4
/
4
0
1
4
4
8
/
5
1
3
5
4
9
/
(2)定义如下insert_task (lid,idx)函数,函数功能为:将任务idx插入到线路lid的链表中。
def insert_task(lid,idx):
# 1.空链表情况:直接作为头尾,代码略
#2,插入到头部情况:新任务优先级>头节点优先级
p = heads [lid]
if________________:
tasks [idx] [6] = p
heads[lid] = idx
return
# 3.中间或尾部插入情况
pre =p
curr= tasks [p][6]
while curr != -1:
if tasks[idx][2] > tasks[curr][2]:
________② # 新任务指向当前节点
tasks[pre] [6] = idx # 前驱节点指向新任务
return
pre = curr
curr = tasks [curr] [6]
#4,插入到尾部情况:优先级最低或同优先级时间最后,代码略
①结合函数中的插入到头部情况,请在划线处填写合适的代码。
②请选择合适的语句填入程序中划线处___________(单选,填字母)
A. tasks[idx] [6] = curr B. tasks[idx] [6] = pre
C. tasks[idx] [6] = p D.不需要填写代码
(3)如下程序模拟2条线路的N个任务的入队过程和M次导引车取货出队过程,请在划线处填写合适的代码。
def simulate(tasks,heads,tails,operations):
def insert_task(lid,idx):
#函数功能代码略
for op in operations:
if op[0] =='IN':
idx = op[1]
lid = tasks[idx][1] # 获取任务所属线路
________________ #调用自定义函数
elif op[0] == 'OUT':
lid = op[1]
if heads[lid] !=-1:
head_idx = heads[lid]
completed. append ( )
heads[lid] = tasks[head_idx] [6]
if heads[lid]==-1:
tails[lid] = -1
return completed
"""读取任务tasks列表,每个元素为[任务ID,线路编号,优先级,到达时间,耗时,截止时间,下一任务索引]。代码略。"""
"""读取操作 operations 列表,列表中包含两种元素:['IN',任务索引]表示任务入队,['OUT',线路编号]表示AGV取货。代码略。"""
completed=[] #completed 列表用于存储已完成的任务ID
head,tail=[-1,-1] #heads,tails 分别为2条线路队列的头、尾指针列表
print("已完成的任务:",simulate(tasks,heads,tails,operations))
第1页/共1页
学科网(北京)股份有限公司
$
高二技术学科
技术 试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某科技公司研发了一款L4级城市自动驾驶系统。该系统通过激光雷达、毫米波雷达、高清摄像头等传感器实时采集车辆周围环境数据。采集的数据经车载计算平台进行融合处理,利用深度学习算法构建高精地图并规划行驶路径。系统通过5G-V2X(车联网)技术与云端交通大脑通信,获取超视距的交通路况信息。当遇到复杂路口或系统无法确定的场景时,会请求云端人工接管或切换至安全模式。系统运行过程中产生的海量数据会加密上传至云端数据中心,用于模型迭代优化。
1. 下列关于该自动驾驶系统中数据和信息的描述,正确的是( )
A. 传感器采集的环境数据属于信息,经过处理后的路径规划结果才是数据
B. 系统仅依赖车载传感器数据即可实现所有场景下的完美自动驾驶,无需外部数据
C. 云端利用历史行驶数据训练优化算法模型,体现了数据的加工处理价值
D. 乘客在APP上查看的车辆位置数据是静态的,不会随时间变化
2. 下列关于该系统组成的描述,正确的是( )
A. 激光雷达和摄像头属于系统的输出设备,负责向环境发送信号
B. 车载计算平台是系统的核心,相当于人的“大脑”,负责数据处理与决策
C. 5G通信模块仅用于娱乐上网,与自动驾驶控制功能无关
D. 云端交通大脑不属于该自动驾驶系统的组成部分
3. 下列关于该自动驾驶系统的说法,不正确的是( )
A. 升级激光雷达与摄像头的探测精度和响应速度可提升安全性
B. 利用深度学习识别交通信号灯颜色,体现了人工智能技术的应用
C. 该自动驾驶系统使用了数据驱动的人工智能方法
D. 系统规划路径时不需要考虑交通法规,只需追求速度最快
4. 下列关于该自动驾驶系统的说法,不正确的是( )
A. 乘客通过 APP 查看行程轨迹不属于网络资源共享的应用
B. 服务器的存储容量会影响系统性能
C. 设计系统时需要考虑数字鸿沟问题
D. 系统与云端交通大脑通信必须遵循统一的网络协议
5. 下列关于该系统安全与防护的做法,不合理的是( )
A. 对车载控制系统安装软件防火墙,防止车载系统被黑客攻击影响驾驶安全
B. 为方便数据传输,将车辆位置、速度等敏感数据以明文形式直接上传
C. 定期对自动驾驶算法进行迭代优化,修复潜在的安全漏洞
D. 建立数据备份机制,防止因云端故障导致重要行驶记录丢失
【答案】1. C 2. B 3. D 4. A 5. B
【解析】
【1题详解】
本题考查数据与信息。A选项错误,传感器采集的环境数据属于数据,经过处理后的路径规划结果属于信息。B选项错误,系统需要通过5G-V2X技术获取云端交通大脑的超视距路况信息,并非仅依赖车载传感器即可实现所有场景自动驾驶。C选项正确,云端利用历史行驶数据训练优化算法模型,体现了数据的加工处理价值。D选项错误,车辆位置会随行驶不断变化,乘客在APP上查看的车辆位置数据是动态变化的。因此,本题选择C选项。
【2题详解】
本题考查信息系统组成。A选项错误,激光雷达和摄像头属于系统的输入设备,负责采集环境数据而非向环境发送信号。B选项正确,车载计算平台是系统核心,承担数据处理与决策功能,相当于人的“大脑”。C选项错误,5G通信模块用于系统与云端交通大脑通信获取路况信息,是自动驾驶控制的重要部分,并非仅用于娱乐上网。D选项错误,云端交通大脑是该自动驾驶系统的重要组成部分。因此,本题选择B选项。
【3题详解】
本题考查自动驾驶与人工智能技术应用相关知识。A选项正确,升级传感器探测精度和响应速度能够提升驾驶安全性。B选项正确,利用深度学习识别交通信号灯颜色属于人工智能技术的典型应用。C选项正确,该系统依靠海量数据迭代优化模型,采用了数据驱动的人工智能方法。D选项错误,系统规划路径必须遵守交通法规,不能仅追求行驶速度最快。因此,本题选择D选项。
【4题详解】
本题考查信息系统应用与网络相关知识。A选项错误,乘客通过APP查看行程轨迹属于网络资源共享的应用范畴。B选项正确,服务器存储容量不足会影响数据存储与处理,进而影响系统性能。C选项正确,设计系统时考虑数字鸿沟问题可保障不同人群使用体验。D选项正确,系统与云端通信必须遵循统一网络协议才能正常传输数据。因此,本题选择A选项。
【5题详解】
本题考查信息系统安全与防护相关知识。A选项合理,安装软件防火墙可防止车载系统被黑客攻击保障驾驶安全。B选项不合理,车辆位置、速度等敏感数据以明文形式上传易造成数据泄露,存在极大安全风险。C选项合理,定期迭代优化算法可修复安全漏洞提升系统安全性。D选项合理,建立数据备份机制可避免云端故障导致行驶记录丢失。因此,本题选择B选项。
6. 由扫描获得某真彩色(24位)、BMP格式的位图图像,分辨率为1024×768,下列关于该图像的说法不正确的是( )
A. 该图像每个像素需要占用3个字节的存储空间
B. 该图像未经压缩的存储容量约为2.25 MB
C. 若将该图像转换为256色模式,图像的文件大小一定会减小,且画质完全不变
D. 该图像可以转换为JPEG格式以减小文件大小
【答案】C
【解析】
【详解】本题考查图像存储与格式转换。24位真彩色每个像素占用24位,即3个字节,选项A说法正确;未经压缩的图像存储容量计算公式为“分辨率×位深÷8÷1024÷1024”,代入数据1024×768×24÷8÷1024÷1024=2.25MB,选项B说法正确;将24位真彩色图像转换为256色模式,虽然存储容量会减小,但会丢失部分颜色信息,画质会下降,并非完全不变,选项C说法错误;JPEG是有损压缩格式,可对该图像进行压缩以减小文件大小,选项D说法正确。故答案为:C。
7. 某算法的流程图如下图所示:
该算法的功能是( )
A. 输出字符串a中最小的字符的索引 B. 输出字符串a中最大的字符的索引
C. 输出字符串a中最长的递增序列长度 D. 输出字符串a中最长的递减序列长度
【答案】D
【解析】
【详解】本题考查流程图算法功能分析。算法中cnt统计连续递减序列长度,m记录最长递减序列长度,最终输出m,功能为输出字符串a中最长的递减序列长度。因此,本题选择输出D选项。
8. 队列初始为空,字符“甲”“乙”“丙”“丁”依次按以下规则入队:1、若队列为空,字符直接入队;2、若队列不为空,先将队首元素出队并立即重新入队,然后再将新字符入队。当4个字符全部入队后,队首元素是( )
A. 甲 B. 乙 C. 丙 D. 丁
【答案】A
【解析】
【详解】本题考查队列操作规则模拟。初始队列为空,依次处理“甲”“乙”“丙”“丁”:1.甲入队,队列[甲];2.乙入队前,队首甲出队并重新入队得[甲],再入队乙得[甲,乙];3.丙入队前,队首甲出队并重新入队得[乙,甲],再入队丙得[乙,甲,丙];4.丁入队前,队首乙出队并重新入队得[甲,丙,乙],再入队丁得[甲,丙,乙,丁]。最终队首为甲。因此,本题选择A选项。
9. 某完全二叉树共有5个节点,其节点字母按层序遍历(从上到下,从左到右)的顺序依次为:A,B,C,D,E。则该二叉树的后序遍历序列为( )
A. D E B C A B. D E B A C C. D B E C A D. E D B A C
【答案】A
【解析】
【详解】本题考查完全二叉树层序遍历转后序遍历。完全二叉树有5个节点,层序为A、B、C、D、E,对应结构:根A,左子B,右子C,B的左子D、右子E。后序遍历顺序为左子树(D、E、B)、右子树(C)、根(A),即D、E、B、C、A。因此,本题选择A。
10. 有如下Python程序段:
def f(x,n):
if n==0:
return x
return f(x-1,n-1)+x
执行语句r= f(3,6),变量 r 的值是( )
A. -1 B. 0 C. 1 D. 2
【答案】B
【解析】
【详解】本题考查递归函数的计算过程。函数f(x,n)定义:若n=0返回x;否则返回f(x-1, n-1) + x。执行f(3,6)时,递归深度为6,每次x递减1,最后累加所有x值。具体展开:f(3,6)=f(2,5)+3;f(2,5)=f(1,4)+2;f(1,4)=f(0,3)+1;f(0,3)=f(-1,2)+0;f(-1,2)=f(-2,1)+(-1);f(-2,1)=f(-3,0)+(-2);f(-3,0)=-3。然后回代:f(-2,1)=-3+(-2)=-5;f(-1,2)=-5+(-1)=-6;f(0,3)=-6+0=-6;f(1,4)=-6+1=-5;f(2,5)=-5+2=-3;f(3,6)=-3+3=0。因此r=0,本题选择B。
11. 有如下Python程序段:
ka = [9,5,2,0,0,0,0]; pa = 2
kb = [4,8,1,6]; pb = 3
s = 0
while pb >= 0:
cur = kb[pb]
pb-= 1
while pa >= 0 and ka[pa] < cur:
pa -= 1
pa += 1
ka[pa] = cur
print (ka)
执行上述程序段后,变量ka[1]的值为( )
A. 4 B. 6 C. 8 D. 9
【答案】C
【解析】
【详解】本题考查插入排序。程序核心逻辑是将数组kb中的元素从后往前依次取出,通过双指针pa定位位置并插入数组ka中,同时移动ka中的元素,初始ka=[9,5,2,0,0,0,0],pa指向当前有效末尾。依次处理kb[3]=6,插入后ka变为[9,6,2,...];kb[2]=1,插入得[9,6,1,...];kb[1]=8,插入得[9,8,1,...];kb[0]=4,插入得[9,8,4,0,0,0,0],执行过程中 kb 元素 8 会被插入 ka 数组的 1 号索引位置,其余元素的插入操作不会改变 ka [1] 的值,最终 ka [1] 的值为 8。因此,本题选择C选项。
12. 有如下 Python 程序段:
L = 0
R = len(a) - 1
while L <R:
m = (L + R) // 2
if a[m] > a[m + 1]:
L = m + 1
else:
R=m
print (L)
运行该程序段后,输出结果为2。则列表a不可能是( )
A. [9,5,3,4,6] B. [8,6,2,3,5] C. [7,4,1,2,3] D. [5,3,3,2,4]
【答案】D
【解析】
【详解】本题考查二分查找算法及数组特性分析。程序通过比较相邻元素不断缩小左右边界,最终输出L,实际上是寻找数组中“第一个不满足降序”的位置或类似最小值点。对每个选项模拟执行:前三个选项最终L均为2,而[5,3,3,2,4]模拟得到L=3,因此不可能是输出2的数组。故本题选择D。
二、非选择题(本大题共3小题,第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某智慧物流园区部署了自动导引车(AGV)调度系统。该系统通过部署在园区内的传感器和AGV上的智能终端,实时采集车辆位置、电量及货物信息,并上传至云端服务器进行处理。当检测到路径拥堵或电量不足时,服务器会下发指令调整任务。请回答下列问题。
(1)为了高效准确地识别园区内的货物信息,以下哪种标签更合理____________(单选,填字母)A. RFID电子标签 B. 二维码
(2)研究小组通过浏览器访问 AGV 的实时运行轨迹,处理该浏览器访问请求的设备是__________(单选,填字母)A. 传感器 B. 服务器 C. 智能终端 D. 执行器
(3)智能终端是 AGV 的核心控制部件,下列关于智能终端程序需要实现的功能,说法正确的有__________(多选,填字母)
A. 实时采集激光雷达、编码器等传感器的数据
B. 根据全园区的订单分布情况,计算全局最优路径
C. 接收服务器下发的运动指令,将其转换为电机驱动信号以控制车轮转动
D. 监测电池电量,当电量低于阈值时向服务器发送充电请求
(4)随着园区业务量的激增,在处理海量AGV运行轨迹数据时,服务器响应较慢,在不考虑更换服务器的前提下,可以采取哪些措施来提升服务器的性能:____________________。
(5)智慧物流园区对A、B、C、D四个作业分区的订单处理数据进行了为期一个月的采集,部分数据data.xlsx如图1所示。并统计这四个分区近一个月的平均订单处理量,并绘制垂直柱形图(如图2所示),以直观对比各分区的作业负荷情况。
实现上述功能的Python 程序如下,请将合适的代码填入划线处。
import pandas as pd
import matplotlib. pyplot as plt
df = pd. read_excel ("data. xlsx")
#数据清洗:为了统计正常作业能力,需要先剔除“异常标记”为1的批次数据
df_clean =________________
grouped = df_clean. groupby(["分区"],as_index=False) ["订单量"]. mean()
plt.bar( )
#设置绘图参数,并显示如图b所示的垂直柱形图,代码略
【答案】(1)A (2)B (3)ACD
(4)更换性能更强的CPU;增大服务器内存;定期清理系统日志释放磁盘空间或其他合理措施
(5) ①. df[df["异常标记"] == 0] 或 df[df.异常标记== 0] ②. grouped["分区"],grouped["订单量"]或grouped.分区,grouped.订单量
【解析】
【详解】本题考查RFID技术、智能终端、Python。
(1)智慧物流园区需要高效、批量、非接触、远距离识别货物信息。RFID 电子标签支持批量读取、穿透识别、抗污损,适合物流场景快速批量识别货物;二维码需要近距离逐一对准扫描,效率低,无法满足物流园区高效识别的需求,因此选择 RFID 电子标签。故答案为:A。
(2)传感器负责采集数据,智能终端是 AGV 自带的控制部件,执行器负责执行动作;浏览器访问 AGV 实时运行轨迹,需要云端设备接收请求、查询数据并返回结果,服务器是专门处理网络请求、存储和分发数据的核心设备,因此选择服务器。故答案为:B。
(3)A:智能终端直接连接 AGV 的传感器,实时采集激光雷达、编码器数据是核心功能,正确;B:全局最优路径计算是云端服务器的功能(服务器掌握全园区所有 AGV 和订单数据),智能终端仅处理自身局部控制,错误;C:智能终端接收服务器指令,转换为电机信号控制车轮,是执行控制的核心功能,正确;D:智能终端监测 AGV 自身电量,低电量时主动向服务器发送请求,正确。故答案为:ACD。
(4)在不更换服务器硬件的前提下,通过软件 / 算法优化提升性能:缓存高频访问的轨迹数据减少重复计算、优化数据库查询速度、压缩海量数据降低存储和读取压力、分布式分流处理数据,都能有效提升服务器响应速度。
(5)df["异常标记"] == 0 会生成布尔序列,筛选出所有满足条件的行,最终得到清洗后的数据集df_clean。故答案为:df[df["异常标记"] == 0] 或 df[df.异常标记== 0]。plt.bar() 是 matplotlib 绘制柱形图的函数,第一个参数为 x 轴数据(分区名称),第二个参数为 y 轴数据(平均订单量);分组后grouped包含分区和订单量两列,直接传入这两列数据即可生成对应柱形图。故答案为:故答案为:grouped["分区"],grouped["订单量"]或grouped.分区,grouped.订单量。
14. 在智慧物流园区中,一台自动导引车需要依次处理N个搬运任务。每个任务有两个属性:①耗时:完成该任务需要的时间;②截止时间:该任务期望完成的时间点。AGV 一次只能执行一个任务,且执行过程中不可中断。若任务实际完成的时间点晚于其截止时间,则产生延迟。为了优化物流调度,调度系统遵循如下规则:优先处理截止时间早的任务,以期最小化所有任务中的最大延迟时间。编写Python程序计算N个任务的最大延迟时间。请回答下列问题:
(1)若某轮的任务用tasks列表存储:tasks = [[3,5],[1,4],[2,8],[4,6]](每一个任务列表[耗时,截止时间]),则该轮任务的最大延迟时间为__________。
(2)实现上述功能的 Python程序如下,请在划线处填写合适代码。
tasks = [[3,5],[1,4],[2,8],[4,6]]
# 按照任务截止时间进行升序排序
n = len (tasks)
for i in range(n-1):
for jin range(n -1-i):
if________________:
tasks[j],tasks[j + 1] = tasks[j + 1],tasks[j]
#模拟调度过程,计算最大延迟时间
current_time = 0
________________
for task in tasks:
duration = task[0] # 任务耗时(索引0)
deadline = task[1] # 任务截止时间(索引 1)
current_time += duration #更新当前时刻(任务完成时刻)
delay =________________ # 计算当前任务的延迟
if delay > max_delay:
max_delay= delay
print("最大延迟时间:",max_delay)
【答案】(1)2 (2) ①. tasks[j][1] > tasks[j+1][1] ②. max_delay = 0 ③. current_time - deadline
【解析】
【详解】本题考查贪心算法调度应用。
(1)计算最大延迟时间,该处先按截止时间升序对任务排序,得到顺序为[1,4]、[3,5]、[4,6]、[2,8],依次执行任务,当前时间依次更新为1、4、8、10,分别计算延迟为0、0、2、2,最大延迟时间为2,因此该空答案为2。
(2)第一空代码,该处是冒泡排序的判断条件,需要按照任务的截止时间升序排列,比较相邻两个任务的截止时间,因此该空答案为tasks[j][1]>tasks[j+1][1]。第二空代码,该处需要初始化存储最大延迟时间的变量,初始值设为0,因此该空答案为max_delay=0。第三空代码,该处计算任务延迟,延迟为完成时间减截止时间,因此该空答案为current_time - deadline。
15. 智慧物流园区的自动导引车调度系统。园区内有i条运输线路,每条线路由j台自动引导车调度。新任务到达时,根据优先级插入对应线路的等待队列;每条线路负责的导引车完成当前任务后,从负责线路队列头部取出任务执行。新任务编排进队列规则:若新任务的优先级高(优先级数值越大优先级越高),可插队到优先级低的任务之前;同优先级任务按到达时间先后顺序排列。请回答下列问题。
(1)园区某天的任务数据如下,若i=2,j=1。按照任务编排规则,线路0的任务ID顺序为____________。(填任务ID,任务ID用→连接)
任务ID
线路编号
优先级
到达时间
耗时
截止时间
下一任务索引
1
0
1
1
5
6
/
2
1
2
2
3
5
/
3
0
3
3
1
4
/
4
0
1
4
4
8
/
5
1
3
5
4
9
/
(2)定义如下insert_task (lid,idx)函数,函数功能为:将任务idx插入到线路lid的链表中。
def insert_task(lid,idx):
# 1.空链表情况:直接作为头尾,代码略
#2,插入到头部情况:新任务优先级>头节点优先级
p = heads [lid]
if________________:
tasks [idx] [6] = p
heads[lid] = idx
return
# 3.中间或尾部插入情况
pre =p
curr= tasks [p][6]
while curr != -1:
if tasks[idx][2] > tasks[curr][2]:
________② # 新任务指向当前节点
tasks[pre] [6] = idx # 前驱节点指向新任务
return
pre = curr
curr = tasks [curr] [6]
#4,插入到尾部情况:优先级最低或同优先级时间最后,代码略
①结合函数中的插入到头部情况,请在划线处填写合适的代码。
②请选择合适的语句填入程序中划线处___________(单选,填字母)
A. tasks[idx] [6] = curr B. tasks[idx] [6] = pre
C. tasks[idx] [6] = p D.不需要填写代码
(3)如下程序模拟2条线路的N个任务的入队过程和M次导引车取货出队过程,请在划线处填写合适的代码。
def simulate(tasks,heads,tails,operations):
def insert_task(lid,idx):
#函数功能代码略
for op in operations:
if op[0] =='IN':
idx = op[1]
lid = tasks[idx][1] # 获取任务所属线路
________________ #调用自定义函数
elif op[0] == 'OUT':
lid = op[1]
if heads[lid] !=-1:
head_idx = heads[lid]
completed. append ( )
heads[lid] = tasks[head_idx] [6]
if heads[lid]==-1:
tails[lid] = -1
return completed
"""读取任务tasks列表,每个元素为[任务ID,线路编号,优先级,到达时间,耗时,截止时间,下一任务索引]。代码略。"""
"""读取操作 operations 列表,列表中包含两种元素:['IN',任务索引]表示任务入队,['OUT',线路编号]表示AGV取货。代码略。"""
completed=[] #completed 列表用于存储已完成的任务ID
head,tail=[-1,-1] #heads,tails 分别为2条线路队列的头、尾指针列表
print("已完成的任务:",simulate(tasks,heads,tails,operations))
【答案】(1)3→1→4
(2) ①. tasks[idx][2] > tasks[p][2] ②. A
(3) ①. insert_task(lid, idx) ②. tasks[head_idx][0]
【解析】
【详解】本题考查基于优先级的链表队列插入与调度算法。
(1)线路0的任务ID顺序,该处线路0的任务为ID1、3、4,根据优先级数值越大优先级越高,同优先级按到达时间先后排序:任务3优先级3最高,任务1和4优先级1,按到达时间1早于4,因此顺序为3→1→4,该空答案为3→1→4。
(2)①处插入头部的判断条件,该处需要判断新任务优先级大于头节点优先级,头节点指针为 p,该空答案为tasks[idx][2] > tasks[p][2]。 ②处中间插入的代码,该处新任务要插入到curr之前,因此新任务的下一节点应指向curr,即tasks[idx][6] = curr,对应选项A,该空答案为A。
(3)simulate函数中IN操作的调用,该处需要调用insert_task函数将任务加入对应线路队列,因此为insert_task(lid, idx),该空答案为insert_task(lid, idx)。 OUT操作中存储已完成任务ID,该处取出队头任务,需将其ID加入completed列表,即tasks[head_idx][0],该空答案为tasks[head_idx][0]。
第1页/共1页
学科网(北京)股份有限公司
$