内容正文:
浙江省七彩阳光新高考研究联盟2027届高三8月暑假返校考
技术试题
考生须知:
1.本试题卷共14页,满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效。
4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
2024年6月,教育部阳光高考平台首次推出“阳光志愿”信息服务系统,考生可通过台式机或各种移动终端设备的浏览器登录该平台了解相关资讯。平台集成海量数据,详尽的专业库、院校库、就业前景、历年分数线等免费向千万考生开放;同时提供有针对性的专业、职业心理测评帮助考生更好地了解自己的专业和职业倾向。
1. 下列关于该系统中数据的说法,不正确的是( )
A. 该系统的全部数据均必须保存在服务器的数据库中
B. 该系统的数据在当年高考录取结束后依然具备价值
C. 传输至该系统服务器的数据是经过数字化处理后的数据
D. 该系统中的各种音频、图像数据均属于非结构化数据
2. 下列关于该信息系统中的硬件及软件的说法,正确的是( )
A. 服务器中的固态硬盘或机械硬盘均属于辅助存储器(外存)
B. 服务器上安装的计算机语言编译软件和杀毒软件都是系统软件
C. 工作过程中,该网站服务器上仅有操作系统在运行
D. 服务器内存中的随机存储器,断电后数据不会丢失
3. 该系统工作过程中会将重要纸质资料拍照,并将图像数据加密上传,服务器接收到图像数据后进行分析。下列选项中,属于数据采集环节的是( )
A. 上传图像数据 B. 分析图像数据
C. 对纸质资料拍照 D. 对图像数据进行加密
【答案】1. A 2. A 3. C
【解析】
【1题详解】
本题考查信息系统中数据的基本特性与分类。选项A错误,信息系统的数据并非全部必须保存在服务器数据库中,比如部分静态资源可存储在专门的文件存储服务、CDN节点等位置,不需要全部存入数据库;选项B正确,该系统的历年分数线、院校专业数据等在当年高考录取结束后,后续年份的考生依然可以参考使用,仍具备价值;选项C正确,能在信息系统中传输、被服务器处理的数据都是经过数字化处理的二进制形式数据;选项D正确,音频、图像没有统一的结构化存储格式,属于非结构化数据。故答案为:A。
【2题详解】
本题考查信息系统的硬件与软件基础概念。选项A正确,固态硬盘和机械硬盘都属于计算机的辅助存储器,也就是外存,用于长期存储数据;选项B错误,计算机语言编译软件属于系统软件,但杀毒软件是为了保障系统安全运行的应用软件,不属于系统软件;选项C错误,网站服务器运行过程中,除了操作系统,还需要运行Web服务程序、数据库服务程序、志愿系统的业务程序等多个软件;选项D错误,服务器内存中的随机存储器RAM,断电后存储的数据会全部丢失。故答案为:A。
【3题详解】
本题考查数据处理流程中数据采集环节的定义。数据采集是指通过特定的手段获取原始数据的过程,对纸质资料拍照是将纸质的原始资料转化为图像形式的原始数据,属于数据采集环节;上传图像属于数据传输环节,分析图像属于数据处理环节,对图像加密属于数据安全处理环节,都不属于数据采集。故答案为:C。
阅读下列材料,完成下面小题。
某市图书馆启用了智能借阅管理系统,为读者提供自助借还书服务。每本图书上均附有RFID电子标签实现无感借还。读者可通过智能借阅终端刷脸登录,自动识别借书信息,并在屏幕上查看借阅详情。系统也支持读者通过手机App查询服务器中馆藏图书信息、续借图书等操作。当书籍即将到期或符合用户偏好的新书上架时,系统将自动向用户发送提醒信息。管理人员借助系统能检视馆藏状况、借阅记录,执行书籍盘点等工作,极大地提升了图书价值和管理效率。
4. 下列关于人工智能的说法,不正确的是( )
A. 读者通过刷脸登录智能借阅终端的过程应用了深度学习
B. 书籍即将到期系统将自动向用户发送信息属于人工智能的应用
C. 人工智能推动人类社会进步的同时也会给社会带来负面影响
D. 应用人工智能解决实际问题,也不能做到100%准确无误
5. 该图书馆共有5个读书区域,每个区域的座位数量不等,最大的区域有98个座位,最小的有50个座位,对区域号和座位号分别用二进制进行编号,用于表示某个座位在该图书馆中的唯一序号,则该序号的二进制位数量至少是( )
A. 8位 B. 9位 C. 10位 D. 12位
6. 下列关于该信息系统的说法,正确的是( )
A. 服务器必须部署在图书馆的局域网中才能正常工作
B. 该信息系统的用户仅包含图书馆工作人员和读者
C. 借阅终端和手机必须取得IP地址后才能联网工作
D. 在图书馆闭馆期间关闭防火墙不会降低安全等级
【答案】4. B 5. C 6. C
【解析】
【4题详解】
本题考查人工智能的概念与应用相关知识。刷脸登录的人脸识别技术属于人工智能领域,其实现依托深度学习算法;书籍到期自动发送提醒是系统按照预设的时间规则触发的自动化任务,没有涉及人工智能的感知、推理、自主决策等核心特征,不属于人工智能应用;人工智能在带来便利的同时,也可能引发隐私泄露、就业结构冲击等负面影响;当前人工智能技术仍存在局限性,无法做到解决所有实际问题时100%准确无误。故答案为:B。
【5题详解】
本题考查二进制编码的计算能力。首先对区域号编码,共5个读书区域,至少需要3位二进制(2的3次方等于8,可覆盖5个区域的编号需求);再对座位号编码,单个区域最大有98个座位,至少需要7位二进制(2的7次方等于128,可覆盖98个座位的编号需求);两者相加总位数至少为3加7等于10位。故答案为:C。
【6题详解】
本题考查信息系统的网络运行相关知识点。服务器不需要必须部署在图书馆局域网内,也可以部署在云端公网服务器来提供远程服务;该信息系统的用户除了图书馆工作人员和读者外,还可能包含系统运维人员等其他角色;联网的设备只有获取合法的IP地址,才能在网络中完成数据的传输与通信,借阅终端和手机联网工作必须取得IP地址;防火墙是网络安全的重要防护屏障,闭馆期间关闭防火墙会大幅降低系统的安全等级,增加被非法入侵的风险。故答案为:C。
7. 某算法的部分流程图如图所示,若数组元素a[0]至a[6]依次存放4,5,5,6,6,7,9,执行这部分流程后,输出n的值为( )
A. 3 B. 4 C. 5 D. 6
【答案】B
【解析】
【详解】本题考查算法流程图。初始时n=0、i=0、j=6,进入循环。首先i=0≤j=6,计算t=a[0]+a[6]=4+9=13,13>12,不执行i自增,直接n=0+1=1,j变为5;接着i=0≤j=5,t=a[0]+a[5]=4+7=11≤12,i增为1,n=1+1=2,j变为4;然后i=1≤j=4,t=a[1]+a[4]=5+6=11≤12,i增为2,n=2+1=3,j变为3;再然后i=2≤j=3,t=a[2]+a[3]=5+6=11≤12,i增为3,n=3+1=4,j变为2;此时i=3>j=2,循环结束,输出n的值为4。故答案为:B。
8. 某完全二叉树的中序遍历序列为DBEAFC,则下列选项中正确的是( )
A. 该二叉树的根节点为节点B B. 节点E和节点F为兄弟节点
C. 该二叉树的后序遍历为DEBCFA D. 该二叉树的前序遍历为ABDECF
【答案】D
【解析】
【详解】本题考查完全二叉树的性质与二叉树的遍历操作。首先结合完全二叉树的定义和给定的中序遍历序列DBEAFC推导二叉树结构:完全二叉树除最后一层外其余层节点数都达到最大值,最后一层节点靠左排列,结合中序遍历左-根-右的规则,可确定该二叉树的根节点为A,A的左子树部分中序序列为DBE,右子树部分中序序列为FC,进一步推导可得结构为A的左孩子是B,B的左孩子是D、右孩子是E,A的右孩子是C,C的左孩子是F。接下来逐一分析选项:第一个选项,根节点是A而非B,该选项错误;第二个选项,E的父节点是B,F的父节点是C,二者不是兄弟节点,该选项错误;第三个选项,后序遍历左-右-根的规则下,正确序列应为DEBFCA,不是DEBCFA,该选项错误;第四个选项,前序遍历根-左-右的规则下,得到的序列为ABDECF,该选项正确。故答案为:D。
9. 栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为A,B,C,D,E,F,且每个元素入栈1次,最后出栈的两个元素依次为E和C,则对于所有可行的方案,操作过程中栈内元素个数最多为( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查栈的操作知识。根据题意,若元素入栈的顺序为A,B,C,D,E,F,且每个元素入栈1次,最后出栈的两个元素依次为E和C,可知下列行为符合其结果(栈内元素最多):
①元素A入栈,元素A出栈;
②元素B入栈,元素B出栈;
③元素C入栈,
④元素D入栈,元素D出栈;
⑤元素E入栈;
⑥元素F入栈,(此时栈内元素最多,有F、E、C等3个元素)
⑦元素F出栈,
⑧元素E出栈,
⑨元素C出栈,此时栈为空,结束。
综上,故本题答案是B。
10. 有如下Python程序段:
s="20270228"
i=j=ans=0
while i < len(s)-1:
if s[i] < s[i+1]:
ans+=int(s[j:i+1])
j=i+1
i+=1
print(ans)
执行该程序段后,输出ans的值为( )
A. 20 B. 23 C. 92 D. 114
【答案】D
【解析】
【详解】本题考查字符串处理知识。字符串s="20270228"长度为8,初始i=j=ans=0。
i=0:比较s[0]='2'和s[1]='0','2'<'0'不成立,i自增为1
i=1:比较s[1]='0'和s[2]='2','0'<'2'成立: 取s[j:i+1] = s[0:2] = "20",ans累加后变为20,j更新为2,i自增为2
i=2:比较s[2]='2'和s[3]='7','2'<'7'成立: 取s[j:i+1] = s[2:3] = "2",ans累加后变为22,j更新为3,i自增为3
i=3:比较s[3]='7'和s[4]='0','7'<'0'不成立,i自增为4
i=4:比较s[4]='0'和s[5]='2','0'<'2'成立: 取s[j:i+1] = s[3:5] = "70",ans累加后变为92,j更新为5,i自增为5
i=5:比较s[5]='2'和s[6]='2','2'<'2'不成立,i自增为6
i=6:比较s[6]='2'和s[7]='8','2'<'8'成立: 取s[j:i+1] = s[5:7] = "22",ans累加为114,j更新为7,i自增为7
i=7: i < len(s)-1不成立,循环结束,故选项D正确。
11. 某二分查找算法的Python程序段如下:
key=int(input())
n=0
i,j=0,len(d)-1
while i <=j:
m=(i+j)//2
if key < d[m]:
j=m-1
else:
i=m+1
n+=1
print(n)
若d为[8,12,15,18,25,28,34,39,48,65],运行程序后,输出结果和其他三项不同的key值是( )
A. 18 B. 34 C. 40 D. 63
【答案】C
【解析】
【详解】本题考查二分查找的执行流程与变量计数逻辑分析能力。我们逐个代入选项中的key值模拟程序运行:
当key为18时,d长度为10,初始i=0,j=9,循环过程中满足else分支的次数为3,最终n=3。
当key为34时,初始i=0,j=9,循环过程中满足else分支的次数为3,最终n=3。
当key为40时,初始i=0,j=9,循环过程中满足else分支的次数为2,最终n=2。
当key为63时,初始i=0,j=9,循环过程中满足else分支的次数为3,最终n=3。可见40对应的输出结果和其余三项不同。故答案为:C。
12. 某升序排序算法,其Python程序段如下:
#随机产生n个整数存入列表a,代码略
n=len(a)
for i in range(n//2):
minid=i
maxid=i
for j in range( (1) ):
if a[j] < a[minid]:
minid=j
if a[j]>a[maxid]:
maxid=j
a[i],a[minid]=a[minid],a[i]
if i==maxid:
(2)
(3)
代码中(1)~(3)处可选的表达式有:
①i+1, n-i-1 ②i+1, n-i ③a[n-i-1], a[maxid]=a[maxid], a[n-i-1]
④a[n-i], a[maxid]=a[maxid], a[n-i] ⑤maxid=minid ⑥minid=maxid
要使程序实现上述排序算法功能,则(1)~(3)处的表达式序号依次为( )
A. ②⑤③ B. ①⑤③ C. ①⑥④ D. ②⑥④
【答案】A
【解析】
【详解】本题考查双向选择排序(同时找最值的选择排序)的逻辑实现。该算法是每一轮同时在未排序区间找出最小值和最大值,将最小值交换到区间左端,最大值交换到区间右端,外层循环执行n//2轮即可完成排序。首先分析(1)处,每轮i对应的未排序区间左端是i,右端是n-i-1,遍历j需要覆盖从i+1到n-i-1的所有元素,因此range的参数应为i+1, n-i,对应序号②。接着分析(2)处,当i等于maxid时,说明原本最大值的位置就是当前要放置最小值的位置i,在执行完a[i]和a[minid]的交换后,原来的最大值会被移动到minid的位置,此时需要将maxid更新为minid,对应序号⑤。最后分析(3)处,要将最大值交换到当前未排序区间的右端位置n-i-1,对应语句a[n-i-1], a[maxid]=a[maxid], a[n-i-1],即序号③。因此(1)(2)(3)依次为②⑤③。故答案为:A
二、非选择题(本题共有3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 为了监测人流、避免拥挤,某大学在食堂出入口安装摄像头,每分钟采集一次进入人数和离开人数,通过Wi-Fi将数据传输至服务器处理和存储。服务器实时统计食堂内当前人数,当人数连续一段时间超过警戒值时触发预警。客户端可以通过浏览器查看各时段的人流量统计的实时数据和历史数据。
请回答下列问题。
(1)下列选项中,属于该信息系统必不可少的硬件是______
A. 湿度传感器 B. 智能终端 C. 操作系统
(2)下列关于该系统数据处理的说法,正确的是______
A. 服务器可以通过Wi-Fi向智能终端发送控制指令
B. 通过浏览器查看数据时需要从传感器直接读取
C. 用户查看历史数据的过程中未进行数据库相关操作
D. 服务器和智能终端均可以实现对数据的处理
(3)关于该信息系统的搭建,下列说法正确的是______
A. 评估人流采集点个数,确定服务器硬件性能,属于前期准备中的需求分析
B. 可以选择B/S架构搭建该信息系统,方便系统的维护
C. 系统采用Wi-Fi传输数据,无需网络协议支持
D. 将每分钟采集一次人流数据改为每五分钟采集一次,会增加服务器处理和存储压力
(4)摄像头采集人流数据时,可能拍摄到师生的面部特征。请从隐私保护角度,提出一种既能统计人数又能保护师生隐私的方法。
(5)将食堂某天的人流数据导出到文件canteen.xlsx中,部分数据如表a所示。统计该天每个小时段内净增加的人数,选出超过20人的时段,绘制柱形图如图b所示。
A
B
C
D
E
1
日期
小时
分钟
进入
离开
2
2026-06-09
11
02
7
5
3
2026-06-09
11
22
7
6
4
2026-06-09
14
29
2
4
5
2026-06-09
18
35
7
3
6
2026-06-09
10
20
2
8
7
2026-06-09
17
41
12
2
8
2026-06-09
08
50
2
9
9
2026-06-09
13
09
3
6
10
2026-06-09
15
16
1
8
11
2026-06-09
16
03
1
6
12
2026-06-09
20
12
5
12
13
2026-06-09
14
16
1
5
14
2026-06-09
17
03
10
2
图a
图b
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel('canteen.xlsm')
df['人数']=df['进入']-df['离开'] # 新增一列“人数”表示净增加人数
①
②
③
plt.bar(df['小时'],df['人数'])
# 设置绘图参数,显示如图b所示的柱形图,代码略
程序中①②③处可选填的代码有:___________、___________、___________
A.df=df[df['人数']>20]
B.df=df[df['人数']>20]
C.df=df.groupby('小时', as_index=Flase)['小时'].count()
D.df=df.groupby('小时', as_index=Flase)['人数'].sum()
E.df=df.sort_values('小时', ascending=True)
F.df=df.sort_values('人数', ascending=False)
【答案】(1)B (2)AD (3)AB
(4)方案①:原始图像在本地处理完毕即丢弃,服务器和网络中不传输、不存储任何可识别个人身份的信息;方案②:加密存储和传输图像、视频数据,并设置严格的访问权限;方案③:采用红外热成像传感器采集数据,代替原始图像或视频
(5) ①. D ②. A(E) ③. E(A)
【解析】
【详解】本题考查信息系统的硬件组成、数据处理、系统搭建与隐私保护。
(1)智能终端可以连接摄像头、接收数据、通过Wi-Fi上传至服务器,是整个数据链路的枢纽之一,是必不可少的硬件。湿度传感器与人流监测完全无关。操作系统是软件而非硬件,可以直接排除。因此选B。
(2)选项A:Wi-Fi是双向通信技术,服务器可以通过Wi-Fi向智能终端发送指令,例如调整采集频率、远程重启等,因此正确。选项B:浏览器查看数据时,是从服务器请求已经处理和存储好的数据,而不是直接连接传感器读取原始数据。传感器→智能终端→服务器→浏览器,数据流向中浏览器处于最末端。选项C:用户查看历史数据的过程中一般都要进行查询数据库操作,故选项C错误。选项D:服务器和智能终端均可以实现对数据的处理,正确。正确答案为AD。
(3)选项A:需求分析阶段需要明确系统要“做什么”,包括功能需求(采集多少点位)和性能需求(服务器需要多大处理能力)。评估采集点数量和确定硬件配置都属于需求分析的工作。
选项B:B/S架构(浏览器/服务器架构)的客户端只需浏览器,无需安装专用软件。系统升级维护只需在服务器端进行,所有用户立即生效,维护成本低。该系统中用户通过浏览器查看数据,正适合B/S架构。
选项C:任何网络通信都必须遵循网络协议。Wi-Fi基于IEEE802.11标准,上层依赖TCP/IP协议栈。不存在“无需网络协议”的数据传输。这个说法错误。
选项D:采集间隔从1分钟延长到5分钟,单位时间内产生的数据量减少为原来的五分之一,服务器的处理和存储压力会降低而非增加。
正确答案为AB。
(4)意思相近即可,参考方案:
方案①:原始图像在本地处理完毕即丢弃,服务器和网络中不传输、不存储任何可识别个人身份的信息,从根本上保护隐私。
方案②:对存储的图像数据加密并设置严格的访问权限,只有经过授权的人员在特定场景下才能解密查看,防止数据被非法访问或泄露。
方案③:采用红外热成像传感器采集数据,代替原始图像或视频。
(5)程序首先读取Excel文件,然后新增“人数”列,值为“进入”减去“离开”(即该分钟的净增加人数)。接下来三道填空分别对应三个数据处理步骤:分组聚合、条件筛选、排序。
填空①需要按小时分组,统计每小时内所有分钟的净增加人数之和。groupby('小时', as_index=False)表示按“小时”列分组,结果保留“小时”为普通列而非索引。聚合方式应选sum()对“人数”列求和,因为题目要的是每个小时段内的净增加总数。选项C用count()统计的是记录条数而非人数和,选项D用sum()才是正确的聚合方式。因此①选D。
填空②需要从聚合结果中筛选出净增加人数超过20的时段。df['人数']>20生成一个布尔序列,作为索引传入df[...]即可筛选出符合条件的行。选项B中'人数'>20是字符串与整数比较,语法错误。因此②选A。
填空③需要对筛选结果排序以便绘图。根据图示知按时间顺序展示,用sort_values('小时', ascending=True)按小时升序排列。选项F按人数降序不符合图示结果。因此③选E。
14. 服务器根据食堂每分钟采集到的人数,统计并发送预警信息,规则如下:
①若人数≥500人,则标记为“待处理”,处于“待处理”时,若连续3分钟人数上升,则发送“预警”信息,发送信息后,系统将重新计时。
②人数≤400时,清除“待处理”标记。若清除“待处理”标记30分钟内人数又增到500人及以上,则直接发送“二次预警”信息。
请回答下列问题:
(1)若系统11:00启动,11:00-11:09的人数依次为[480,505,510,520,525,460,380,410,450,510],则系统发送“预警”和“二次预警”的总次数是_______次。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
pending=False # 标记是否处于“待处理”状态
last_count=-1
rise_count=0
while True:
# 获取当前时刻t,当前时刻的人数num,上一分钟的人数prev,代码略
if num>=500:
if not pending:
if_______:
# 发送“二次预警”信息,代码略
pending=True
rise_count=1
else:
if num>prev:
_______
else:
rise_count=1
if rise_count>=3:
# 发送“预警”信息,代码略
rise_count=0
pending=False
last_clear=t
elif pending and num<=400:
_______
last_clear=t
rise_count=0
prev=num
# 延时一分钟,代码略
【答案】(1)2或填“二”或填“两”
(2) ①. last clear!=-1 and t-last clear<=30 ②. rise_count+=1 ③. pending=False
【解析】
【详解】本题考查分支结构与状态维护的综合应用相关内容。结合题目内容,推知:
(1)根据题目规则,11:03触发一次“预警”,11:09触发一次“二次预警”,总次数为2次。故本题答案是:2或填“二”或填“两”。
(2)程序使用三个变量维护系统状态:pending表示是否处于待处理标记中,last_clear记录上一次清除标记的时刻(初始为-1表示从未清除),rise_count记录待处理状态下人数连续上升的分钟数。填空①位于if not pending分支内,即首次触发500及以上时,需要判断是否属于“30分钟内再次触发”的情况。条件有两个:last_clear必须有效(不等于-1,说明曾经清除过),且当前时刻t距上次清除时刻last_clear不超过30分钟。故此处答案是:last_clear !=-1 and t-last_clear<=30。
填空②位于else分支(已处于待处理状态)中,当前人数大于上一分钟人数时执行。此时需要累加连续上升计数,为后续判断是否达到3次做准备。故此处答案是:rise_count+=1。与之对应,若人数未上升,rise_count被重置为1。
填空③位于elif pending and num<=400分支,即人数回落至400及以下且当前处于待处理状态时。此时需要清除待处理标记,让系统回到普通状态,同时记录解除时刻供后续二次预警判断使用。故此处答案是:pending=False。
15. 某快递员每天需要完成n个取件任务,每个任务i包含两项数据:取件耗时ti(分钟数),以及客户要求的取件截止时间di,其中di以当前00:00开始的分钟数表示,取件任务必须在di时刻之前完成。快递员同一时间只能处理一个任务。
为了在有限时间内完成尽可能多的任务,快递员采用如下策略:按截止时间从早到晚依次考虑每个任务,能按时完成的则加入取件计划,不能按时完成的则尝试替换计划中耗时最长的任务。
请回答下列问题。
(1)若快递员某天收到的取件任务如下表所示,则最多能按时完成______个任务。
任务编号
0
1
2
3
4
耗时ti
7
1
5
5
6
截止时间di
10
11
16
17
17
(2)定义preproc()函数完成排序和预处理工作,jobs为任务列表,每个元素表示一个任务,包含两个数据项,依次是耗时和截止时间。耗时和截止时间都相同的两个任务认为是重复任务,重复仅保留一个。函数返回排序去重后的有效任务数量。
def preproc(jobs):
n=len(jobs)
for i in range(n-1):
for j in range(n-1-i):
if jobs[j][1]>jobs[j+1][1]:
jobs[j], jobs[j+1]=jobs[j+1], jobs[j]
elif jobs[j][1]==jobs[j+1][1] and jobs[j][0]>jobs[j+1][0]:
jobs[j], jobs[j+1]=jobs[j+1], jobs[j]
i=j=0
while j<n:
if jobs[i]!=jobs[j]:
i+=1
jobs[i]=jobs[j]
j+=1
return ______
①函数中两个嵌套的for循环完成的功能是______
A.按截止时间从小到大排序,截止时间相同的按耗时从小到大排序
B.按截止时间从大到小排序,截止时间相同的按耗时从大到小排序
C.按截止时间从小到大排序,截止时间相同的按耗时从大到小排序
D.按截止时间从大到小排序,截止时间相同的按耗时从小到大排序
②为了返回去重后的任务数量,划线处语句应该填写______
(3)实现优化调度任务的处理函数proc()如下。参数orders表示原始任务数据,已选任务用lst链表保存,lst[0]为头节点(不存储有效数据),其余每个节点包含两个数据项,依次是任务耗时和后续节点指针。请在划线处填入合适的代码。
def proc(orders):
n=preproc(orders)
lst=[[1, -1]] # 初始化为仅包含头节点的链表
cur=cnt=0
for i in range(n):
t, d=orders[i][0], orders[i][1]
if _______:
new_idx=len(lst)
lst.append([t, -1])
lst[new_idx][1]=lst[0][1]
lst[0][1]=new_idx
cur+=t
cnt+=1
else:
max_val=max_idx=-1
pre_max=pre=0
p=lst[0][1]
while p !=-1:
if _______:
max_val=lst[p][0]
max_idx=p
pre_max=pre
pre=p
p=lst[p][1]
if max_val>t:
_______
new_idx=len(lst)
lst.append([t, -1])
lst[new_idx][1]=lst[0][1]
lst[0][1]=new_idx
cur=cur-max_val+t
return cnt
'''
主程序读取任务订单数据存入orders列表,每个元素包含两个数据项,依次为任务耗时、截止时间,代码略
'''
ans=proc(orders)
# 输出ans,代码略
【答案】(1)4 (2) ①. A ②. i+1
(3) ①. cur+t<=d ②. lst[p][0]>max_val ③. lst[pre_max][1]=lst[max_idx][1]
【解析】
【详解】考查数据结构与算法的综合应用。
(1)首先按截止时间升序排列,截止时间相同时按任务耗时升序排序。排序后处理顺序不变,仍为[7, 10]、[1, 11]、[5, 16]、[5, 17]、[6, 17]。前三个任务都可以依次处理,处理结束时刻13。接着处理[5, 17],13+5=18>17,无法直接完成。已选任务中最大耗时为7,用当前任务替换,即[7, 10](任务0),换成[5, 17](任务3),因为处理时长更短,必然能处理,处理结束的时刻变成13-7+5=11,最后的任务[6, 17]也可以完成。最终完成4个任务。
(2)①两个嵌套for循环实现的是冒泡排序。第一个if条件jobs[j][1]>jobs[j+1][1],表示截止时间小的元素向前冒泡,即按截止时间升序。elif条件jobs[j][1]==jobs[j+1][1] and jobs[j][0]>jobs[j+1][0],表示截止时间相同时,任务耗时小的向前冒泡,即按任务耗时升序。因此选A。②去重部分使用双指针,i为慢指针,始终指向已去重部分的最后一个有效元素,j为快指针负责扫描。当jobs[i]!=jobs[j]时,i先后移一位,再将jobs[j]复制到jobs[i]。循环结束后有效元素分布在jobs[0]到jobs[i],因此有效个数为i+1。学生容易误填i,这是混淆了索引与个数的区别。
(3)程序用数组lst模拟静态链表。lst[0]为头节点,存储[-1, -1],其中第二个数据项是指向第一个有效节点的指针。其余节点存储[任务耗时,后继指针],新节点通过头插法插入。程序逐个遍历排序去重后的任务列表。填空①处判断当前任务能否直接加入。当cur+t≤d时,表示累计时长加上新任务时长未超过截止时间,可以接纳。因此填空①为cur+t<=d。若条件不成立,进入else分支,需要在已选任务中找任务耗时最大的节点尝试替换。遍历前将max_val初始化为-1,因为所有耗时均为正整数,-1确保第一个节点的值必定大于它。填空②位于遍历循环内,当lst[p][0]>max_val时更新最大值及其位置。因此填空②为lst[p][0]>max_val。遍历结束后,若max_val>t,说明替换更优,需先删除旧节点再插入新节点。填空③位于删除操作处,需要让max_idx的前驱节点pre_max跳过它,直接指向其后继节点。因此填空③为lst[pre_max][1]=lst[max_idx][1]。删除后再用头插法加入新节点,并更新cur=cur-max_val+t,完成替换。
第1页/共1页
学科网(北京)股份有限公司
$
浙江省七彩阳光新高考研究联盟2027届高三8月暑假返校考
技术试题
考生须知:
1.本试题卷共14页,满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效。
4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
2024年6月,教育部阳光高考平台首次推出“阳光志愿”信息服务系统,考生可通过台式机或各种移动终端设备的浏览器登录该平台了解相关资讯。平台集成海量数据,详尽的专业库、院校库、就业前景、历年分数线等免费向千万考生开放;同时提供有针对性的专业、职业心理测评帮助考生更好地了解自己的专业和职业倾向。
1. 下列关于该系统中数据的说法,不正确的是( )
A. 该系统的全部数据均必须保存在服务器的数据库中
B. 该系统的数据在当年高考录取结束后依然具备价值
C. 传输至该系统服务器的数据是经过数字化处理后的数据
D. 该系统中的各种音频、图像数据均属于非结构化数据
2. 下列关于该信息系统中的硬件及软件的说法,正确的是( )
A. 服务器中的固态硬盘或机械硬盘均属于辅助存储器(外存)
B. 服务器上安装的计算机语言编译软件和杀毒软件都是系统软件
C. 工作过程中,该网站服务器上仅有操作系统在运行
D. 服务器内存中的随机存储器,断电后数据不会丢失
3. 该系统工作过程中会将重要纸质资料拍照,并将图像数据加密上传,服务器接收到图像数据后进行分析。下列选项中,属于数据采集环节的是( )
A. 上传图像数据 B. 分析图像数据
C. 对纸质资料拍照 D. 对图像数据进行加密
阅读下列材料,完成下面小题。
某市图书馆启用了智能借阅管理系统,为读者提供自助借还书服务。每本图书上均附有RFID电子标签实现无感借还。读者可通过智能借阅终端刷脸登录,自动识别借书信息,并在屏幕上查看借阅详情。系统也支持读者通过手机App查询服务器中馆藏图书信息、续借图书等操作。当书籍即将到期或符合用户偏好的新书上架时,系统将自动向用户发送提醒信息。管理人员借助系统能检视馆藏状况、借阅记录,执行书籍盘点等工作,极大地提升了图书价值和管理效率。
4. 下列关于人工智能的说法,不正确的是( )
A. 读者通过刷脸登录智能借阅终端的过程应用了深度学习
B. 书籍即将到期系统将自动向用户发送信息属于人工智能的应用
C. 人工智能推动人类社会进步的同时也会给社会带来负面影响
D. 应用人工智能解决实际问题,也不能做到100%准确无误
5. 该图书馆共有5个读书区域,每个区域的座位数量不等,最大的区域有98个座位,最小的有50个座位,对区域号和座位号分别用二进制进行编号,用于表示某个座位在该图书馆中的唯一序号,则该序号的二进制位数量至少是( )
A. 8位 B. 9位 C. 10位 D. 12位
6. 下列关于该信息系统的说法,正确的是( )
A. 服务器必须部署在图书馆的局域网中才能正常工作
B. 该信息系统的用户仅包含图书馆工作人员和读者
C. 借阅终端和手机必须取得IP地址后才能联网工作
D. 在图书馆闭馆期间关闭防火墙不会降低安全等级
7. 某算法的部分流程图如图所示,若数组元素a[0]至a[6]依次存放4,5,5,6,6,7,9,执行这部分流程后,输出n的值为( )
A. 3 B. 4 C. 5 D. 6
8. 某完全二叉树的中序遍历序列为DBEAFC,则下列选项中正确的是( )
A. 该二叉树的根节点为节点B B. 节点E和节点F为兄弟节点
C. 该二叉树的后序遍历为DEBCFA D. 该二叉树的前序遍历为ABDECF
9. 栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为A,B,C,D,E,F,且每个元素入栈1次,最后出栈的两个元素依次为E和C,则对于所有可行的方案,操作过程中栈内元素个数最多为( )
A. 2 B. 3 C. 4 D. 5
10. 有如下Python程序段:
s="20270228"
i=j=ans=0
while i < len(s)-1:
if s[i] < s[i+1]:
ans+=int(s[j:i+1])
j=i+1
i+=1
print(ans)
执行该程序段后,输出ans的值为( )
A. 20 B. 23 C. 92 D. 114
11. 某二分查找算法的Python程序段如下:
key=int(input())
n=0
i,j=0,len(d)-1
while i <=j:
m=(i+j)//2
if key < d[m]:
j=m-1
else:
i=m+1
n+=1
print(n)
若d为[8,12,15,18,25,28,34,39,48,65],运行程序后,输出结果和其他三项不同的key值是( )
A. 18 B. 34 C. 40 D. 63
12. 某升序排序算法,其Python程序段如下:
#随机产生n个整数存入列表a,代码略
n=len(a)
for i in range(n//2):
minid=i
maxid=i
for j in range( (1) ):
if a[j] < a[minid]:
minid=j
if a[j]>a[maxid]:
maxid=j
a[i],a[minid]=a[minid],a[i]
if i==maxid:
(2)
(3)
代码中(1)~(3)处可选的表达式有:
①i+1, n-i-1 ②i+1, n-i ③a[n-i-1], a[maxid]=a[maxid], a[n-i-1]
④a[n-i], a[maxid]=a[maxid], a[n-i] ⑤maxid=minid ⑥minid=maxid
要使程序实现上述排序算法功能,则(1)~(3)处的表达式序号依次为( )
A. ②⑤③ B. ①⑤③ C. ①⑥④ D. ②⑥④
二、非选择题(本题共有3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 为了监测人流、避免拥挤,某大学在食堂出入口安装摄像头,每分钟采集一次进入人数和离开人数,通过Wi-Fi将数据传输至服务器处理和存储。服务器实时统计食堂内当前人数,当人数连续一段时间超过警戒值时触发预警。客户端可以通过浏览器查看各时段的人流量统计的实时数据和历史数据。
请回答下列问题。
(1)下列选项中,属于该信息系统必不可少的硬件是______
A. 湿度传感器 B. 智能终端 C. 操作系统
(2)下列关于该系统数据处理的说法,正确的是______
A. 服务器可以通过Wi-Fi向智能终端发送控制指令
B. 通过浏览器查看数据时需要从传感器直接读取
C. 用户查看历史数据的过程中未进行数据库相关操作
D. 服务器和智能终端均可以实现对数据的处理
(3)关于该信息系统的搭建,下列说法正确的是______
A. 评估人流采集点个数,确定服务器硬件性能,属于前期准备中的需求分析
B. 可以选择B/S架构搭建该信息系统,方便系统的维护
C. 系统采用Wi-Fi传输数据,无需网络协议支持
D. 将每分钟采集一次人流数据改为每五分钟采集一次,会增加服务器处理和存储压力
(4)摄像头采集人流数据时,可能拍摄到师生的面部特征。请从隐私保护角度,提出一种既能统计人数又能保护师生隐私的方法。
(5)将食堂某天的人流数据导出到文件canteen.xlsx中,部分数据如表a所示。统计该天每个小时段内净增加的人数,选出超过20人的时段,绘制柱形图如图b所示。
A
B
C
D
E
1
日期
小时
分钟
进入
离开
2
2026-06-09
11
02
7
5
3
2026-06-09
11
22
7
6
4
2026-06-09
14
29
2
4
5
2026-06-09
18
35
7
3
6
2026-06-09
10
20
2
8
7
2026-06-09
17
41
12
2
8
2026-06-09
08
50
2
9
9
2026-06-09
13
09
3
6
10
2026-06-09
15
16
1
8
11
2026-06-09
16
03
1
6
12
2026-06-09
20
12
5
12
13
2026-06-09
14
16
1
5
14
2026-06-09
17
03
10
2
图a
图b
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel('canteen.xlsm')
df['人数']=df['进入']-df['离开'] # 新增一列“人数”表示净增加人数
①
②
③
plt.bar(df['小时'],df['人数'])
# 设置绘图参数,显示如图b所示的柱形图,代码略
程序中①②③处可选填的代码有:___________、___________、___________
A.df=df[df['人数']>20]
B.df=df[df['人数']>20]
C.df=df.groupby('小时', as_index=Flase)['小时'].count()
D.df=df.groupby('小时', as_index=Flase)['人数'].sum()
E.df=df.sort_values('小时', ascending=True)
F.df=df.sort_values('人数', ascending=False)
14. 服务器根据食堂每分钟采集到的人数,统计并发送预警信息,规则如下:
①若人数≥500人,则标记为“待处理”,处于“待处理”时,若连续3分钟人数上升,则发送“预警”信息,发送信息后,系统将重新计时。
②人数≤400时,清除“待处理”标记。若清除“待处理”标记30分钟内人数又增到500人及以上,则直接发送“二次预警”信息。
请回答下列问题:
(1)若系统11:00启动,11:00-11:09的人数依次为[480,505,510,520,525,460,380,410,450,510],则系统发送“预警”和“二次预警”的总次数是_______次。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适代码。
pending=False # 标记是否处于“待处理”状态
last_count=-1
rise_count=0
while True:
# 获取当前时刻t,当前时刻的人数num,上一分钟的人数prev,代码略
if num>=500:
if not pending:
if_______:
# 发送“二次预警”信息,代码略
pending=True
rise_count=1
else:
if num>prev:
_______
else:
rise_count=1
if rise_count>=3:
# 发送“预警”信息,代码略
rise_count=0
pending=False
last_clear=t
elif pending and num<=400:
_______
last_clear=t
rise_count=0
prev=num
# 延时一分钟,代码略
15. 某快递员每天需要完成n个取件任务,每个任务i包含两项数据:取件耗时ti(分钟数),以及客户要求的取件截止时间di,其中di以当前00:00开始的分钟数表示,取件任务必须在di时刻之前完成。快递员同一时间只能处理一个任务。
为了在有限时间内完成尽可能多的任务,快递员采用如下策略:按截止时间从早到晚依次考虑每个任务,能按时完成的则加入取件计划,不能按时完成的则尝试替换计划中耗时最长的任务。
请回答下列问题。
(1)若快递员某天收到的取件任务如下表所示,则最多能按时完成______个任务。
任务编号
0
1
2
3
4
耗时ti
7
1
5
5
6
截止时间di
10
11
16
17
17
(2)定义preproc()函数完成排序和预处理工作,jobs为任务列表,每个元素表示一个任务,包含两个数据项,依次是耗时和截止时间。耗时和截止时间都相同的两个任务认为是重复任务,重复仅保留一个。函数返回排序去重后的有效任务数量。
def preproc(jobs):
n=len(jobs)
for i in range(n-1):
for j in range(n-1-i):
if jobs[j][1]>jobs[j+1][1]:
jobs[j], jobs[j+1]=jobs[j+1], jobs[j]
elif jobs[j][1]==jobs[j+1][1] and jobs[j][0]>jobs[j+1][0]:
jobs[j], jobs[j+1]=jobs[j+1], jobs[j]
i=j=0
while j<n:
if jobs[i]!=jobs[j]:
i+=1
jobs[i]=jobs[j]
j+=1
return ______
①函数中两个嵌套的for循环完成的功能是______
A.按截止时间从小到大排序,截止时间相同的按耗时从小到大排序
B.按截止时间从大到小排序,截止时间相同的按耗时从大到小排序
C.按截止时间从小到大排序,截止时间相同的按耗时从大到小排序
D.按截止时间从大到小排序,截止时间相同的按耗时从小到大排序
②为了返回去重后的任务数量,划线处语句应该填写______
(3)实现优化调度任务的处理函数proc()如下。参数orders表示原始任务数据,已选任务用lst链表保存,lst[0]为头节点(不存储有效数据),其余每个节点包含两个数据项,依次是任务耗时和后续节点指针。请在划线处填入合适的代码。
def proc(orders):
n=preproc(orders)
lst=[[1, -1]] # 初始化为仅包含头节点的链表
cur=cnt=0
for i in range(n):
t, d=orders[i][0], orders[i][1]
if _______:
new_idx=len(lst)
lst.append([t, -1])
lst[new_idx][1]=lst[0][1]
lst[0][1]=new_idx
cur+=t
cnt+=1
else:
max_val=max_idx=-1
pre_max=pre=0
p=lst[0][1]
while p !=-1:
if _______:
max_val=lst[p][0]
max_idx=p
pre_max=pre
pre=p
p=lst[p][1]
if max_val>t:
_______
new_idx=len(lst)
lst.append([t, -1])
lst[new_idx][1]=lst[0][1]
lst[0][1]=new_idx
cur=cur-max_val+t
return cnt
'''
主程序读取任务订单数据存入orders列表,每个元素包含两个数据项,依次为任务耗时、截止时间,代码略
'''
ans=proc(orders)
# 输出ans,代码略
第1页/共1页
学科网(北京)股份有限公司
$