内容正文:
浙江强基联盟2026年3月高三联考
技术试题
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。)
1. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。下列关于数据的说法正确的是( )
A. 收银员使用扫码枪记录销售数据属于人工录入数据方式
B. 系统使用的天气数据属于静态数据,无需实时更新
C. 系统通过大数据分析优化商品摆放位置,体现了数据的价值
D. 不同格式的数据必须存储在不同的存储设备中
【答案】C
【解析】
【详解】本题考查数据的基本概念与数据的应用价值。扫码枪记录销售数据属于自动化设备采集数据,不属于人工录入方式,第一个选项说法错误;天气是动态变化的,天气数据属于动态数据,需要实时更新,第二个选项说法错误;系统通过大数据分析得到商品关联销售规律,以此优化商品摆放位置,发挥了数据的作用,体现了数据的价值,第三个选项说法正确;不同格式的数据可以存储在同一存储设备中,并非必须存储在不同存储设备,第四个选项说法错误。故答案为:C。
2. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。下列关于数据编码与存储的说法,不正确的是( )
A. 顾客行为数据在计算机内部以二进制形式存储
B. 商品销售数量用ASCII码编码更利于算术计算
C. 数据上传至云端前通常需进行压缩处理
D. 系统中所有采集的数据需转换为数字信号才能计算
【答案】B
【解析】
【详解】本题考查数据编码与存储的基础知识。计算机内部所有数据都以二进制形式存储,因此顾客行为数据同样以二进制存储,第一个选项说法正确;ASCII码属于字符编码,用于对字符进行编码,若将商品销售数量用ASCII码编码,进行算术计算时需要额外转换处理,直接使用二进制数值编码更利于算术计算,因此第二个选项说法错误;为了减少数据体积,节省传输带宽与云端存储空间,数据上传云端前通常需要进行压缩处理,第三个选项说法正确;计算机只能识别处理数字信号,因此所有采集的数据都需要转换为数字信号才能进行计算处理,第四个选项说法正确。故答案为:B。
3. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。为保障顾客隐私安全,超市应采取的措施中最合理的是( )
A. 保存所有顾客的完整购物记录,用于个性化精准营销
B. 收集顾客完整生物识别信息,用于身份验证
C. 在店内明显位置,直播顾客的购物行为
D. 对顾客身份信息进行加密存储,并严格控制访问权限
【答案】D
【解析】
【详解】本题考查信息安全相关知识。对于信息安全而言,敏感数据的加密存储和传输是基本要求,以防止数据泄露和未经授权的访问。因题目中要求选择最合理的选项,而ABC三个选项均有顾客的个人隐私等敏感数据,故不合理,D选项对顾客身份信息进行加密存储,并严格控制访问权限,有助于保护顾客隐私。故本题答案为D。
4. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。以下关于大数据和人工智能技术应用的说法正确的是( )
A. 大数据技术只用于数据采集,不参与后续的数据分析
B. 大数据技术关注天气与商品销售间的因果关系
C. 机器学习算法训练完成后就不再需要新的数据进行优化
D. 基于机器学习的算法更能从数据中自适应地发现潜在规律
【答案】D
【解析】
【详解】本题考查大数据与人工智能技术的基本概念与应用。选项A:大数据技术贯穿数据采集、存储、分析、应用的全流程,题干中明确提到大数据用于分析发现商品间的关联规律,并非只参与采集不参与分析,该说法错误;选项B:大数据分析更关注数据间的关联关系,而非因果关系,该说法错误;选项C:机器学习算法训练完成后,仍可通过新增的实际数据迭代优化模型、提升预测准确性,该说法错误;选项D:机器学习算法具备自主学习的特点,能够从海量数据中自适应地发现潜在规律,该说法正确。故答案为:D。
5. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。从用户使用手机APP扫描二维码,通过进行身份验证,到成功解锁的过程中,下列哪个设备不直接参与核心数据或指令传递的是( )
A. 车载通信模块 B. 车载运动传感器
C. 智能停车桩控制模块 D. 管理中心服务器
【答案】B
【解析】
【详解】本题考查物联网系统的工作流程与信息传递分析。从用户扫码验证到成功解锁的核心流程为:手机APP扫码后将用户身份信息上传至管理中心服务器完成验证,验证通过后服务器向智能停车桩发送解锁指令,智能停车桩控制模块接收指令后,通过物联网与车辆的车载通信模块交互,最终完成车锁解锁。车载运动传感器的功能是采集骑行过程中的运动相关数据,在解锁成功、开始骑行后才会投入使用,不参与扫码到解锁过程的核心数据或指令传递。故答案为:B。
6. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。假设系统从用户开锁成功后,每30秒记录一次车辆的状态和位置数据,单次记录数据固定用16字节存储。一辆车在连续骑行2小时过程中,系统记录的位置数据总量约为(单位:KB)( )
A. (16×2×60×2)/1024 B. (16×2×60)/(30×1024)
C. (16×2×60)/1024 D. (16×120×120)/1024
【答案】A
【解析】
【详解】本题考查数据存储容量的计算。计算步骤如下:统一时间单位,算总记录次数: 总骑行时间为2小时,转换为秒是 2 × 60 × 60 秒;每30秒记录1次,因此总记录次数为: (2 × 60 × 60) ÷ 30 = 2 × 60 × 2 次;算总数据量(字节): 单次记录占16字节,总字节数为 16 × 总次数 = 16 × 2 × 60 × 2 字节 转换单位为KB: 存储单位换算 1KB = 1024字节,因此最终总数据量为 (16×2×60×2)/1024 KB,对应选项A。
7. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。下列关于该系统网络与通信技术的说法,合理的是( )
A. 网络协议使得不同终端、不同网络之间顺利识别与通信
B. 该系统的所有设备都处于同一个局域网内才能通信
C. 手机APP直接通过蓝牙连接车辆,实现车辆开锁
D. 智能停车桩与智能车锁须使用相同的IP地址才能通信
【答案】A
【解析】
【详解】本题考查网络与通信技术基础知识。网络协议是不同网络设备间进行数据通信约定的统一规则标准,能够保障不同终端、不同网络之间顺利识别与通信,该说法正确;该系统设备遍布城市各处,依托广域的物联网专用网络、5G网络通信,无需所有设备都处于同一个局域网内即可完成通信,该说法错误;根据题干描述,解锁流程是手机APP扫码验证后,由系统服务器向智能停车桩发送解锁指令,并非手机APP直接通过蓝牙连接车辆实现开锁,该说法错误;IP地址是网络中设备的唯一通信标识,同一网络内不同设备需要使用不同IP地址才能正常通信,相同IP地址会发生地址冲突,无法正常通信,该说法错误。故答案为:A。
8. 已知二叉树T1的根节点为A,其中序遍历序列为DBEFAGC,现删去一个叶子节点后得到一棵完全二叉树T2,则树T2的前序遍历序列不可能是( )
A. ABDECG B. ABDFCG C. AEBFCG D. AEFDCG
【答案】D
【解析】
【详解】本题考查二叉树遍历规则与完全二叉树的结构性质。已知T1根节点为A,中序遍历序列为DBEFAGC,因此A的左子树包含节点DBEF,右子树包含节点GC;T2是删去1个叶子节点得到的完全二叉树。根据四个选项可以构建二叉树T2可能是:
ABDECG、ABDFCG、AEBFCG 均满足中序 DBEFAGC 且为合法完全二叉树,AEFDCG 中序与题目矛盾,结构不合法。故本题应选D。
9. 已知栈s初始为空,队列q初始元素从队首到队尾依次为5,1,3,4,2。依次执行以下操作,直到队列q为空:①将队列q队首元素出队,记为x;②若栈s非空且栈顶元素大于x,则将栈顶元素弹出并重新入队q;③重复步骤②直到栈s为空或栈顶元素不大于x;④将x压入栈s。重复步骤①②③④直到队列q为空。当所有操作完成后,栈s从栈底到栈顶的元素依次为( )
A. 1, 2, 3, 4, 5 B. 5, 4, 3, 2, 1 C. 1, 3, 5, 4, 2 D. 2, 4, 3, 1, 5
【答案】A
【解析】
【详解】本题考查栈和队列的基本操作。初始状态:栈s初始为空,队列q从队首到队尾依次为[5, 1, 3, 4, 2]。
出队x=5:栈为空,直接压栈,此时s(栈底到栈顶)为[5],q剩余[1, 3, 4, 2]。
出队x=1:栈顶5>1,弹出5重新入队q,栈空后压入1,此时s为[1],q剩余[3, 4, 2, 5]。
出队x=3:栈顶1≤3,直接压栈,此时s为[1, 3],q剩余[4, 2, 5]。
出队x=4:栈顶3≤4,直接压栈,此时s为[1, 3, 4],q剩余[2, 5]。
出队x=2:栈顶4>2弹出入队,栈顶3>2弹出入队,此时栈顶1≤2,压入2,此时s为[1, 2],q剩余[4, 3, 5]。
出队x=4:栈顶2≤4,直接压栈,此时s为[1, 2, 4],q剩余[3, 5]。
出队x=3:栈顶4>3弹出入队,此时栈顶2≤3,压入3,此时s为[1, 2, 3],q剩余[4, 5]。
出队x=4:栈顶3≤4,直接压栈,此时s为[1, 2, 3, 4],q剩余[5]。
出队x=5:栈顶4≤5,直接压栈,此时q空,操作结束。
最终栈s从栈底到栈顶为1, 2, 3, 4, 5,对应第一个选项。故答案为:A。
10. 若字符串t是由s中的每个字符替换为一个或多个原相同字符,按原序连续重复“拉伸”而成,则称t为s的拉伸版。例如s="ab",t="aabbbb"是拉伸版,而s="aba",t="aa"则不是。判断t是否为s拉伸版的Python程序段如下:
def is_stretched(s,t):
i, j = 0, 0
while j < len(t):
if i < len(s) and s[i] == t[j]:
i += 1
j += 1
elif j > 0 and ① :
j += 1
else:
return False
return ②
则①②处应填入的正确代码依次为( )
A. ①s[i] == t[j] ②True B. ①t[j] == t[j-1] ②j == len(t)
C. ①t[j] == t[j-1] ②i == len(s) D. ①t[j] == s[i-1] ②True
【答案】C
【解析】
【详解】本题考查Python双指针逻辑与字符串匹配的算法理解。双指针i指向待匹配的s字符,j指向当前遍历的t字符:若当前s[i]与t[j]相等,说明匹配到s的新字符,i、j各后移一位;若不匹配,则当前t[j]应为上一个匹配到的s字符的重复,需要满足当前t[j]和已匹配的前一个t字符相同,因此①处满足t[j] == t[j-1]。循环结束(j遍历完t)后,需要判断s的所有字符是否都完成匹配(拉伸要求s每个字符都至少出现一次),只有当i遍历完整个s,才符合要求,因此②处为i == len(s)。其他选项错误:若②直接返回True或只判断j是否走完t,会出现s未匹配完也返回正确结果的错误,比如s="aba",t="aa"的错误场景。故答案为:C。
11. 有如下Python程序段:
def fun(k):
if k == 0:
return [1]
prev = [1, 1]
for i in range(2, k + 1):
curr = [1]
left, right = 0, 1
while right < len(prev):
curr.append(prev[left] + prev[right])
left += 1
right += 1
curr.append(1)
prev = curr
return prev
print(fun(4))
运行程序,输出结果为( )
A. [1, 3, 3, 1] B. [1, 4, 6, 4, 1]
C. [1, 5, 10, 10, 5, 1] D. [1, 6, 15, 20, 15, 6, 1]
【答案】B
【解析】
【详解】本题考查Python程序执行流程的分析能力,该程序的功能是生成杨辉三角第k行序列。逐步推导程序运行过程:调用fun(4),k=4≠0,初始化prev = [1, 1],for循环将依次遍历i=2、i=3、i=4:1. i=2:计算前一行相邻元素和,最终得到curr = [1, 2, 1],更新prev为该值;2. i=3:同理计算得到curr = [1, 3, 3, 1],更新prev为该值;3. i=4:对prev的相邻元素求和,得到[1, 1+3, 3+3, 3+1] = [1,4,6,4],末尾补1得到curr = [1, 4, 6, 4, 1],更新prev为该值。循环结束返回prev,输出结果对应第二个选项。故答案为:B。
12. 有如下 Python 程序段:
import random
a = [15, 23, 23, 30, 10, 25, 35, 12, 18, 22]
g = [0, 4, 7, 10]
x = random.randint(22, 24)
count = 0
for i in range(len(g) - 1):
L, R = g[i], g[i+1] - 1
ans = g[i] - 1
while L <= R:
m = (L + R) // 2
if a[m] < x:
ans = m
L = m + 1
else:
R = m - 1
count += (ans - g[i] + 1)
print(count)
执行该程序后,输出count的值不可能是( )
A. 4 B. 5 C. 6 D. 7
【答案】C
【解析】
【详解】本题考查Python程序逻辑理解与二分查找算法的应用。random.randint(22, 24)生成的x的可能取值为22、23、24三种;g数组将数组a分为三个区间[0,3]、[4,6]、[7,9],该程序的功能是统计数组a中所有小于x的元素总个数。分情况计算可得:当x=22时,小于22的元素共4个,count=4;当x=23时,小于23的元素共5个,count=5;当x=24时,小于24的元素共7个,count=7。因此count的可能取值为4、5、7,不可能是6。故答案为:C。
二、综合题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分。)
13. 某超市搭建了智慧管理系统,该系统利用RFID实时监测库存信息;通过温湿度传感器采集冷链食品区的数据;借助wifi网络将采集的数据传输至服务器;系统根据实时数据自动更新货架上的智能电子价签、并自动调节冷柜温度;库存不足时向供货商发送补货指令。请回答下列问题:
(1)该系统工作时,下列关于数据流向的描述正确的是______。
A.补货指令由供货商发起,流向超市服务器
B.库存数据由RFID采集,经读写器上传至服务器
C.该系统只有数据采集,没有数据输出功能
(2)下列关于该系统的组成及功能的说法正确的是______。
A.智能电子价签和冷柜压缩机属于该系统的执行器
B.智能终端必须通过有线网络连接服务器才能保证数据稳定传输
C.为提高安全性,智能终端连接wifi时不应设置任何验证机制
D.RFID读写器是发送端,其主要功能是向智能价签发送最新的价格指令
(3)在系统开发的前期准备过程中,下列说法正确的有______
A.需求分析阶段应明确系统是否需要实现“自动补货预警”功能
B.概要设计阶段通常需要绘制系统功能模块图,确定系统硬件配置
C.服务器端程序应包含数据库查询逻辑,以实现历史库存走势分析
D.只要服务器性能足够高,系统搭建前就不需要进行可行性分析
(4)系统拟实现“分级预警”功能,stock用于存储当前库存,limit用于存储预警阈值。若库存量低于阈值的20%显示“紧急补货”,若库存量低于阈值但在20%及以上显示“建议补货”,否则显示“库存正常”。下列代码段中能正确实现该功能的有______。
A.
B.
C.
D.
if stock < limit * 0.2:
ans = "紧急补货"
if stock < limit:
ans = "建议补货"
else:
ans = "库存正常"
ans = "紧急补货"
if stock >= limit:
ans = "库存正常"
elif stock >= limit * 0.2:
ans = "建议补货"
if stock < limit:
ans = "建议补货"
elif stock < limit * 0.2:
ans = "紧急补货"
else:
ans = "库存正常"
ans = "紧急补货"
if stock >= limit * 0.2:
ans = "建议补货"
if stock >= limit:
ans = "库存正常"
(5)当冷链区的某批次生鲜食品临近保质期时,系统会自动调低该商品在智能价签上的显示价格。管理员发现某商品已临近保质期,智能价签仍显示原价,经检测智能价签本身无故障,请简要说明系统中可能造成上述问题的原因。______
【答案】 ①. B ②. A ③. ABC ④. BD ⑤. ①RFID读写器未能正确读取该批次商品的保质期信息;②智能价签与服务器间的通信中断,导致调价指令未送达。
【解析】
【详解】本题考查物联网系统应用、信息系统开发流程与分支程序逻辑的综合应用能力。
(1)A选项补货指令由超市服务器发起,流向供货商,A错误;B选项库存数据由RFID采集,经读写器上传至服务器,描述正确;C选项系统存在更新价签、发送补货指令等数据输出,C错误。
(2)A选项智能电子价签执行更新价格、冷柜压缩机执行调节温度,都属于系统的执行器,描述正确;B选项智能终端可通过wifi稳定传输数据,并非必须有线,B错误;C选项wifi不设置验证会大幅降低安全性,C错误;D选项RFID读写器功能是采集库存信息,不是向智能价签发送价格指令,D错误。
(3)A选项需求分析需要明确系统所有待实现功能,包括自动补货预警,A正确;B选项概要设计需要划分功能模块、确定硬件配置,绘制系统功能模块图,B正确;C选项实现历史库存走势分析需要查询历史数据,服务器端程序需要包含数据库查询逻辑,C正确;D选项可行性分析涵盖技术、经济、运营等多维度,即使服务器性能足够也需要开展可行性分析,D错误。
(4)题目规则为:stock < limit*0.2输出紧急补货,limit*0.2 ≤ stock < limit输出建议补货,stock ≥ limit输出库存正常:A选项:若stock < limit*0.2,赋值紧急补货后会触发第二个if stock < limit,将结果错误修改为建议补货,逻辑错误。B选项:初始赋值紧急补货,依次判断stock ≥ limit→库存正常,stock ≥ 0.2*limit→建议补货,符合规则,逻辑正确。C选项:先判断stock < limit,满足就直接赋值建议补货,低于20%阈值的情况永远无法触发,逻辑错误。D选项:初始赋值紧急补货,先将不低于20%阈值的情况改为建议补货,再将不低于阈值的情况改为库存正常,符合规则,逻辑正确。
(5)智能价签本身无故障,故障出现在信息采集、传输或服务端处理环节,常见原因包括采集环节未正确获取保质期信息,或通信环节指令未送达。
14. 某超市通过服务器实时记录商品销售明细数据。该超市一年的销售数据按订单号升序导出存于“销售清单数据.xlsx”文件中,如图a所示,现要对这些数据进行分析,请回答下列问题:
图a 图b
(1)现要分析“生鲜”类商品在不同时段的订单数量降序分布情况,并绘制如图c所示的柱形图。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("销售清单数据.xlsx")
df1 = df[df['商品类别'] == '生鲜']
# 同一订单保留一条,提取购买时间中的“小时”数据,另存为df2,结果如图b所示,代码略
①________
②________
③________
图c
程序中划线①②③处可选的代码有:
A. df2 = df2.sort_values('订单号', ascending=False)
B. plt.bar(df2.index, df2['订单号'])
C. df2 = df2.groupby('小时').sum()
D. df2 = df2.groupby('小时', as_index=False).count()
E. plt.bar(df2['小时'], df2['订单号'])
F. df2 = df2.sort_values('小时', ascending=True)
(2)为了挖掘商品间的关联性,现编写程序统计与“生鲜”关联最紧密的商品类别,若存在多个,则选择最早出现的类别。实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
# 读入数据并提取关联类别存入列表t,并对t进行升序排序,代码略
# 例如:t = ['烘焙', '烘焙', '日用品', '调味', '调味', '调味', ...]
res = "" # 存储出现频次最高的类别
max_c = 0 # 存储最高频次
i = 0
while i < len(t):
count = 1
j = i + 1
while j < len(t) and ①______ :
count += 1
j += 1
if count > max_c:
②____
max_c = count
③____
print("与生鲜关联最紧密的类别是:", res)
【答案】 ①. D ②. A ③. E ④. t[i]==t[j] ⑤. res=t[i] ⑥. i=j 或 i+=1
【解析】
【详解】本题考查Python数据分析的pandas数据处理、数据可视化,以及遍历统计的程序逻辑设计。
(1)需求为统计生鲜类商品不同时段的订单数量,再按订单数量降序排列绘制柱形图:① 处理得到每个订单一行、包含小时字段的df2后,下一步需要按小时分组统计每个时段的订单数量。df2.groupby('小时', as_index=False).count()会保留小时列为普通列,统计得到每个小时的订单数,符合要求,此处选D。② 题目要求订单数量降序分布,需要按订单数降序排序,统计后订单数存于订单号列,df2.sort_values('订单号', ascending=False)符合要求,此处选A。③ 绘制柱形图,x轴是小时、y轴是订单数量,plt.bar(df2['小时'], df2['订单号'])符合参数要求,此处选E。
(3)列表t已经升序排序,相同类别连续排列,需要统计频次最高的类别:① 内层循环用于统计当前类别t[i]的连续出现次数,循环继续的条件是j未越界,且当前位置元素和t[i]相同,因此此处填t[i] == t[j]。② 当当前类别频次大于记录的最高频次时,需要更新结果为当前类别,因此此处填res = t[i]。③ 当前类别统计完成后,需要将i跳转到下一个不同类别的起始位置,也可逐步遍历,因此填i = j(或i += 1)。
15. 某餐厅有n名厨师(编号为0到n-1),餐厅根据顾客提交的订单安排厨师,每一条订单包含订单编号(按照提交顺序从1开始依次编号)、到达时间、所需时间、菜品类型4个数据项,每位厨师有擅长的菜品类型,只能烹制擅长类型的菜品。餐厅按以下规则安排厨师:
·每个订单都会分配给空闲且擅长该菜品类型的最小编号厨师;
·如果没有符合条件的空闲厨师,订单将进入等待队列;
·当有厨师空闲时,优先处理等待队列中等待时间最长的订单。
例如:假设n=3,厨师0和厨师1均擅长川菜,厨师2擅长粤菜,初始时3位厨师均为空闲状态,有6条订单数据如下表所示:
订单编号
到达时间
所需时间(分钟)
菜品类型
1
18:00
25
川菜
2
18:20
40
粤菜
3
18:30
30
川菜
4
18:35
25
川菜
5
18:40
20
川菜
6
18:40
40
粤菜
则安排结果如下:
·厨师0:订单1(18:00–18:25),订单3(18:30–19:00),订单5(19:00–19:20)
·厨师1:订单4(18:35–19:00)
·厨师2:订单2(18:20–19:00),订单6(19:00–19:40)
请回答以下问题:
(1)订单数据如题所述,现增加一条订单[7, "18:30", 40, "川菜"],该订单会被分配给______(选填:厨师0/厨师1/厨师2),实际开始时间是________________。
(2)定义insert_work()函数,work列表中每个元素的数据项依次为结束时间、厨师编号,函数功能为将[end_time, chef]插入work列表,并保持按结束时间升序,程序中加框处代码有错,请改正:______
def insert_work(end_time, chef):
work.append([end_time, chef])
i = len(work) - 1
while
work[i], work[i-1] = work[i-1], work[i]
i -= 1
(3)实现餐厅厨师分配调度的Python程序如下,请在划线处填写合适的代码。
def con1(s):
# 将"时:分"格式的时间字符串转换成以"分钟"为单位的整数,代码略
def con2(t):
# 将以分钟为单位的整数转换成"时:分"格式的时间字符串,代码略
def find_chef(tp):
# 寻找空闲且擅长指定菜品的厨师,返回厨师ID,找不到返回-1,代码略
def assign(chef, oid, st): # 将订单分配给厨师
dur = orders[oid][2]
et = st + dur
orders[oid][1] = con2(st)
orders[oid].append(con2(et)) # append:在列表末尾添加元素
orders[oid]append(-1)
idle[chef] = False
insert_work(et, chef)
if head[chef] == -1:
head[chef] = oid
else:
①_______
tail[chef] = oid
def arrange(orders, n, skills): # 主调度函数
global idle, work, wait, head, tail # global:声明全局变量
idle = [True] * n
work = [] # 工作队列
wait = [] # 等待队列
head = [-1] * n
tail = [-1] * n
i = 0
now = 0
while i < len(orders) or wait or work:
while i < len(orders) and con1(orders[i][1]) <= now:
tp = orders[i][3]
dur = orders[i][2]
②________
if chef != -1:
assign(chef, i, now)
else:
wait.append([i, tp, dur])
i += 1
new_work = []
for et, cid in work:
if et <= now:
idle[cid] = True
if wait:
for k in range(len(wait)):
woid, wtp, wdur = wait[k]
chef = find_chef(wtp)
if chef != -1:
assign(chef, woid, now)
wait.pop(k) # pop:弹出索引 k 处的元素
break
else:
new_work.append([et cid])
work = new_work
③______
if i < len(orders):
now = min(now, con1(orders[i][1]))
if work:
now = min(now, work[0][0])
return head
"""
读取 orders 数据,orders 每个元素包含 4 个数据项,依次订单编号、到达时间、所需时间、菜品类型,代码略。
"""
n = 3 # 预设厨师数量
skills = ["川菜", "川菜", "粤菜"]
heads = arrange(orders, n, skills)
# 输出厨师安排结果,代码略
【答案】 ①. 厨师1 ②. 18:30 ③. i > 0 and work[i][0] < work[i-1][0] ④. orders[tail[chef]][5] = oid ⑤. chef = find_chef(tp) ⑥. now += 1
【解析】
【详解】本题考查链表的应用。
(1)新增订单7在18:30到达,菜品为川菜。18:30时厨师0已开始处理订单3,处于忙碌状态;厨师1空闲且擅长川菜,是符合条件最小编号厨师,订单符合直接分配条件,实际开始时间为到达时间18:30。
(2)insert_work需要保持work按结束时间升序,新元素追加到末尾后,从后往前做插入排序:需要保证下标i>0避免越界,且只有当当前元素结束时间小于前一个元素结束时间时,才需要交换位置,故应改为:i > 0 and work[i][0] < work[i-1][0]。
(3) ①处:厨师的订单采用链表存储,tail[chef]是当前链表的尾订单,新增订单需要接在原尾订单之后,orders每个订单的索引5存储后继订单编号,因此给原尾订单的后继赋值为新订单编号,故此处应为:orders[tail[chef]][5] = oid。②处:当前订单到达后,需要调用find_chef函数寻找符合条件的厨师,结果存入chef变量用于后续判断,故此处应为:chef = find_chef(tp)。③处:处理完当前时间点的所有任务后,需要先推进当前时间now,再结合后续订单到达时间和厨师结束时间,更新到下一个最早事件时间,因此此处先将now自增。
第1页/共1页
学科网(北京)股份有限公司
$
浙江强基联盟2026年3月高三联考
技术试题
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。)
1. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。下列关于数据的说法正确的是( )
A. 收银员使用扫码枪记录销售数据属于人工录入数据方式
B. 系统使用的天气数据属于静态数据,无需实时更新
C. 系统通过大数据分析优化商品摆放位置,体现了数据的价值
D. 不同格式的数据必须存储在不同的存储设备中
2. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。下列关于数据编码与存储的说法,不正确的是( )
A. 顾客行为数据在计算机内部以二进制形式存储
B. 商品销售数量用ASCII码编码更利于算术计算
C. 数据上传至云端前通常需进行压缩处理
D. 系统中所有采集的数据需转换为数字信号才能计算
3. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。为保障顾客隐私安全,超市应采取的措施中最合理的是( )
A. 保存所有顾客的完整购物记录,用于个性化精准营销
B. 收集顾客完整生物识别信息,用于身份验证
C. 在店内明显位置,直播顾客的购物行为
D. 对顾客身份信息进行加密存储,并严格控制访问权限
4. 某超市引入智能分析系统,货架摄像头采集顾客行为数据,收银台扫码记录销售数据。数据上传云端后,系统通过大数据分析发现商品间关联销售规律。同时,基于历史销售、当日天气、节假日等因素,运用机器学习算法预测顾客需求、自动生成补货建议。以下关于大数据和人工智能技术应用的说法正确的是( )
A. 大数据技术只用于数据采集,不参与后续的数据分析
B. 大数据技术关注天气与商品销售间的因果关系
C. 机器学习算法训练完成后就不再需要新的数据进行优化
D. 基于机器学习的算法更能从数据中自适应地发现潜在规律
5. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。从用户使用手机APP扫描二维码,通过进行身份验证,到成功解锁的过程中,下列哪个设备不直接参与核心数据或指令传递的是( )
A. 车载通信模块 B. 车载运动传感器
C. 智能停车桩控制模块 D. 管理中心服务器
6. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。假设系统从用户开锁成功后,每30秒记录一次车辆的状态和位置数据,单次记录数据固定用16字节存储。一辆车在连续骑行2小时过程中,系统记录的位置数据总量约为(单位:KB)( )
A. (16×2×60×2)/1024 B. (16×2×60)/(30×1024)
C. (16×2×60)/1024 D. (16×120×120)/1024
7. 某城市推广“慧行”公共自行车管理系统,用户通过手机APP扫码验证后,系统服务器向智能停车桩发送解锁指令释放车辆。车辆内置的智能车锁集成了定位与运动传感器和通信模块,可与遍布城市各处的停车桩通过物联网专用网络通信。骑行数据通过5G网络上传至服务器,系统基于大数据分析骑行热力图,以优化车辆调度。下列关于该系统网络与通信技术的说法,合理的是( )
A. 网络协议使得不同终端、不同网络之间顺利识别与通信
B. 该系统的所有设备都处于同一个局域网内才能通信
C. 手机APP直接通过蓝牙连接车辆,实现车辆开锁
D. 智能停车桩与智能车锁须使用相同的IP地址才能通信
8. 已知二叉树T1的根节点为A,其中序遍历序列为DBEFAGC,现删去一个叶子节点后得到一棵完全二叉树T2,则树T2的前序遍历序列不可能是( )
A. ABDECG B. ABDFCG C. AEBFCG D. AEFDCG
9. 已知栈s初始为空,队列q初始元素从队首到队尾依次为5,1,3,4,2。依次执行以下操作,直到队列q为空:①将队列q队首元素出队,记为x;②若栈s非空且栈顶元素大于x,则将栈顶元素弹出并重新入队q;③重复步骤②直到栈s为空或栈顶元素不大于x;④将x压入栈s。重复步骤①②③④直到队列q为空。当所有操作完成后,栈s从栈底到栈顶的元素依次为( )
A. 1, 2, 3, 4, 5 B. 5, 4, 3, 2, 1 C. 1, 3, 5, 4, 2 D. 2, 4, 3, 1, 5
10. 若字符串t是由s中的每个字符替换为一个或多个原相同字符,按原序连续重复“拉伸”而成,则称t为s的拉伸版。例如s="ab",t="aabbbb"是拉伸版,而s="aba",t="aa"则不是。判断t是否为s拉伸版的Python程序段如下:
def is_stretched(s,t):
i, j = 0, 0
while j < len(t):
if i < len(s) and s[i] == t[j]:
i += 1
j += 1
elif j > 0 and ① :
j += 1
else:
return False
return ②
则①②处应填入的正确代码依次为( )
A. ①s[i] == t[j] ②True B. ①t[j] == t[j-1] ②j == len(t)
C. ①t[j] == t[j-1] ②i == len(s) D. ①t[j] == s[i-1] ②True
11. 有如下Python程序段:
def fun(k):
if k == 0:
return [1]
prev = [1 1]
for i in range(2, k + 1):
curr = [1]
left, right = 0, 1
while right < len(prev):
curr.append(prev[left] + prev[right])
left += 1
right += 1
curr.append(1)
prev = curr
return prev
print(fun(4))
运行程序,输出结果为( )
A. [1, 3, 3, 1] B. [1, 4, 6, 4, 1]
C. [1, 5, 10, 10, 5, 1] D. [1, 6, 15, 20, 15, 6, 1]
12. 有如下 Python 程序段:
import random
a = [15, 23, 23, 30, 10, 25, 35, 12, 18, 22]
g = [0, 4, 7, 10]
x = random.randint(22, 24)
count = 0
for i in range(len(g) - 1):
L, R = g[i], g[i+1] - 1
ans = g[i] - 1
while L <= R:
m = (L + R) // 2
if a[m] < x:
ans = m
L = m + 1
else:
R = m - 1
count += (ans - g[i] + 1)
print(count)
执行该程序后,输出count的值不可能是( )
A. 4 B. 5 C. 6 D. 7
二、综合题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分。)
13. 某超市搭建了智慧管理系统,该系统利用RFID实时监测库存信息;通过温湿度传感器采集冷链食品区的数据;借助wifi网络将采集的数据传输至服务器;系统根据实时数据自动更新货架上的智能电子价签、并自动调节冷柜温度;库存不足时向供货商发送补货指令。请回答下列问题:
(1)该系统工作时,下列关于数据流向的描述正确的是______。
A.补货指令由供货商发起,流向超市服务器
B.库存数据由RFID采集,经读写器上传至服务器
C.该系统只有数据采集,没有数据输出功能
(2)下列关于该系统的组成及功能的说法正确的是______。
A.智能电子价签和冷柜压缩机属于该系统的执行器
B.智能终端必须通过有线网络连接服务器才能保证数据稳定传输
C.为提高安全性,智能终端连接wifi时不应设置任何验证机制
D.RFID读写器是发送端,其主要功能是向智能价签发送最新的价格指令
(3)在系统开发的前期准备过程中,下列说法正确的有______
A.需求分析阶段应明确系统是否需要实现“自动补货预警”功能
B.概要设计阶段通常需要绘制系统功能模块图,确定系统硬件配置
C.服务器端程序应包含数据库查询逻辑,以实现历史库存走势分析
D.只要服务器性能足够高,系统搭建前就不需要进行可行性分析
(4)系统拟实现“分级预警”功能,stock用于存储当前库存,limit用于存储预警阈值。若库存量低于阈值的20%显示“紧急补货”,若库存量低于阈值但在20%及以上显示“建议补货”,否则显示“库存正常”。下列代码段中能正确实现该功能的有______。
A
B.
C.
D.
if stock < limit * 0.2:
ans = "紧急补货"
if stock < limit:
ans = "建议补货"
else:
ans = "库存正常"
ans = "紧急补货"
if stock >= limit:
ans = "库存正常"
elif stock >= limit * 0.2:
ans = "建议补货"
if stock < limit:
ans = "建议补货"
elif stock < limit * 0.2:
ans = "紧急补货"
else:
ans = "库存正常"
ans = "紧急补货"
if stock >= limit * 0.2:
ans = "建议补货"
if stock >= limit:
ans = "库存正常"
(5)当冷链区的某批次生鲜食品临近保质期时,系统会自动调低该商品在智能价签上的显示价格。管理员发现某商品已临近保质期,智能价签仍显示原价,经检测智能价签本身无故障,请简要说明系统中可能造成上述问题的原因。______
14. 某超市通过服务器实时记录商品销售明细数据。该超市一年的销售数据按订单号升序导出存于“销售清单数据.xlsx”文件中,如图a所示,现要对这些数据进行分析,请回答下列问题:
图a 图b
(1)现要分析“生鲜”类商品在不同时段的订单数量降序分布情况,并绘制如图c所示的柱形图。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("销售清单数据.xlsx")
df1 = df[df['商品类别'] == '生鲜']
# 同一订单保留一条,提取购买时间中的“小时”数据,另存为df2,结果如图b所示,代码略
①________
②________
③________
图c
程序中划线①②③处可选代码有:
A. df2 = df2.sort_values('订单号', ascending=False)
B. plt.bar(df2.index, df2['订单号'])
C. df2 = df2.groupby('小时').sum()
D. df2 = df2.groupby('小时', as_index=False).count()
E. plt.bar(df2['小时'], df2['订单号'])
F. df2 = df2.sort_values('小时', ascending=True)
(2)为了挖掘商品间的关联性,现编写程序统计与“生鲜”关联最紧密的商品类别,若存在多个,则选择最早出现的类别。实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
# 读入数据并提取关联类别存入列表t,并对t进行升序排序,代码略
# 例如:t = ['烘焙', '烘焙', '日用品', '调味', '调味', '调味', ...]
res = "" # 存储出现频次最高的类别
max_c = 0 # 存储最高频次
i = 0
while i < len(t):
count = 1
j = i + 1
while j < len(t) and ①______ :
count += 1
j += 1
if count > max_c:
②____
max_c = count
③____
print("与生鲜关联最紧密的类别是:", res)
15. 某餐厅有n名厨师(编号为0到n-1),餐厅根据顾客提交的订单安排厨师,每一条订单包含订单编号(按照提交顺序从1开始依次编号)、到达时间、所需时间、菜品类型4个数据项,每位厨师有擅长的菜品类型,只能烹制擅长类型的菜品。餐厅按以下规则安排厨师:
·每个订单都会分配给空闲且擅长该菜品类型的最小编号厨师;
·如果没有符合条件的空闲厨师,订单将进入等待队列;
·当有厨师空闲时,优先处理等待队列中等待时间最长的订单。
例如:假设n=3,厨师0和厨师1均擅长川菜,厨师2擅长粤菜,初始时3位厨师均为空闲状态,有6条订单数据如下表所示:
订单编号
到达时间
所需时间(分钟)
菜品类型
1
18:00
25
川菜
2
18:20
40
粤菜
3
18:30
30
川菜
4
18:35
25
川菜
5
18:40
20
川菜
6
18:40
40
粤菜
则安排结果如下:
·厨师0:订单1(18:00–18:25),订单3(18:30–19:00),订单5(19:00–19:20)
·厨师1:订单4(18:35–19:00)
·厨师2:订单2(18:20–19:00),订单6(19:00–19:40)
请回答以下问题:
(1)订单数据如题所述,现增加一条订单[7, "18:30", 40, "川菜"],该订单会被分配给______(选填:厨师0/厨师1/厨师2),实际开始时间是________________。
(2)定义insert_work()函数,work列表中每个元素的数据项依次为结束时间、厨师编号,函数功能为将[end_time, chef]插入work列表,并保持按结束时间升序,程序中加框处代码有错,请改正:______
def insert_work(end_time chef):
work.append([end_time, chef])
i = len(work) - 1
while
work[i], work[i-1] = work[i-1], work[i]
i -= 1
(3)实现餐厅厨师分配调度的Python程序如下,请在划线处填写合适的代码。
def con1(s):
# 将"时:分"格式的时间字符串转换成以"分钟"为单位的整数,代码略
def con2(t):
# 将以分钟为单位的整数转换成"时:分"格式的时间字符串,代码略
def find_chef(tp):
# 寻找空闲且擅长指定菜品的厨师,返回厨师ID,找不到返回-1,代码略
def assign(chef oid, st): # 将订单分配给厨师
dur = orders[oid][2]
et = st + dur
orders[oid][1] = con2(st)
orders[oid].append(con2(et)) # append:在列表末尾添加元素
orders[oid].append(-1)
idle[chef] = False
insert_work(et, chef)
if head[chef] == -1:
head[chef] = oid
else:
①_______
tail[chef] = oid
def arrange(orders, n, skills): # 主调度函数
global idle, work, wait, head, tail # global:声明全局变量
idle = [True] * n
work = [] # 工作队列
wait = [] # 等待队列
head = [-1] * n
tail = [-1] * n
i = 0
now = 0
while i < len(orders) or wait or work:
while i < len(orders) and con1(orders[i][1]) <= now:
tp = orders[i][3]
dur = orders[i][2]
②________
if chef != -1:
assign(chef, i, now)
else:
wait.append([i, tp, dur])
i += 1
new_work = []
for et, cid in work:
if et <= now:
idle[cid] = True
if wait:
for k in range(len(wait)):
woid, wtp, wdur = wait[k]
chef = find_chef(wtp)
if chef != -1:
assign(chef, woid, now)
wait.pop(k) # pop:弹出索引 k 处的元素
break
else:
new_work.append([et, cid])
work = new_work
③______
if i < len(orders):
now = min(now, con1(orders[i][1]))
if work:
now = min(now, work[0][0])
return head
"""
读取 orders 数据,orders 每个元素包含 4 个数据项,依次为订单编号、到达时间、所需时间、菜品类型,代码略。
"""
n = 3 # 预设厨师数量
skills = ["川菜", "川菜", "粤菜"]
heads = arrange(orders, n, skills)
# 输出厨师安排结果,代码略
第1页/共1页
学科网(北京)股份有限公司
$