内容正文:
浙江强基联盟2025年5月高三联考
技术 试题
浙江强基联盟研究院 命制
注意事项:
1.答题前,考生务必将自己的姓名、考生号、考场号、座位号填写在答题卡上。
2.回答选择题时,选出每小题答案后,用铅笔把答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。回答非选择题时,将答案写在答题卡上。写在本试卷上无效。
3.考试结束后,将本试卷和答题卡一并交回。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。)
1. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。下列关于该技术中信息和数据处理的说法,正确的是( )
A. 添加数字水印实为对数据进行编码 B. 盗摄影片说明信息传递可以脱离载体
C. 影院播放数字电影的过程属于流计算 D. 盗摄影片与原版影片的文件格式一定相同
【答案】A
【解析】
【详解】考查的是信息与数据处理。
选项A正确,添加数字水印是通过修改载体数据(如图像像素或音频信号的最低有效位)嵌入特定信息,属于对数据的编码操作。
选项B错误,信息传递无法脱离载体存在。即使盗摄影片以不同形式(如枪版)传播,其内容仍需依附于视频文件或物理介质(如存储设备),载体始终存在。
选项C错误,流计算指实时处理大数据中的动态数据流,而影院播放的电影不是大数据,不涉及实时计算。
选项D错误,盗摄影片可能因压缩、裁剪、文件转存等操作导致文件格式与原版不同。
故选A。
2. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。关于信息安全与信息社会责任,下列说法或行为合理的是( )
A. 多家影院共享同一份电影拷贝
B 尝试使用技术手段移除电影数字水印
C 将盗摄影片片段发布到朋友圈进行宣传
D. 数字水印技术用于保护信息的不可否认性
【答案】D
【解析】
【详解】本题考查信息安全与信息社会责任。选项A不合理,影院共享同一拷贝违反数字水印的唯一性要求(每份拷贝需嵌入唯一标识),且可能导致版权追踪失效。选项B不合理,移除水印属于破坏版权保护措施,违反信息安全伦理和法律规范。选项C不合理,传播盗版影片侵犯版权,需承担法律责任。选项D正确,数字水印通过唯一标识确认版权归属,支持事后追责,保护了信息的不可否认性。因此,本题选择D。
3. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。LSB隐写算法如下:获取隐写字符的ASCII码(8位二进制),分别替换视频文件中连续8个字节的最低位。现有隐写后的视频片段,十进制表示为254,129,1,254,0,0,1,0,则隐写在该视频文件中的ASCII 码字符是( )
字符
A
a
ASCII 码值
65
97
ASCII码(部分)
A. A B. B C. a D. b
【答案】D
【解析】
【详解】本题考查ASCII编码。将十进制数转换为二进制时,奇数的二进制末尾一定是“1”,偶数的二进制末尾一定是“0”。例如, 将序列“254, 129, 1, 254, 0, 0, 1,0”中的每个数转换为二进制后,对应的最低位依次是“0,1,1,0,0,0,1,0”。将这些二进制位组合起来, 得到“01100010”, 对应的ASCⅡ码是小写字母“b”。因此,本题选择D。
4. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该信息系统组成与功能的说法,不正确的是( )
A. 人脸识别技术属于联结主义人工智能
B. 该校园安防监控系统由多个子系统组成
C. 系统的数据输入功能全部由视频监控设备实现
D. 学校内部人员和校园安保人员是该系统的用户
【答案】C
【解析】
【详解】本题考查的是信息系统组成与功能。材料明确指出校园安防监控系统包含门禁系统、视频监控系统和报警系统。门禁系统的刷卡或人脸识别功能需要输入身份验证数据(如刷卡信息或生物特征数据),而视频监控设备主要负责采集图像数据。因此,系统的数据输入功能并非全部由视频监控设备实现,门禁系统也承担了部分输入功能。故选C。
5. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该系统中硬件的说法,正确的是( )
A. 该系统中的传感器只用于获取图像数据
B. 校园安保人员的手机不属于该系统硬件
C. 该系统需将数据长期存储在内存RAM中
D. 该系统服务器负责数据处理和网络控制
【答案】D
【解析】
【详解】本题考查硬件。A错误:传感器不仅用于图像采集(如摄像头),还可能包括门禁系统的刷卡器、报警系统的红外探测器等。B错误:安保人员的手机属于系统硬件终端,用于接收预警信息。C错误:内存(RAM)仅用于临时存储数据,长期存储需依赖硬盘或云存储设备。D正确:服务器负责数据处理(如分析异常行为)和网络控制(如协调子系统数据传输)。因此,本题选择D。
6. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该系统中软件与网络的说法,不正确的是( )
A. 系统的正常运行需要操作系统和相关应用软件的支撑
B. 刷卡通过门禁系统,使用了RFID技术,无需软件的支持
C. 监控系统与报警系统之间数据通信,双方遵循相同的网络协议
D. 向安保人员发送预警信息属于网络的数据通信功能
【答案】B
【解析】
【详解】本题考查软件和网络。A正确:操作系统(如服务器端Linux)和应用软件(如视频分析程序)是系统运行的基础。B错误:刷卡门禁系统(如RFID 技术)需要软件支持,例如身份验证逻辑、权限管理及数据传输协议。C正确:监控与报警系统需遵循统一协议(如TCP/IP)实现数据通信。D正确:发送预警信息属于网络通信功能(如通过移动网络或互联网传输数据)。因此,本题选择B。
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放90,90,90,81,78,65,59,47, key的值为a[0],执行这部分流程后,输出c的值为( )
A 1 B. 2 C. 3 D. 5
【答案】B
【解析】
【详解】本题考查的是流程图识读。根据流程图和题目条件,执行过程如下:
初始化参数: 数组 a[0]~a[7] 为 [90,90,90,81,78,65,59,47], key=a[0]=90
L=1, R=n-1=7, c=0
第一次循环:计算中间位置 m=(1+7)//2=4
比较 key 与 a[4]=78, 因 90>78, 更新 R=m-1=3, c=c+1=1
L=1, R=3, c=1
第二次循环:计算中间位置 m=(1+3)//2=2
比较 key 与 a[2]=90, 因 90≤90, 更新 L=m+1=3(不修改 c)
L=3, R=3, c=1
第三次循环:计算中间位置 m=(3+3)//2=3
比较 key 与 a[3]=81, 因 90>81, 更新 R=m-1=2, c=c+1=2
L=3, R=2(此时 L>R, 循环终止)
输出结果:c=2。故选B。
8. 某单词记忆游戏规则如下:玩家得到一个乱序的单词(如OHLEL),可借助栈操作将其恢复为正确顺序(HELLO)。约定入栈标记为“I”,出栈标记为“0”,通过III000操作(如图所示,字母‘ H’、‘E’不入栈,直接进入最终队列)可恢复正确顺序。若要将“yphtno”恢复为正确顺序“python”,通过以下操作过程不能实现的是( )
A. IOIOIO B. IIOOIOIO C. IOIIOOIOIO D. IIOOIIOOIIOO
【答案】C
【解析】
【详解】本题考查栈的基本操作。根据图例可知,不是所有字符均需入栈。
选项A :IO:y入栈,p不入栈直接进入单词队列,y再出栈进入队列,得到 py
IO:h入栈,t不入栈直接进入单词队列,h再出栈进入队列,得到 pyth
IO:n入栈,o不入栈直接进入单词队列,n 再出栈进入队列,得到 python
选项 B:IIOO:y入栈,p入栈,p出栈入单词队列,y出栈入单词队列
IO:h入栈,t不入栈直接进入单词队列,h再出栈进入队列,得到 pyth
IO:n入栈,o不入栈直接进入单词队列,n 再出栈进入队列,得到 python
选项C: IO:y入栈,p不入栈直接进入单词队列,y再出栈进入队列,得到 py
IIOO:h入栈,t入栈,t出栈入单词队列,h出栈入单词队列,得到 pyth
IOIO: n入栈, n出栈入单词队列, o入栈, o入单词队列, 得到 pythno
选项D:IIOO,y入栈,p入栈,p出栈入单词队列,y出栈入单词队列,得到 py
IIOO,h入栈,t入栈,t出栈入单词队列,h出栈入单词队列,得到 pyth
IIOO,n入栈,o入栈,o出栈入单词队列,n出栈入单词队列,得到 python
因此,本题选择C。
9. 某二叉树前序遍历结果为ABCDEF,已知根节点的左右子树均为完全二叉树,则该二叉树后序遍历结果不可能是( )
A. CBDEFA B. CBEFDA C. BEDFCA D. DCEBFA
【答案】A
【解析】
【详解】本题考查二叉树。根节点的左右子树为完全二叉树的六个节点的树有以下4种形态:
若树形1的前序遍历结果为ABCDEF,其后序遍历为DCEBFA
若树形2的前序遍历结果为ABCDEF,其后序遍历为CBEFDA
若树形3的前序遍历结果为ABCDEF,其后序遍历为BEDFCA
若树形4的前序遍历结果为ABCDEF,其后序遍历为DCEBFA
因此,本题选择A。
10. 欧几里得算法又称辗转相除法,用于计算两个整数m、n的最大公约数。基于定理:gcd (m,n)= gcd (n,m%n),即整数m、n的最大公约数等于n和m除以n的余数的最大公约数。以下 Python程序中,不能正确求得两数最大公约数的是( )
A. def gcd(m,n):
while n!=0:
temp=n
n=m%n
m=temp
return m
B. def gcd(m,n):
temp=m%n
while temp!=0:
m=n
n=temp
temp=m%n
return temp
C. def gcd(m,n):
if m%n==0:
return n
else:
return gcd(n,m%n)
D. def gcd(m,n):
if n == 0:
return m
else:
return gcd(n, m%n)
A. A B. B C. C D. D
【答案】B
【解析】
【详解】本题考查的是递归算法。根据欧几里得算法,正确的终止条件应为返回当前的 n(当余数为0时,n即为最大公约数)。以下对选项B的逻辑错误进行逐层分析:
初始步骤:计算 temp=m%n,若 temp=0直接返回 temp(错误) 。
循环条件:当 temp!=0 时,更新 m=n、n= temp,重新计算 temp=m%n。
终止返回:当 temp==0 时,返回 temp(此时 temp 值为0,正确结果应为当前的 n)。
故选B。
11. 有如下python程序段:
a=[7,3,2,4,6,9]
n= len(a)
i=n-1
while i>=1:
k=0
for j in range(i):
if a[j]<a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
k=j
__________
若运行程序后,列表a=[9, 7,6,4, 3, 2],则划线处的语句可以为( )
①i—=1 ②i=k—1 ③i=k ④i=k+1
A. ①③ B. ②③ C. ①④ D. ②④
【答案】A
【解析】
【详解】本题考查冒泡程序。题目要求将初始数组 [4,6,3,9,1,2] 通过冒泡程序处理后变为 [9,6,4,3,2,1], 需判断划线处的语句(更新 i 的方式)是否可行。关键点在于:
算法逻辑:通过比较相邻元素并交换,实现降序排列。
变量 i 的作用:控制每轮遍历的右边界,k记录最后一次交换的位置以优化后续遍历范围。
选项①(i-=1):每次将遍历范围减1,标准冒泡排序方式。
选项③(i=k):通过 k 记录最后一次交换位置,直接跳过后续已有序部分。
选项②(i=k-1):过早缩小遍历范围(如第一轮后 i=3),导致未完全排序。
选项④(i=k+1):可能导致无限循环(如第一轮后 i=5重复处理相同范围)。
因此,本题选择A。
12. 有如下Python程序段:
a=[2,-5,3,4,-1,2,3,5]
qa=[0,0,0,0]
max=0
head=1; tail=0
temp=0
for i in range(len(a)):
qa[tail]=a[i]+ temp-qa[head]
if qa[tail]> max:
max= qa[tail]
temp= qa[tail]
tail=(tail+1)%4
head=(head+1)%4
print(max)
运行程序,输出结果是( )
A. 4 B. 8 C. 9 D. 10
【答案】B
【解析】
【详解】本题考查的是队列。程序通过维护一个长度为4的循环队列 qa,结合动态更新规则 qa[tail]=a[i]+temp-qa[head],逐步计算最大值 max。以下是关键步骤的模拟过程:
i=0: qa[0]=2+0-qa[1]=2; max=2; tail=1, head=2→qa=[2,0,0,0]
i=1: qa[1]=-5+2-qa[2]=-3; max 未更新; tail=2, head=3→qa=[2,-3,0,0]
i=2: qa[2]=3+(-3)-qa[3]=0; max 未更新; tail=3, head=0→qa=[2,-3,0,0]
i=3: qa[3]=4+0-qa[0]=2; max 未更新; tail=0, head=1→qa=[2,-3,0,2]
i=4: qa[0]=-1+2-qa[1]=4; max=4; tail=1, head=2→qa=[4,-3,0,2]
i=5: qa[1]=2+4-qa[2]=6; max=6; tail=2, head=3→qa=[4,6,0,2]
i=6: qa[2]=3+6-qa[3]=7; max=7; tail=3, head=0→qa=[4,6,7,2]
i=7: qa[3]=5+7-qa[0]=8; max=8; tail=0, head=1→qa=[4,6,7,8]
故选B。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分。)
13. 某小区配置了5个快递柜,每个柜包含小、中、大三类格口,可分别存放小、中、大件物品。系统需根据快递员的订单需求分配快递柜。为快速完成投递,优先分配能满足所有投递需求的快递柜。若存在多个满足条件的快递柜,则优先选择剩余格口总量最多的柜子;若剩余格口总量相同,则选取编号较小的快递柜。
(1)若当前各柜剩余格口容量如表所示,快递员需要寄存的快递大小类型为4小件,3中件,2大件,应分配___________号柜给快递员。
1号柜
2号柜
3号柜
4 号柜
5号柜
剩余小格数量
10
7
5
6
7
剩余中格数量
7
6
4
6
5
剩余大格数量
2
1
3
1
0
(2)实现上述功能的部分 python代码如下,请在划线处填入合适的代码。
cab=[10,7,2,7,6,1,5,4,3,6,6,1,7,5,0] #按顺序存储各快递柜剩余格子数量#获取所有需投递快递的类型,存储到列表c_ type中
# c_ type[0], c_ type[1], c_ type[2]分别表示小件,中件与大件的数量, 代码略
k=i=0
flag=[0]*5
while i<5:
for j in range(3):
if ①____ :
flag[i]=-1
break
else:
flag[i]+= cab[i*3+j]-c_ type[j]
②__
k=0
for i in range(1,5):
if flag[k]< flag[i]:
k=i
if③__:
print ("请你前往",k+1,"号快递柜")
else:
#处理不能放在一个快递柜的情况,代码略
#更新 cab中的数据,代码略
【答案】 ①. 1 ②. c_ type[j]> cab[i*3+j] ③. i+=1 ④. flag[k]!=-1
【解析】
【详解】本题考查python程序设计。
(1)筛选满足条件的快递柜:
需求:4小件、3中件、2大件。
1 号柜:小 (10≥4)、中 (7≥3)、大(2≥2)→ 满足条件
3 号柜:小 (5≥4)、中(4≥3)、大 (3≥2) → 满足条件。
计算分配后的剩余总量:
1 号柜:分配后剩余为 (10-4)+(7-3)+(2-2)=6+4+0=10。
3 号柜:分配后剩余为 (5-4)+(4-3)+(3-2)=1+1+1=3。
选择逻辑:1号柜剩余总量更大 (10>3),故分配1 号柜
(2)①条件判断(是否格口不足):若c_ type[j]> cab[i*3+j] ,表示当前柜子的 j 类格口无法容纳需求,标记该柜为无效 (flag[i]=-1)并终止检查。
② 递增柜子索引:每处理完一个柜子(无论是否满足条件),需手动递增 i(i+=1)以处理下一个柜子,避免无限循环。
③ 判断是否有有效柜子:在找到最大 flag[k]后,需验证其有效性(flag[k]!=-1) ,确保存在满足条件的柜子。
14. 制作果酒时适宜的发酵温度是18℃~25℃。若温度连续8小时超过30℃,会导致酵母菌活性下降,果酒制作失败。6个小组在实验室局域网环境中搭建温度监测系统。该系统中的智能终端连接传感器,每隔1小时采集1次温度数据,通过网络将数据传输到服务器(所有小组共用1台服务器),服务器根据上传数据判断出异常情况后,控制智能终端发出预警信息。小组成员可通过浏览器登录系统查看温度数据。请回答下列问题:
(1)6个小组独立搭建监测系统,温度传感器、智能终端和执行器的配备总数量合理的是__________(单选,填字母)。
A.6个温度传感器、6个智能终端和6个执行器
B.6个温度传感器、1个智能终端和1个执行器
C.6个温度传感器、6个智能终端和1个执行器
(2)下列关于该系统中数据管理的说法,正确的是____________(单选,填字母)
A.数据库中存储的数据为非结构化数据
B.智能终端不具备数据存储和处理功能
C.可通过传感器编号来区分不同小组采集的数据
(3)下列关于该系统设计的说法,正确的是_____________(多选,填字母)
A.智能终端可以通过IoT模块接入无线网络
B.系统采用C/S模式,需安装专用客户端软件
C.该系统搭建在局域网中,无需考虑系统安全问题
D.确定在局域网中搭建该系统属于前期准备中的概要设计
(4)在实验室环境下,6个小组搭建的温度监测系统均正常运行。6个小组分别将智能终端与传感器部署到实际环境后,发现从浏览器中可查询到历史数据,但无法查看最新数据,现已排除所有智能终端和传感器同时故障的可能,请写出两种可能的原因。____________
(5)将监测系统中一星期内所有小组的监测数据导出到文件“data.xlsx”中,部分数据如图a所示。现要找出制作果酒有可能失败的小组编号,并绘制对应小组的温度监测数据折线图(如图b所示)。
import pandas as pd
df = pd. read _ excel ("data. xlsx")
def check(df):
c = 0
for temp in df ["温度"(℃)"]
if temp>30:
c += 1
if___________________:
return True
else:
c = 0
return False
failed = []
bh=["A", "B", "C", "D", "E", "F"]
for d in bh:
df1=
if check(df1):
failed. append(d)
plt. plot
#设置绘图参数并绘图,代码略
print ("可能失败的小组编号:", failed)
Ⅰ.请在划线处填入合适的代码。
Ⅱ.划框①②处可选代码如下,正确的代码是_______和_______(填字母,顺序错误不得分)。
A.df1= df [df ["小组编号"]==d] B.df1= df ["小组编号"==d]
C.df1 ["时间"],dfl ["温度(℃)"] D.df1. index, df1. 温度(℃)
【答案】 ①. A ②. C ③. AD ④. 在1小时时间间隔内,或服务器与各智能终端分处未互联的局域网内,或智能终端网络连接失败 ⑤. c>=8 ⑥. A ⑦. C
【解析】
【详解】本题考查搭建信息系统。
(1)每个小组独立搭建系统,需独立控制数据采集和预警,答案为A。
(2)A错误:数据库存储结构化数据(表格形式的时间、温度、小组编号)。
B错误:智能终端需存储临时数据(如程序)并处理采集。
C正确:通过传感器编号或小组编号区分数据来源,答案为C。
(3)A正确:IoT 模块可实现无线网络接入。
B错误:小组成员可通过浏览器登录系统查看温度数据,为B/S架构。
C错误:任何系统均需考虑安全(如数据篡改、未授权访问)。
D 正确:确定在局域网搭建属于概要设计阶段,答案为AD。
(4)可能原因:网络问题:实际环境网络不稳定,导致智能终端无法上传数据。
或由于数据上传时间间隔1小时,而查看新数据的时间在1小时时间间隔内。
或服务器与各智能终端分处未互联的局域网内。
(5)核心逻辑:通过检测每组温度数据中是否存在“连续8小时超过30℃”的情况,若存在判断果酒制作是否失败。填空①:c>=8,当计数器 c(连续超温小时数)达到8时, 返回 True,标记该小组失败。①选A: df[df["小组编号"]==d] 正确筛选指定小组的数据。②选C:df1["时间"],df1["温度(℃)"]明确数据列名,避免语法错误。
15. 某接单平台上有 n 项任务单,每项任务单包含两个属性:
截止日期:该任务必须在截止日期结束前(含当天)完成。
每单报酬:完成该单后可获得的报酬。
平台规定:每天最多完成一单,且每单只能完成一次。若未在截止日期前完成,则无法获得该单对应报酬。请设计一种合理的接单方案,使得总报酬最大化。
为使总报酬最大化,接单策略如下:
·按照报酬高低的顺序依次接单,优先处理高报酬订单,从订单的最晚截止日向前规划,确定订单可完成的最晚日期,确保其在截止日期前(包括截止日期当天)完成。
·若多单报酬相同,优先接截止日期晚的单;
·若多单报酬与截止日期都相同,优先接编号较小的单;
·若按以上策略无法完成某单,则放弃,尝试接下一单。
例如有8个任务单, 存储在 task中,task =[[2,600], [4,600], [2,500], [1,800],[1,800], [4,1000], [3,600], [4,800]], task[i]代表第 i+1号订单, 其包含两个数据项:截止日期与单笔报酬。则接单方案如下:
时间
第1天
第2天
第3天
第4 天
接单编号
单号 4
单号2
单号8
单号6
每单报酬
800
600
800
1000
此时,接单顺序为4,2,8,6, 可得总报酬为 800+600+800+1000=3200。
(1)若将案例 task 中的单号3数据修改为[4,900],为使总报酬最大,则接单顺序为___________。
(2)编写函数 sort _t()如下,请完善划线处代码。
def sort _t (task):
for t in task:
t. append(-1) # append()用于在列表末尾添加新元素
h=0
n= len (task)
for i in range (1, n):
p, q=h,-1
while p!=-1 and task[i][1]<= task[p][1]:
if task[i][1]== task[p][1] and ____________:
break
q=p
p= task[p][2]
if q!=-1:
task[q][2]=i
task[i][2]=p
else:
task[i][2]=h
h=i
return h
(3)实现上述功能的部分代码如下,请在划线处填入合适的代码。
#依次读取任务单数据并存入 task中,获取最晚截止日期存入 max _d中,代码略
f=[i for i in range(max_d+1)]
def find(x):
for i in range(x, 0,-1):
if ①____:
f[i]=-1
return i
return - 1
ans=0
lst=[0]*(max__ d+1)
h= sort __t (task)
p=h
while p!=-1:
②_____
t= find(day)
if t!=-1:
③__
ans+= task[p][1]
p= task[p][2]
for i in range(max _d+1):
if lst[i]!=0:
print("第",i, "天接单编号为: ", lst[i])
print("获得总报酬: ", ans)
【答案】 ①. 4, 8, 3, 6 ②. task[i][0]> task[p][0] ③. f[i]==i 或f[i]!=-1 ④. day= task[p][0] ⑤. lst[t]=p+1
【解析】
【详解】本题考查链表。
(1)修改后任务数据:
单号1: [2,600], 单号2: [4,600], 单号3: [4,900], 单号4: [1,800],
单号5: [1,800], 单号6: [4,1000], 单号7: [3,500], 单号8: [4,800]
排序规则:按报酬降序→截止日期降序→编号升序。排序结果为:
单6(1000,4); 单3(900,4) ; 单8(800,4); 单4(800,1)
单5(800,1); 单1(600,2) ; 单2(600,4); 单7(500,3)
分配逻辑:
单6:安排在第三天(第4天可用)。
单3:安排在第四天(第3天可用)。
单8:第四天已满,寻找最大可用天数第二天(第2天可用)。
单4:安排在第一天(第1天可用)。
最终接单顺序(按日期排列):
第1天:单4
第2天:单8
第3天:单3
第4天:单6
(2)根据题目规则,当报酬相同时,应优先选择截止日期更晚的任务。因此,在链表排序过程中,插入新节点时需判断:
若当前任务报酬与链表节点报酬相同(task[i][1]== task[p][1]),且当前任务截止日期更晚(task[i][0]> task[p][0]) , 则插入到该节点前。
(3)代码逻辑为:
第一个空:find函数的目的是从截止日期x开始,逆向查找第一个可用的日期。代码中的循环从x开始递减到1,检查条件。f数组初始化为[ [I for I in range(max_(d+1) )],即f[i]=i。当某天被占用后,f[i]会被减1,表示该天已经被使用,需要向前寻找可用日期。因此,判断某天是否可用的条件应该是 f[i]==i。如果f[i]等于i,说明该天未被占用。否则,已经被占用,继续向前查找。因此,第一个空应填 f[i]==i。
第二个空:在主循环中,变量p是当前处理的任务节点,task[p]包含截止日期和报酬。需要将当前任务的截止日期传递给 find 函数,查找可用的最晚日期。因此,day应设置为 task[p][0],即当前任务的截止日期。所以,第二个空填day=task[p][0]。
第三个空:当找到可用日期t后,需要将该任务分配到该天,并记录到 lst数组中。lst数组的索引代表日期,值代表接单编号。题目中提到,任务单号是从1开始的,而代码中的 task列表索引是从0开始的,因此任务编号为p+1。所以,lst[t]=p+1,将任务编号存入对应日期。第三个空填 lst[t]=p+1。
第1页/共1页
学科网(北京)股份有限公司
$$
浙江强基联盟2025年5月高三联考
技术 试题
浙江强基联盟研究院 命制
注意事项:
1.答题前,考生务必将自己的姓名、考生号、考场号、座位号填写在答题卡上。
2.回答选择题时,选出每小题答案后,用铅笔把答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。回答非选择题时,将答案写在答题卡上。写在本试卷上无效。
3.考试结束后,将本试卷和答题卡一并交回。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分。)
1. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。下列关于该技术中信息和数据处理的说法,正确的是( )
A. 添加数字水印实为对数据进行编码 B. 盗摄影片说明信息传递可以脱离载体
C. 影院播放数字电影的过程属于流计算 D. 盗摄影片与原版影片的文件格式一定相同
2. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。关于信息安全与信息社会责任,下列说法或行为合理的是( )
A. 多家影院共享同一份电影拷贝
B. 尝试使用技术手段移除电影数字水印
C. 将盗摄影片片段发布到朋友圈进行宣传
D. 数字水印技术用于保护信息的不可否认性
3. 电影数字水印是在不降低影片画质或音质、不被人的视觉或听觉系统感知的前提下,将影片内容相关标识信息隐藏在影片图像或声音中,例如,LSB隐写术通过修改像素值添加隐形水印,使每份电影拷贝具有唯一的身份标识。这项技术可以帮助版权方定位盗版源头和具体盗拍时间。LSB隐写算法如下:获取隐写字符的ASCII码(8位二进制),分别替换视频文件中连续8个字节的最低位。现有隐写后的视频片段,十进制表示为254,129,1,254,0,0,1,0,则隐写在该视频文件中的ASCII 码字符是( )
字符
A
a
ASCII 码值
65
97
ASCII码(部分)
A. A B. B C. a D. b
4. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该信息系统组成与功能的说法,不正确的是( )
A. 人脸识别技术属于联结主义人工智能
B. 该校园安防监控系统由多个子系统组成
C. 系统的数据输入功能全部由视频监控设备实现
D. 学校内部人员和校园安保人员是该系统的用户
5. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该系统中硬件的说法,正确的是( )
A. 该系统中的传感器只用于获取图像数据
B. 校园安保人员的手机不属于该系统硬件
C. 该系统需将数据长期存储在内存RAM中
D. 该系统服务器负责数据处理和网络控制
6. 校园安防监控系统主要由门禁系统、视频监控系统和报警系统组成。学校内部人员需要刷卡或人脸识别通过系统验证。监控系统对校园各处实时监控,并将数据上传至服务器,若系统监测到异常情况,会及时将预警信息发送到校园安保人员的手机上。下列关于该系统中软件与网络的说法,不正确的是( )
A. 系统的正常运行需要操作系统和相关应用软件的支撑
B. 刷卡通过门禁系统,使用了RFID技术,无需软件的支持
C. 监控系统与报警系统之间数据通信,双方遵循相同网络协议
D. 向安保人员发送预警信息属于网络的数据通信功能
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放90,90,90,81,78,65,59,47, key的值为a[0],执行这部分流程后,输出c的值为( )
A. 1 B. 2 C. 3 D. 5
8. 某单词记忆游戏规则如下:玩家得到一个乱序的单词(如OHLEL),可借助栈操作将其恢复为正确顺序(HELLO)。约定入栈标记为“I”,出栈标记为“0”,通过III000操作(如图所示,字母‘ H’、‘E’不入栈,直接进入最终队列)可恢复正确顺序。若要将“yphtno”恢复为正确顺序“python”,通过以下操作过程不能实现的是( )
A. IOIOIO B. IIOOIOIO C. IOIIOOIOIO D. IIOOIIOOIIOO
9. 某二叉树前序遍历结果为ABCDEF,已知根节点的左右子树均为完全二叉树,则该二叉树后序遍历结果不可能是( )
A CBDEFA B. CBEFDA C. BEDFCA D. DCEBFA
10. 欧几里得算法又称辗转相除法,用于计算两个整数m、n的最大公约数。基于定理:gcd (m,n)= gcd (n,m%n),即整数m、n的最大公约数等于n和m除以n的余数的最大公约数。以下 Python程序中,不能正确求得两数最大公约数的是( )
A. def gcd(m,n):
while n!=0:
temp=n
n=m%n
m=temp
return m
B. def gcd(m,n):
temp=m%n
while temp!=0:
m=n
n=temp
temp=m%n
return temp
C. def gcd(m,n):
if m%n==0:
return n
else:
return gcd(n,m%n)
D. def gcd(m,n):
if n == 0:
return m
else:
return gcd(n m%n)
A. A B. B C. C D. D
11. 有如下python程序段:
a=[7,3,2,4,6,9]
n= len(a)
i=n-1
while i>=1:
k=0
for j in range(i):
if a[j]<a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
k=j
__________
若运行程序后,列表a=[9, 7,6,4, 3, 2],则划线处的语句可以为( )
①i—=1 ②i=k—1 ③i=k ④i=k+1
A. ①③ B. ②③ C. ①④ D. ②④
12. 有如下Python程序段:
a=[2,-5,3,4,-1,2,3,5]
qa=[0,0,0,0]
max=0
head=1; tail=0
temp=0
for i in range(len(a)):
qa[tail]=a[i]+ temp-qa[head]
if qa[tail]> max:
max= qa[tail]
temp= qa[tail]
tail=(tail+1)%4
head=(head+1)%4
print(max)
运行程序,输出结果是( )
A. 4 B. 8 C. 9 D. 10
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分。)
13. 某小区配置了5个快递柜,每个柜包含小、中、大三类格口,可分别存放小、中、大件物品。系统需根据快递员的订单需求分配快递柜。为快速完成投递,优先分配能满足所有投递需求的快递柜。若存在多个满足条件的快递柜,则优先选择剩余格口总量最多的柜子;若剩余格口总量相同,则选取编号较小的快递柜。
(1)若当前各柜剩余格口容量如表所示,快递员需要寄存快递大小类型为4小件,3中件,2大件,应分配___________号柜给快递员。
1号柜
2号柜
3号柜
4 号柜
5号柜
剩余小格数量
10
7
5
6
7
剩余中格数量
7
6
4
6
5
剩余大格数量
2
1
3
1
0
(2)实现上述功能的部分 python代码如下,请在划线处填入合适的代码。
cab=[10,7,2,7,6,1,5,4,3,6,6,1,7,5,0] #按顺序存储各快递柜剩余格子数量#获取所有需投递快递的类型,存储到列表c_ type中
# c_ type[0], c_ type[1], c_ type[2]分别表示小件,中件与大件的数量, 代码略
k=i=0
flag=[0]*5
while i<5:
for j in range(3):
if ①____ :
flag[i]=-1
break
else:
flag[i]+= cab[i*3+j]-c_ type[j]
②__
k=0
for i in range(1,5):
if flag[k]< flag[i]:
k=i
if③__:
print ("请你前往",k+1,"号快递柜")
else:
#处理不能放在一个快递柜的情况,代码略
#更新 cab中的数据,代码略
14. 制作果酒时适宜的发酵温度是18℃~25℃。若温度连续8小时超过30℃,会导致酵母菌活性下降,果酒制作失败。6个小组在实验室局域网环境中搭建温度监测系统。该系统中的智能终端连接传感器,每隔1小时采集1次温度数据,通过网络将数据传输到服务器(所有小组共用1台服务器),服务器根据上传数据判断出异常情况后,控制智能终端发出预警信息。小组成员可通过浏览器登录系统查看温度数据。请回答下列问题:
(1)6个小组独立搭建监测系统,温度传感器、智能终端和执行器的配备总数量合理的是__________(单选,填字母)。
A.6个温度传感器、6个智能终端和6个执行器
B.6个温度传感器、1个智能终端和1个执行器
C.6个温度传感器、6个智能终端和1个执行器
(2)下列关于该系统中数据管理的说法,正确的是____________(单选,填字母)
A.数据库中存储的数据为非结构化数据
B.智能终端不具备数据存储和处理功能
C.可通过传感器编号来区分不同小组采集的数据
(3)下列关于该系统设计的说法,正确的是_____________(多选,填字母)
A.智能终端可以通过IoT模块接入无线网络
B.系统采用C/S模式,需安装专用客户端软件
C.该系统搭建在局域网中,无需考虑系统安全问题
D.确定在局域网中搭建该系统属于前期准备中的概要设计
(4)在实验室环境下,6个小组搭建的温度监测系统均正常运行。6个小组分别将智能终端与传感器部署到实际环境后,发现从浏览器中可查询到历史数据,但无法查看最新数据,现已排除所有智能终端和传感器同时故障的可能,请写出两种可能的原因。____________
(5)将监测系统中一星期内所有小组的监测数据导出到文件“data.xlsx”中,部分数据如图a所示。现要找出制作果酒有可能失败的小组编号,并绘制对应小组的温度监测数据折线图(如图b所示)。
import pandas as pd
df = pd. read _ excel ("data. xlsx")
def check(df):
c = 0
for temp in df ["温度"(℃)"]
if temp>30:
c += 1
if___________________:
return True
else:
c = 0
return False
failed = []
bh=["A", "B", "C", "D", "E", "F"]
for d in bh:
df1=
if check(df1):
failed. append(d)
plt. plot
#设置绘图参数并绘图,代码略
print ("可能失败的小组编号:", failed)
Ⅰ.请在划线处填入合适的代码。
Ⅱ.划框①②处可选代码如下,正确的代码是_______和_______(填字母,顺序错误不得分)。
A.df1= df [df ["小组编号"]==d] B.df1= df ["小组编号"==d]
C.df1 ["时间"],dfl ["温度(℃)"] D.df1. index, df1. 温度(℃)
15. 某接单平台上有 n 项任务单,每项任务单包含两个属性:
截止日期:该任务必须在截止日期结束前(含当天)完成。
每单报酬:完成该单后可获得的报酬。
平台规定:每天最多完成一单,且每单只能完成一次。若未在截止日期前完成,则无法获得该单对应报酬。请设计一种合理的接单方案,使得总报酬最大化。
为使总报酬最大化,接单策略如下:
·按照报酬高低的顺序依次接单,优先处理高报酬订单,从订单的最晚截止日向前规划,确定订单可完成的最晚日期,确保其在截止日期前(包括截止日期当天)完成。
·若多单报酬相同,优先接截止日期晚的单;
·若多单报酬与截止日期都相同,优先接编号较小的单;
·若按以上策略无法完成某单,则放弃,尝试接下一单。
例如有8个任务单, 存储在 task中,task =[[2,600], [4,600], [2,500], [1,800],[1,800], [4,1000], [3,600], [4,800]], task[i]代表第 i+1号订单, 其包含两个数据项:截止日期与单笔报酬。则接单方案如下:
时间
第1天
第2天
第3天
第4 天
接单编号
单号 4
单号2
单号8
单号6
每单报酬
800
600
800
1000
此时,接单顺序为4,2,8,6, 可得总报酬为 800+600+800+1000=3200。
(1)若将案例 task 中单号3数据修改为[4,900],为使总报酬最大,则接单顺序为___________。
(2)编写函数 sort _t()如下,请完善划线处代码。
def sort _t (task):
for t in task:
t. append(-1) # append()用于在列表末尾添加新元素
h=0
n= len (task)
for i in range (1, n):
p, q=h,-1
while p!=-1 and task[i][1]<= task[p][1]:
if task[i][1]== task[p][1] and ____________:
break
q=p
p= task[p][2]
if q!=-1:
task[q][2]=i
task[i][2]=p
else:
task[i][2]=h
h=i
return h
(3)实现上述功能的部分代码如下,请在划线处填入合适的代码。
#依次读取任务单数据并存入 task中,获取最晚截止日期存入 max _d中,代码略
f=[i for i in range(max_d+1)]
def find(x):
for i in range(x, 0,-1):
if ①____:
f[i]=-1
return i
return - 1
ans=0
lst=[0]*(max__ d+1)
h= sort __t (task)
p=h
while p!=-1:
②_____
t= find(day)
if t!=-1:
③__
ans+= task[p][1]
p= task[p][2]
for i in range(max _d+1):
if lst[i]!=0:
print("第",i, "天接单编号为: ", lst[i])
print("获得总报酬: ", ans)
第1页/共1页
学科网(北京)股份有限公司
$$