2024年6月浙江省选考信息技术卷(Word版,含答案及完美解析)

资源下载
  1. 二一教育资源

2024年6月浙江省选考信息技术卷(Word版,含答案及完美解析)

资源简介

2024年6月浙江省普通高校招生选考科目考试
技术试题 参考答案【民间版】
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分)
题号 1 2 3 4 5 6 7 8 9 10 11 12
答案 A A C B B D D B C C D B
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13.(1)D (1分)
(2)① d[0] == d[1] (2分)
② range(2) 或range(len(pre)) 或range(len(d)) (2分)
③ t[i]>tlimit (2分)
14.(1)B (1分)
(2)C (1分)
(3)BC (2分)
(4)为每个智能终端设置不同的端口、为每个智能终端设置不同的编号,以便在数据发送时能够区分等 (2分)
(5)②④① (2分)
(6)df["月"]==7 (2分)
15.(1)4 (1分)
(2)11 (2分)
(3) ①r[j]!=data[i+j] (2分)
②h=i (2分)
③data[p]=data[j]+segs[i][0] (2分)
1. A.数字校史馆中的数据有助于学校传承与发展,体现了数据的价值性
2. A.定期备份数字校史馆数据
3. C.完善语料库中的校史资料
4. B.为了节省存储空间,将JPEG格式的图像转换成BMP格式
5. B.在设计系统时需考虑数字鸿沟问题
6. D.RFID
7. D.10
8. B.1
9. C.5
10. C.3
11. D.[6,3,9,2,9,8]
12.
13.
(1)D.[1,1]
(2)略
14.
(1)B.可以连接在同一智能终端
(2)C.智能终端无法与服务器通信
(3)
B.水位、土壤含水量等数据可用数据库存储
C.可以基于Flask Web 框架编写服务器程序
(4)略
(5)
②df1 = df.sort_values("水位",ascending = False) # 降序排序
④df1 = df1.head(100) # 获取前100条数据
①df1 = df1.groupby("月",as_index = False).count() # 分组计数
(6)df2 = df[ ▲ ]
15. 略
PAGE
2024年6月信息技术真题 参考答案 第 2 页 共 2 页绝密★考试结束前
2024年 6月浙江省普通高校招生选考科目考试
技 术
姓名: 准考证号:
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和
答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试
题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先
使用 2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共 50分)
一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个备选项中只有一个是符合
题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至4题:
某校基于线下校史馆创建在线数字校史馆,将学校发展历史及校友的代表性成果、活动影像等资料,
以文本、图像、视频等格式存储。校友可以用手机、电脑等终端登录数字校史馆查阅资料,也可以向在线
问答机器人咨询学校相关信息。
1.关于该数字校史馆中数据的叙述,正确的是
A.数字校史馆中的数据有助于学校传承与发展,体现了数据的价值性
B.不同格式的数据必须保存在不同的存储设备中
C.学校的发展历史只能以同一种数据表现形式呈现
D.文本、图像、视频都是结构化数据
【答案】A
【解析一】
本题考查对数据的认识和理解。选项A,数据是有价值的,通过加工数据可以挖掘隐含在数据中的价值取;
选项B,存储器(如:硬盘、U盘)可以存储不同格式的数据;选项C,数据的表现形式是多样的,可以是
文字、图形、图像、音频、视频等;选项D,文本、图像、视频属于非结构化数据,而结构化数据,也称作
行数据,是由二维表结构来进行逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系
型数据库进行存储和管理。因此,选项A正确。
【解析二】
本题考查关于数据的价值性、存储、表现形式,以及结构化数据的相关知识。
A.正确,数字校史馆的数据帮助学校传承与发展,就是数据价值性的体现;
B.错误,不同格式的数据都可以存储在内存、外存(硬盘、光盘、U盘等)中;
C.错误,学校的发展历史可以用文字、数字、视频等各种格式的数据形式呈现;
D.错误,文本、图像、视频格式数据没有预定义的数据模型,不方便用数据库二维逻辑表来表现,属于非
结构化数据。
技术(选考)试题 第 1 页(共 17 页)
2.下列有关信息安全与保护的做法,合理的是
A.定期备份数字校史馆数据 B.未经校友同意发布其资料
C.随意剪辑校友的活动影像 D.以明文方式保存校友的注册信息
【答案】A
【解析一】
本题考查信息安全与保护。选项A,定期备份数据可以提高数据的安全性;选项B,未经他人同意,不能随
意发布其资料;选项C,未经同意,不能随意加工加人的影响,否则会引起侵权;选项D,校友的注册信息
会涉及个人隐私,不能以明文方式保存,否则存在安全隐患。因此,选项A正确。
【解析二】
本题考查信息安全与保护的相关知识。
A.正确,定期备份数据是保护数据安全的一种方法;
B.错误,侵犯了校友的个人隐私;
C.错误,侵犯了校友的个人隐私;
D.错误,以明文的方式保存校友的注册信息,不利于保护校友的个人信息。
3.为使问答机器人更准确地回答校史相关问题,下列方法可行的是
A.增加校友的最新作品 B.提高咨询所用终端的性能
C.完善语料库中的校史资料 D.提升数字校史馆的访问速度
【答案】C
【解析一】
本题考查人工智能相关知识。选项A,增加校友最新作品,不能直接影响机器人回答的准确性,只是丰富了
系统的查阅资料;选项B,提高终端性能,能提高用户访问信息系统的速度,但不影响机器人回答的准确性;
选项C,完善、丰富语料库,可以训练出更好的语言模型,使机器人更好地理解人们提出的问题,使回答更
准确;选项D,提升系统的访问速度不能影响器人回答的准确性。因此,选项C正确。
【解析二】
本题考查人工智能(机器人的语料库)的相关知识。
A.错误,校友最新作品内容广泛,和校史关系不紧密,不能有效提高机器人回答问题的准确性;
B.错误,提高终端性能主要影响用户与机器人的交互体验,如响应速度等,但并不影响机器人回答问题的
准确性;
C.正确,问答机器人的回答准确性高度依赖于其所依赖的数据或语料库,完善语料库中的校史资料有助于
建立更加完善的数据模型,提高问答准确性;
D.错误,和 B选项类似,提升访问速度有助于提升用户体验感,但并不影响问答机器人回答问题的准确性。
4.下列对校史馆资料的处理方式,不.合.理.的是
A.为了方便预览,为高清图像生成缩略图
B.为了节省存储空间,将JPEG格式的图像转换成BMP格式
C.为了方便传输,对高清视频进行压缩
D.为了便于检索,将纸质文稿扫描成图像后识别出文字一并保存
【答案】B
【解析一】
本题考查数据的处理 。选项A,缩略图是一种图像或视频内容的小型预览版本,用于快速展示原始内容的
技术(选考)试题 第 2 页(共 17 页)
概貌,实现用户方便预览;选项B,图像格式BMP是未压缩格式,JPEG是有损压缩后的格式,将BMP转换
为JPEG,可以使文件变小,节省存储空间,反之则不行;选项C,高清视频文件很大,经过压缩使文件变
小,更有利于传输;选项D,通过扫描将纸质文稿转为图像文件,再通过字符识别从图像中识别出文字,通
过文字能更方便实现检索。 因此,选项B是不合理的做法。
【解析二】
本题考查数据的处理(缩略图、JPEG转换成 BMP、视频压缩、图像扫描)的相关知识。
A.合理,缩略图可以让用户快速预览图像内容,无需加载完整的高清图像,从而节省带宽和加载时间;
B.不合理,BMP格式的特点是包含的图像信息较丰富,几乎不进行压缩,因此占用磁盘空间过大,JPEG是
一种静态图像的压缩标准,因此 JPEG格式图像的存储容量较小;
C.合理,高清视频文件通常很大,通过压缩可以显著减小文件大小,从而方便网络传输;
D.合理,通过 OCR(光学字符识别)技术,可以将扫描的纸质文稿中的文字识别并保存为可编辑和可检索
的文本格式,从而提高检索效率。
阅读下列材料,回答第5至6题:
某小区智能回收箱可通过刷卡、扫码等方式开启箱门,箱内的传感器能识别可回收物的种类,当容量
达到上限时,系统通知清运人员及时处理。居民可通过手机APP查看本人投递记录。
5.关于该系统功能与软件设计的描述,正确的是
A.系统数据处理都可由传感器完成 B.在设计系统时需考虑数字鸿沟问题
C.系统中的软件不包括手机APP D.系统的软件升级是指增加新功能
【答案】B
【解析一】
本题考查信息系统功能、局限性、软件及其设计。选项A,传感器属于信息输入设备,负责信息系统从外部
世界采集信息,一些数据的加工处理,不能在传感器完成,而要通过智能终端或服务器来完成;选项B,技
术门槛可能加剧数字鸿沟,这是信息系统的局限性之一,在设计系统时,需要尽可能考虑数字鸿沟问题,
比如支持方便老年人的操作;选项C,手机APP(Application的缩写,即应用程序)是一种软件,它是为了
在智能手机或平板电脑等移动设备上运行而设计的程序,信息系统的软件包括手机APP;选项D,软件升级
不只是增加新功能,还可以提升性能、修复错误、提升安全性等。因此,选项B正确。
【解析二】
本题考查系统功能与软件设计(数据处理、传感器、数字鸿沟、软件与 APP、软件)的相关知识。
A.错误,传感器属于信息输入设备,不对数据进行处理;
B.正确,人们使用计算机和网络的机会及能力,总是存在着差异,而这种差异往往会逐渐加剧,就产生了
所谓的“数字鸿沟”,因此在设计系统时需考虑数字鸿沟问题;
C.错误,手机 APP是客户端软件,也是信息系统的软件;
D.错误,软件升级一般会比原版本的性能更好,得到优化的结果,用户也能有更好的体验,不一定是增加
新的功能。
6.下列技术中,不.能.用于智能回收箱接入互联网的是
A.5G B.Wi-Fi C.光纤通信 D.RFID
【答案】D
【解析一】
本题考查网络组成中关于网络通信的知识。选项A,5G指第五代移动通信技术,能将智能回收箱通过移动
技术(选考)试题 第 3 页(共 17 页)
通信网络接入互联网;选项B,Wi-Fi是一种无线网络通信技术,能将智能回收箱通过无线信号连接到互联
网;选项C,光纤通信是一种利用光纤作为传输媒介的高速数据传输技术,为计算机网络、移动通信网络和
广播电视网络提供了非常大的带宽和高质量的传输通道,能将智能回收箱通过移动通信网络接入互联网;
选项D,RFID(无线射频识别),即属于通信技术的范畴,也属于传感器技术,信息系统运用射频识别技
术,通过RFID读写器识别电子标签中的数据,RFID技术本身不直接将设备连接到互联网。因此,选项D不
能用于将智能回收箱接人互联网。
【解析二】
本题考查网络组成中关于网络通信的相关知识。
A.正确,5G是新一代移动通信技术,智能回收箱可以通过 5G网络接入互联网;
B.正确,WI-FI 是无线局域网技术,智能回收箱可以通过无线网络接入互联网;
C.正确,光纤通信技术具有高带宽、长距离传输和抗干扰能力强等优点,要用于固定位置的通信,可以接
入互联网;
D.错误,RFID是射频识别技术,要用于实现物体的唯一识别和追踪,它通过无线信号识别特定目标并读写
相关数据,与智能回收箱结合使用,用于识别和管理废品,但 RFID本身并不提供互联网连接功能。
7.某同学根据第7题图所示流程图编写的Python程序段如下:
n = int(input())
if n <= 20:
z = 0
if n <= 50:
z = 1
else:
z = 2 第 7题图
用下列输入数据测试程序段与流程图,两者得到的z值不.同.的是
A.60 B.50 C.30 D.10
【答案】D
【解析一】
本题考查流程图、分支语句。
流程图描述的是一个多分支的语句,而程序段给出的二个独立的分支语句。当n <= 20时,程序段中的变量z
被二次赋值,最终的结果是1,而流程图z只赋值一次,结果是0。
【解析二】
本题考查分支语句 if语句的相关知识。
本题考查 if语句的执行过程,语句里有两句 if语句,那就必须执行两次。第一个 if语句是判断是否小于等
于 20;第二个 if语句结合流程图是进行判断,若 n的值小于等于 50则 z=1否则 z=2;而流程图表示的是 if
语句的嵌套,当 n大于 20的时候才去判断嵌套 if语句的情况,两者描述的算法不一。这样的话结合题目是
问“输入数据测试程序段与流程图”,需要测试程序段与流程图两者得到的 z值是否一致 ABC选项输入的 n
的值均大于 20,第一个 if语句均不会执行,执行第二个 if语句则 A选项 n=60,z=2;B选项 n=50,z=1;c
选项 n=30,z=1;C选项 n=30,z=1;与流程图的结果一致。D选项程序段中得到的 z值为 1,而在流程图
中得到的 z值为 0,故答案选 D。
技术(选考)试题 第 4 页(共 17 页)
8.某完全二叉树包含5个节点,其根节点在后序遍历序列、中序遍历序列中的位置序号分别记为x,y,则x-y
的值为
A.0 B.1 C.2 D.3
【答案】B
【解析一】
考查完全二叉树、二叉树的遍历。
二叉树的后续遍历:左子树-右子树-根节点,根节点一定是在最后的位置。中序遍历:左子树-根节点-右子
树,5个节点的完全二叉树,左子树有3个节点,右子树只有1个节点,根节点在倒数第二的位置,那就有x-y=1,
选B。
【解析二】
本题考查树的遍历相关知识。
本题中的二叉树为完全二叉树且包含 5个节点,那我们可以画出该完全二叉树为:
根据后序遍历的规则:左右根,访问过程为:3-4-1-2-0,可确定其根节点的位置 x处于第 5个即 x=5;
而中序遍历的规则:左根右,访问过程为:3-1-4-0-2,可确定其根节点的位置 y处于第 4个即 y=4;故 x-y=1,
答案选 B。
9.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“生”“旦”“净”“末”“丑”,则
所有可能的出栈序列中,以“旦”结尾的序列个数为
A.3 B.4 C.5 D.6
【答案】C
【解析一】
考查数据结构栈的操作。
根据栈的操作(先进后出)特点,要以“旦”结尾,“生”一定是第一个出栈。那么所有可能的出栈序列中,一
头一尾的元素就已经确定了,剩下三个元素的全排列数是6,写出所有的排列。根据栈的特点,其中“丑净
末”这个出栈序列是不可能的。所以一共有5中可能,选C
其实n个元素可能的出栈序列,组合数学中有专题进行研究,称作“卡特兰数”。给出其中一个计算公式: 2
+12 = 20 15 = 5
【解析二】
本题考查对栈思想的相关知识。
本题中入栈的顺序为“生”“旦”“净”“末”“丑”,且要求以“旦”结尾,求所有可能的出栈序列如下:
第一种出栈情况:生、净、末、丑、旦
第二种出栈情况:生、末、丑、净、旦
第三种出栈情况:生、丑、末、净、旦
第四种出栈情况:生、末、净、丑、旦
第五种出栈情况:生、净、丑、末、旦
结合以上情况,故答案选 C。
技术(选考)试题 第 5 页(共 17 页)
10.某二分查找算法的Python程序段如下:
i,j = 0,len(d)-1
while i <= j:
m = (i+ j)//2 # 语句①
if key == d[m]:
break
elif key < d[m]:
j = m-1
else:
i = m+1
当d为[6,12,15,18,22,25,28,35,46]时,运行该程序段查找key,语句①的执行次数小于等于2;若将d修改
为[6,12,15,18,22,25,28,35,46,58],重新运行该程序段,查找同一key值,则语句①的执行次数不.可.能.为
A.1 B.2 C.3 D.4
【答案】C
【解析一】
本题考查二分查找算法知识。根据题意可知,当数组d为[6,12,15,18,22,25,28,35,46]时,i=0,j=8,运行该程序
段,语句①的执行次数小于等于2,因此查找的数key可能是这三个数:22(查找一次),12和28则各查找2
次。若将d修改为[6,12,15,18,22,25,28,35,46,58],此时,i=0,j=9,由于中点位置m居中偏左,因此第一次查
找的m=4,任然是22,若往左查找,第二次依然是12。但若第二次往右查找,则找到的是35,而不是原先的
28,然后继续第三次查找找到25,接着进行第四次查找,找到28,此时查找过程结束。综上所述本题选项C
不可能。
【解析二】
本题主要考查学生对二分查找的掌握程度。本题可以依靠二叉树的图帮助学生梳理遍历的过程和次数。题
目中第一组数据根据二分查找的遍历过程绘制出下图 1,而语句①执行次数要小于等于 2,该次数与 key值
在二叉树中的深度值一致,因此判断 key 的值可能为 12、22或者 28;修改数据后二分查找的遍历过程如下
图 2所示,因此确定三个数对应的深度为 2、1和 4,因此答案为 C。
图 1 图 2
11.有如下Python程序段:
for i in range(0,len(a)-1,2):
if i > 0 and a[i] < a[i-1]:
a[i],a[i-1] = a[i-1],a[i]
if a[i] < a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
列表a有6个元素,运行该程序段后,a可能的值是
技术(选考)试题 第 6 页(共 17 页)
A.[2,9,8,6,9,3] B.[9,9,8,6,3,2] C.[9,3,6,2,8,9] D.[6,3,9,2,9,8]
【答案】D
【解析一】
本题考查数组排序算法知识。根据代码可知,当i的值为2、4时,a[i]的值比前面的a[i-1]和后面的a[i+1]都要
大(或相等)。选项AB中的8比前面的9小,故可以排除。而选项c中的8比后面的9小,也不可能,故予以排
除。本题选项D符合题意。
【解析二】
本题主要考查对枚举算法以及随机数据处理过程的分析。由于本题原数据未知,因此只 而第一个if判定执
行后a[i]>=a[i-1],而第二个if判定执行后a[i]>=a[i+1],后续的i位置数据都应符合这个规律,因此a[0]、a[2]、
a[4]的三个数据应比各自前后位置的数据都要大(a[0]号索引只与a[1]比较),因此只有答案D符合上述规律。
12.使用列表d模拟链表结构(节点数n>0),如第12题图a所示,每个节点包含数据区域和指针区域,h为头指
针。现要按链表顺序将这n个节点中的数据依次存放到d[0][0]、d[1][0]…d[n-1][0]中,最终保持节点链
接关系不变,结果如第12题图b所示。实现上述功能的Python程序段如下,方框中应填入的正确代码为
p,i = h,0
while p! =-1:
tp = d[p][1]
if p == i:
i+= 1
elif p>i:
d[i][0],d[p][0] = d[p][0],d[i][0]
i 第 12题图 a 第 12题图 b+= 1
p = tp
# 调整头指针h及指针区域,保持节点链接关系不变,代码略
A. d[i][1] = d[p][1] B. d[p][1] = d[i][1] C. d[i][1] = p D. d[p][1] = i
d[p][1] = i d[i][1] = p d[p][1] = d[i][1] d[i][1] = d[p][1]
【答案】B
【解析一】
p,i=h,0
while p!=-1:
tp=d[p][1]
# 1.由于是按 i从小到大放置,因此 p# 2.p==i 恰好就在位置上,跳过也不用处理
if p==i:
i+=1
elif p>i: # 3.p>i
# 3-1. 通过交换,将 p位置的值放置到第 i索引位置(正确归位),但是原 i位置上(现在是 p位置的值)
并没有处理,下面思考解决如何处理:
# 3-2. 我们遍历链表过程不能改变之前链表数据的次序
# 3-3. 本题的做法是将(现在 p位置的节点),将其放置到 i节点的后面(即放回),这样当节点插入回来
后,确保未处理的节点,其数据的次序并没有发生改变
技术(选考)试题 第 7 页(共 17 页)
# 3-4. 当再次遍历到 i位置,此时由于 i的次序不会产生影响
d[i][0],d[p][0]=d[p][0],d[i][0]
d[p][1]=d[i][1] # 将 p节点链接在 i节点的后面
d[i][1]=p
i+=1
p=tp
# 下面补充省略代码(需补充上,否则会影响图 b的理解)
h=0
for i in range(n-1):
d[i][1]=i+1
d[n-1][1]=-1
print(d)
【解析二】
本题考查链表的节点操作知识。根据题意可知,当前节点为 p节点,p从头结点开始进行遍历。而变量 i是
从 0开始顺序增加的,当 p和 i相等时,意味着链表是按链表顺序依次存放到 d[0][0]、d[1][0]…d[n-1][0]的,
即已经符合题意,此时只需依次进行简单的迭代即可。若 p和 i不相等时,即数据的存放不符合题意,由于
i是从 0开始的,因此若 p和 i不等则肯定是 p>i,此时由代码可知将节点 i和节点 p的数据域进行交换,由
于在链表中 p的位置比节点 i更加靠前,即 p→i。而数据交换后两者的关系刚好逆转了,即 i→p,因此可以
先删除节点 i,然后将节点 i插入到 p节点的前面,这样即可实现题意,故先执行代码 d[p][1]=d[i][1],删除
节点 i,然后再将节点 i指向节点 p,故代码为 d[i][1]=p。……,以此类推直到循环结束。至此链表已实现
按照顺序将这 n个节点中的数据依次存放到 d[0][0]、d[1][0]…d[n-1][0]中的目的,但循环结束后,还需要修
改头指针 h的值,以及重新调整每个节点的指针域数据(即代码略部分)。综上,本题正确答案应选 B。
【解析三】
本题主要考查学生对链表的数据结构理解以及遍历过程中指针区域中数据的修改。
仔细阅读该语句“#调整头指针 h及指针区域,保持节点链接关系不变,代码略”并结合图 b可得代码部分的
功能是仅实现数据区域的顺序调整,指针区域因为存储的特征,调整后 h=0,指针区域为下标+1,最后一个
指针域-1。考场上一定要 GET 到这个点。在该题中只要保证一点即可:经过 d[i][0],d[p][0]=d[p][0],d[i][0]交
换数据区域后,除了节点 i之外,剩余节点必须仍然按照原链表的顺序遍历,(若明白这点其实也可以用排
除法做,因为 i节点未处理,交换之后要保证剩余链表节点顺序,应将节点 p的指针区域修改为节点 i的指
针,即 d[p][1]=d[i][1])因此原链表如下图所示:
因此,当节点 p和节点 i交换数据区域后,节点 p应该插入到下面两个位置中的其中一个,保证原数据
的链表顺序保持不变:
或者
而上图两种操作过程中第一种情况必须标记节点 i的前驱节点,题目中并没有标记,因此只能利用第二
种情况重构链表指针,因此节点 p得指向节点 i的后继结点,而节点 i得指向节点 p,因此答案选 B。
当然如果明白:经过 d[i][0],d[p][0]=d[p][0],d[i][0]交换数据区域后,除了节点 i之外,剩余节点必须仍然按
照原链表的顺序遍历,此题用排除法做也很快。
技术(选考)试题 第 8 页(共 17 页)
二、非选择题(本大题共 3小题,其中第 13小题 7分,第 14小题 10分,第 15小题 9分,共 26分)
13.某监控设备可定时采集红绿信号灯状态数据,数据格式记为[a,b],其中 a、b分别为红灯和绿灯的状态值,
0表示灯灭,1表示灯亮,如[0,1]表示红灯灭、绿灯亮。
现要编写程序,每隔 1秒采集并检测信号灯是否存在如下异常状态:第一类,红绿灯同亮或同灭;
第二类,红灯或绿灯超时,即保持同一状态时长大于上限值(如 300秒)。检测到异常状态就发送相应
信息。请回答下列问题:
(1)若检测到“红绿灯同亮”异常,则采集到的数据是 ▲ (单选,填字母)。
A.[0,0] B.[0,1] C.[1,0] D.[1,1]
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
tlimit = 300 # 设置信号灯保持同一状态时长上限值
pre = [-1,-1]
t = [0,0] # t[0]、 t[1]分别记录红灯、绿灯保持同一状态的时长
while True:
# 接收一次采集到的状态数据,存入 d,代码略
if ① :
if d[0] == 1:
# 发送“红绿灯同亮”信息,代码略
else:
# 发送“红绿灯同灭”信息,代码略
for i in ② :
if d[i] == pre[i]:
t[i]+= 1
if ③ :
if i == 0:
# 发送“红灯超时”信息,代码略
else:
# 发送“绿灯超时”信息,代码略
else:
t[i] = 1
pre = d
# 延时 1秒,代码略
【答案】
(1)D (1分)
(2) ① d[0] == d[1] (2分)
② range(2) 或 range(len(pre)) 或 range(len(d)) (2分)
③ t[i]>tlimit (2分)
【解析一】
(1)如题所述“[0,1]表示红灯灭、绿灯亮”,则红绿灯同亮时采集到的数据是[1,1],选 D。
(2)依题意,同亮或同暗时,d 数组值为[1,1]或[0,0],分支条件只考虑了 d[0],故①处应为 d[0]==d[1],否
则无法筛选 d[1]的情况。
从 for循环中语句的调用来看,i是数组 d和 pre的下标索引,②空填:range(2)或
range(len(d))或 range(len(pre))
循环遍历两个灯的状态,若状态持续相同,则相应时长 t[i]加 1,此时若时长超过阈值 tlimit,则依题意
发送超时信息,③空填: t[i]>tlimit
【解析二】
技术(选考)试题 第 9 页(共 17 页)
本题考查 Python程序设计。
(1)根据题意 0表示灯灭,1表示灯亮,故红绿灯同时亮需表示为[1,1],选项 D正确。
(2)程序填空①处需判断红绿灯是否处于相同状态,若 d[0]和 d[1]的值相等,同时 d[0]==1,表示红绿灯同
时亮;否则 d[0]==0,表示红绿灯同时灭,故①处代码为“d[0]==d[1]”。
②处相关代码功能为读取一次数据存列表 d 后需遍历 d,故 i 取值 0 1,故②处代码为“range(2)”。若
d[i]==pre[i],表示 i所对应的红绿灯相邻两个时刻的状态相同,则相应的红绿灯时长 t[i]计数;若时长超过
上限值,则表示异常状态;若此时 i==0表示红灯异常;否则表示绿灯异常,故③处代码为“t[i]>tlimit”。
14.某研究小组拟采集某水域水位及周边土壤含水量等数据,进行地质灾害监测。该小组在实验室搭建了一
个模拟系统,该系统的智能终端获取传感器数据,并通过无线通信方式将数据传输到Web 服务器,服务
器根据数据判断出异常情况后,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)该模拟系统中的传感器和执行器 ▲ (单选,填字母:A.必须连接在不同智能终端 / B.可以连接
在同一智能终端)。
(2)水位传感器和土壤水分传感器连接在同一智能终端,服务器能正常获取土壤含水量数据,但不能正
常获取水位数据,以下故障与该现象无.关.的是 ▲ (单选,填字母)。
A.水位传感器故障
B.水位传感器与智能终端连接故障
C.智能终端无法与服务器通信
(3)下列关于该系统设计的说法,正确的有 ▲ (多选,填字母)。(注:全部选对的得 2 分,选
对但不全的得 1 分,不选或有错的得 0 分)
A.水位、土壤含水量等数据的采集时间间隔不能相同
B.水位、土壤含水量等数据可用数据库存储
C.可以基于 Flask Web 框架编写服务器程序
D.系统获取数据的程序可以只部署在服务器端
(4)现场实地测试时需要设置多个监测点,每个监测点配备一个智能终端。为使服务器能区分出数据的
监测点来源,从智能终端的角度写出一种可行的解决方法。
(5)研究小组整理出近几年的水位(日平均)数据,部分数据如第 14题图 a所示(图中水位单位为“米”)。
现要统计 2023年水位最高的前 100天在各月的分布情况,并绘制如第 14题图 b所示的柱形图。
、 第 14题图 a 第 14题图 b
实现上述功能的部分 Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df=df[df["年"] == 2023] # 筛选出 2023年的数据
plt.bar(df1["月"],df1["水位"]) # 绘制柱形图
#设置绘图参数,显示如图第 14题图 b所示的柱形图,代码略
方框中应填入的语句依次为 ▲ (选 3项,填数字序列,少选、多选、错选或次序错均不得分)。
技术(选考)试题 第 10 页(共 17 页)
①df1 = df1.groupby("月",as_index = False).count() # 分组计数
②df1 = df.sort_values("水位",ascending = False) # 降序排序
③df1 = df1.sort_values("水位",ascending = False) # 降序排序
④df1 = df1.head(100) # 获取前 100条数据
(6)观察第 14题图 b可知,2023年水位最高的前 100天分布在 7月的天数最多。现要筛选出 2023年 7
月的水位数据以便进一步分析,可在第(5)小题处理结果的基础上,再运行如下语句,请在划线
处填入合适的代码。
df2 = df[ ▲ ]
【答案】
(1)B (1分)
(2)C (1分)
(3)BC (2分)
(4)传输数据时添加监测点或智能终端或传感器的信息,可以是设备的编号、名称、IP、Mac等,能
唯一识别该设备即可。 (2分)
(5)②④① (2分)
(6)df["月"]==7 (2分)
【解析一】
本题将信息系统搭建和 pandas模块进行整合,涉及的知识点包括信息系统搭建中传感和控制、软件设计、
问题和故障分析、pandas模块的排序、筛选、分组汇总计数等。
(1)同一个智能终端通过不同的引脚可以连接不同的传感器和执行器。
(2)服务器可以获取土壤含水数据,说明智能终端和服务器的通信正常,原因可能是水位传感器本身故障
或者是水位传感器和智能终端连接故障。
(3)选项 A:水位、土壤含水量等数据的采集时间间隔可以相同;选项 D:系统获取数据的程序一般部署在
客户端或者智能终端,通常信息系统的数据采集主要依靠传感器来完成。数据采集完成后,通过数据传输
介质将数据传输至服务器端。
(4)为使服务器能区分出数据的监测点来源可以为每个智能终端设置不同的端口、为每个智能终端设置不
同的编号,以便在数据发送时能够区分。
(5)本题的问题需求为:统计 2023年水位最高的前 100天在各月的分布情况,可以细分为以下几个步骤:
1. 从原表中筛选中“年”为 2023的记录;
2. 对筛选结果按照“水位”排序,如果是降序则选取前 100条记录(升序则相反);
3. 对前 100条记录根据月份分组统计计数,分析水位最高的前 100天在各月的分布情况;
(6)结合题干描述,因为第 5小题已经筛选出 2023年的相关记录,需要在此基础上筛选出 7月份的数据。
【解析二】
本题考查信息系统搭建与利用 Pandas进行数据统计处理。
(1)该小题考查传感与控制技术。智能终端可以控制传感器(输入设备)去获取外界信息,将数据传输到
服务器。智能终端可以获取服务器的指令,去控制执行器(输出设备)作用于外界环境。因此传感器和执
行器可以连接在同一智能终端上也可以连接不同智能终端,但不是必须连接在不同智能终端。
(2)该小题考查信息系统的故障分析。由于水位传感器和土壤水分传感器连在同一智能终端且服务器能正
常获取土壤含水量数据,所以说明数据从智能终端到服务器的传输过程没有问题,问题可能出在了水位传
感器本身或者是水位传感器和智能终端的连接上,所以选项 A和 B是可能的,选项 C不可能。
(3)该小题考查信息系统软件设计。A选项每个传感器获取数据都有对应的智能终端程序语句,所以获取
数据的时间间隔可以分别设定,不正确。B选项信息系统中的数据往往存放在数据库中,正确。C选项 Flask
Web框架非常精简,属于小型框架。Flask Web框架具有一个包含基本服务的核心,并且是一个可扩展的框
技术(选考)试题 第 11 页(共 17 页)
架,很多功能可以通过扩展来实现。它允许开发者任意挑选符合项目需求的扩展,甚至可以自行开发正确。
D选项该系统获取数据的其中一个途径是通过传感器,但是智能终端上的程序控制传感器向外界获取数据,
不正确。
(4)该小题考查信息编码和路由的相关知识。多个监测点配备多个智能终端,为使服务器能区分出数据的
监测点来源,给每个智能终端赋予不同的标识,对智能终端进行信息编码,并将该编码通过路由传送到服
务器,以区分相应的数据来源。
(5)该小题利用 Pandas函数进行数据分析。先要找出水位最高的前 100天的记录,再统计各月的分布情况。
根据题目意思及选项,加框处需实现的功能是:
第一步:对 2023年的水位数据按照水位值进行降序排序
第二步:取出前 100名
第三步:根据“月”分组并计数
由于之前筛选 2023年后的数据存放在 df中,所以第一步答案为②,后面两步依次为④①,所以答案为②④①
(6)该小题考查 DataFrame 对象数据筛选。需要筛选出属于 7月的数据,应对全部数据进行筛选(未排序
分组前),所以答案是 df.月==7 或 df["月"]==7
15.某数据序列 data中的元素均为小于 127的正整数。现在要对 data进行加密,处理过程分“变换”和“重
排”两步。
“变换”处理方法是用指定的 n组序列 R0、R1…Rn 1依次对 data进行变换。利用 Ri对 data进行
变换的过程是:在 data中查找所有与 Ri相同的子序列,将找到的每个子序列中的元素值加上 Ri的长度
值 Li,并在各子序列前插入一个标记元素(值为 127+Li),这些子序列及标记元素不再参与后续的变换。
如 data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[3,8,7],“变换”处理后的 data为
[3,129,7,3,6,130,6,11,10,129,7,3,8,7]。
对 data“重排”处理通过给定的 shuff函数实现。
请回答下列问题:
(1)若 data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[8,7],经过“变换”处理后,data
中插入的标记元素个数为 ▲ 。
(2)“重排”处理的 shuff函数如下:
def shuff(data, c): # 根据列表 c对列表 data进行重排
# 若列表 data的长度不是列表 c长度的整数倍,则用 0补足,代码略
m = len(c)
s = [0] * m
k = 0
while k < len(data):
for i in range(m):
s[i] = data[k + i]
for i in range(m):
data[k + i] = s[c[i]]
k += m
若 data为[3,129,7,3,130,6,11,10],c为[1,3,0,2],调用 shuff(data, c)后,data的最后一个元素值为
▲ 。
(3)实现加密功能的部分 Python程序如下,请在划线处填入合适的代码。
def compare(data, i, r):
# 函数功能:返回 data从索引 i位置、r从索引 0位置开始的连续相等元素的个数
# 例如 r为[7, 3, 6],data从索引 i位置开始的元素依次为 7, 6, 7, 3, …,函数返回 1
技术(选考)试题 第 12 页(共 17 页)
j = 0
while j < len(r) and i + j < len(data):
if ① :
break
else:
j += 1
return j
def trans(data, r, segs):
newsegs = []
for s in segs:
if s[0] == 0:
h = i = s[1]
m = len(r)
while i + m <= s[2] + 1:
if compare(data, i, r) == m:
if i > h:
newsegs.append([0, h, i- l]) # 为 newsegs追加一个元素
newsegs.append([m, i, i + m-1])
i += m

else:
i += 1
if h <= s[2]:
newsegs.append([0, h, s[2]])
else:
newsegs.append(s)
return newsegs
def update(data, segs):
for s in segs:
if s[0] != 0:
data.append(0)
p = len(data)-1
for i in range(len(segs)-1, -1,-1):
for j in range(segs[i][2], segs[i][1]-1,-1):

p-= 1
if segs[i][0] > 0:
data[p] = 127 + segs[i][0]
p-= 1
# 读取待加密数据存入 data,读取指定的若干组用于变换的序列存入 rs,代码略
'''
列表 segs 用于记录 data 的变换信息,segs[i]包含三个元素,segs[i][0]、segs[i][1]、segs[i][2]分别表
示 data中一个子序列的状态、起始位置和结束位置,如果 segs[i][0]为 0,则表示该子序列未经过变
技术(选考)试题 第 13 页(共 17 页)
换。
'''
segs = [[0,0,len(data)-1]]
for r in rs:
segs = trans(data,r,segs) # 根据 r更新 segs
update(data, segs) # 利用 segs完成对 data的变换操作
c = [1,3,0,2]
shuff(data, c)
# 输出加密后的 data序列,代码略
【答案】
(1)4 (1分)
(2)11 (2分)
(3) ①r[j]!=data[i+j] (2分)
②h=i (2分)
③data[p]=data[j]+segs[i][0] (2分)
【解析一】
本题主要考查索引数组和双指针,难度中等。
(1)考查基本的数据模拟能力,变换数组 r = [[5, 1], [8, 7]],在数据 data中,索引 1、5、7、9分别出现了
与 r数组中相等的子序列,因此将有 4个子串进行变换。根据题意,在每个变换的子串的开头插入一个标记
元素,即共插入 4个标记元素,答案 4。
(2)考查索引数组,利用给定的索引数组进行数组元素的重排。索引数组 c[i]的含义为“排名为 i的元素在
原数组中的索引”。例如 c[0] = 1,表示排名为 0的元素在原数组中的索引为 1。在本题中,索引数组的长度
可能小于原数组,当原数组索引超过索引数组的索引范围时采用“循环索引数组”的方式进行“分组”重排,即
对原数组分组,以索引数组的长度 m作为每一组的元素个数,不足的用 0补齐。本题所给的样例数据的长
度恰为 c数组的整数倍,因此“最后一个元素”即以 m = 4分组后的最后一组重排结果的最后一项,已知 c[3]
= 2,最后一组的元素值为[130, 6, 11, 10],索引 2处的值为 11即为答案。
(3)题中的 3个函数具体操作了“变换”的部分功能。其中 compare 函数检查函数用于检查是否存在可变换
的子串,trans函数处理变换信息,update函数用于完成子串的变换和标记元素的插入。
compare函数中,j是 r的索引,i是 data的索引。该函数用于检查 data中是否存在从索引 i开始的连续 j项
均与 r相同,返回相同项的数量。根据以上分析,data[i + j] != r[j]时,查询结束,即第①题答案。
trans函数的 3个参数:data表示原始数据,r是当前变换数组,segs记录了当前 data的变换信息。对于其中
一条变换信息 s,s[0] == 0即信息所描述的子串未经标记,可以参与变换。在该子串中若存在 compare(data,
i, r) == m即找到了需要进行变换的子串 data[i: i + m]。如下图所示:
若 i > h,则需要新增 data[h: i]的未标记子序列和 data[i: i + m]的标记子序列(标记值恰为 m)。
于此同时,该子序列中 data[h: i + m]均为已处理状态,在 i += m后更新 h = i的作用是更新该子序列的头部
标记,即第②题答案。
update函数根据变换信息处理 data数据中的具体更新。函数中需要实现元素插入的功能,因此需要逆序遍
历 data,由于 trans函数利用队列思想保证了变换信息的有序性,因此逆序遍历变换信息的同时可以逆序遍
历 data,确保不会因为数据的插入而影响原始数据。本题中,索引 p用于逆向遍历插入后 data,索引 j从变
技术(选考)试题 第 14 页(共 17 页)
换信息的“结束索引”逆向遍历到“开始索引”,由于变换信息中存储的是 data的原始数据信息,因此 data[p] =
data[j] + segs[i][0]即为对 data[j]的变换值的更新并移动到最终的位置上。
【解析二】
(1)样例中有两组序列:[5,1]、[8,7],分别对其进行处理。按其规则先查找再处理,具体过程如下表所示:
由于每一次查找成功后处理时,都将在列表 data中添加一个标记元素,本样例有 4次处理,因此插入
的标记元素个数为 4。
(2)代码解析:
该函数功能是对列表 data中元素按组别重排。参照列表 c提供的序列[1,3,0,2]的规则,重新调整 data中元素
次序,具体处理过程如下:
由上表可知,data中最后一个元素值为 11。
(3)①代码解析:
该函数功能是对两个列表的元素按次序进行匹配。从列表 data的 i位置与列表 r的 0位置开始匹配,函
数返回匹配成功的元素个数。
此处需填写执行 break的前提条件,这里是匹配失败。因此答案为:r[j]!=data[i+j]
②代码解析:
技术(选考)试题 第 15 页(共 17 页)
匹配成功后的操作,变量 i指向下一个待匹配的开始位置。
由于位置 i前面的数据段信息已全部处理完毕,因此下一段的起始位置 h需进行更新。
③代码解析:
技术(选考)试题 第 16 页(共 17 页)
访问第 i个段信息 segs[i](段信息内容为:segs[i][0]、segs[i][1]、segs[i][2]),处理与之对应的 data元
素。
若 segs[i][0]值为 0,则 data[p]中应存入 p位置的元素保持不变:data[p]=data[j]+0,即:data[p]=data[j]+segs[i][0]
若 segs[i][0]值不为 0,则 data[p]中应存入 p 位置的元素,其值需要累加序列元素的长度:
data[p]=data[j]+segs[i][0]
结合(1)、(2),因此答案为:data[p]=data[j]+segs[i][0]
技术(选考)试题 第 17 页(共 17 页)绝密★考试结束前
2024年6月浙江省普通高校招生选考科目考试
技 术
姓名: 准考证号:
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合 题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至4题:
某校基于线下校史馆创建在线数字校史馆,将学校发展历史及校友的代表性成果、活动影像等资料,以文本、图像、视频等格式存储。校友可以用手机、电脑等终端登录数字校史馆查阅资料,也可以向在线问答机器人咨询学校相关信息。
1.关于该数字校史馆中数据的叙述,正确的是
A.数字校史馆中的数据有助于学校传承与发展,体现了数据的价值性
B.不同格式的数据必须保存在不同的存储设备中
C.学校的发展历史只能以同一种数据表现形式呈现
D.文本、图像、视频都是结构化数据
2.下列有关信息安全与保护的做法,合理的是
A.定期备份数字校史馆数据 B.未经校友同意发布其资料
C.随意剪辑校友的活动影像 D.以明文方式保存校友的注册信息
3.为使问答机器人更准确地回答校史相关问题,下列方法可行的是
A.增加校友的最新作品 B.提高咨询所用终端的性能
C.完善语料库中的校史资料 D.提升数字校史馆的访问速度
4.下列对校史馆资料的处理方式,不合理的是
A.为了方便预览,为高清图像生成缩略图
B.为了节省存储空间,将JPEG格式的图像转换成BMP格式
C.为了方便传输,对高清视频进行压缩
D.为了便于检索,将纸质文稿扫描成图像后识别出文字一并保存
阅读下列材料,回答第5至6题:
某小区智能回收箱可通过刷卡、扫码等方式开启箱门,箱内的传感器能识别可回收物的种类,当容量达到上限时,系统通知清运人员及时处理。居民可通过手机APP查看本人投递记录。
5.关于该系统功能与软件设计的描述,正确的是
A.系统数据处理都可由传感器完成 B.在设计系统时需考虑数字鸿沟问题
C.系统中的软件不包括手机APP D.系统的软件升级是指增加新功能
6.下列技术中,不能用于智能回收箱接入互联网的是
A.5G B.Wi-Fi C.光纤通信 D.RFID
7.某同学根据第7题图所示流程图编写的Python程序段如下:
n = int(input())
if n <= 20:
z = 0
if n <= 50:
z = 1
else:
z = 2
用下列输入数据测试程序段与流程图,两者得到的z值不同的是
A.60 B.50 C.30 D.10
8.某完全二叉树包含5个节点,其根节点在后序遍历序列、中序遍历序列中的位置序号分别记为x,y,则x-y的值为
A.0 B.1 C.2 D.3
9.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“生”“旦”“净”“末”“丑”,则所有可能的出栈序列中,以“旦”结尾的序列个数为
A.3 B.4 C.5 D.6
10.某二分查找算法的Python程序段如下:
i,j = 0,len(d)-1
while i <= j:
m = (i+j)//2 # 语句①
if key == d[m]:
break
elif key < d[m]:
j = m-1
else:
i = m+1
当d为[6,12,15,18,22,25,28,35,46]时,运行该程序段查找key,语句①的执行次数小于等于2;若将d修改为[6,12,15,18,22,25,28,35,46,58],重新运行该程序段,查找同一key值,则语句①的执行次数不可能为
A.1 B.2 C.3 D.4
11.有如下Python程序段:
for i in range(0,len(a)-1,2):
if i > 0 and a[i] < a[i-1]:
a[i],a[i-1] = a[i-1],a[i]
if a[i] < a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
列表a有6个元素,运行该程序段后,a可能的值是
A.[2,9,8,6,9,3] B.[9,9,8,6,3,2] C.[9,3,6,2,8,9] D.[6,3,9,2,9,8]
12.使用列表d模拟链表结构(节点数n>0),如第12题图a所示,每个节点包含数据区域和指针区域,h为头指
针。现要按链表顺序将这n个节点中的数据依次存放到d[0][0]、d[1][0]…d[n-1][0]中,最终保持节点链
接关系不变,结果如第12题图b所示。实现上述功能的Python程序段如下,方框中应填入的正确代码为
p,i = h,0
while p! =-1:
tp = d[p][1]
if p == i:
i+= 1
elif p>i:
d[i][0],d[p][0] = d[p][0],d[i][0]
i+= 1
p = tp
# 调整头指针h及指针区域,保持节点链接关系不变,代码略
A. d[i][1] = d[p][1] B. d[p][1] = d[i][1] C. d[i][1] = p D. d[p][1] = i
d[p][1] = i d[i][1] = p d[p][1] = d[i][1] d[i][1] = d[p][1]
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13.某监控设备可定时采集红绿信号灯状态数据,数据格式记为[a,b],其中a、b分别为红灯和绿灯的状态值,
0表示灯灭,1表示灯亮,如[0,1]表示红灯灭、绿灯亮。
现要编写程序,每隔1秒采集并检测信号灯是否存在如下异常状态:第一类,红绿灯同亮或同灭;
第二类,红灯或绿灯超时,即保持同一状态时长大于上限值(如300秒)。检测到异常状态就发送相应
信息。请回答下列问题:
(1)若检测到“红绿灯同亮”异常,则采集到的数据是 ▲ (单选,填字母)。
A.[0,0] B.[0,1] C.[1,0] D.[1,1]
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
tlimit = 300 # 设置信号灯保持同一状态时长上限值
pre = [-1,-1]
t = [0,0] # t[0]、t[1]分别记录红灯、绿灯保持同一状态的时长
while True:
# 接收一次采集到的状态数据,存入d,代码略
if ① :
if d[0] == 1:
# 发送“红绿灯同亮”信息,代码略
else:
# 发送“红绿灯同灭”信息,代码略
for i in ② :
if d[i] == pre[i]:
t[i]+= 1
if ③ :
if i == 0:
# 发送“红灯超时”信息,代码略
else:
# 发送“绿灯超时”信息,代码略
else:
t[i] = 1
pre = d
# 延时1秒,代码略
14.某研究小组拟采集某水域水位及周边土壤含水量等数据,进行地质灾害监测。该小组在实验室搭建了一
个模拟系统,该系统的智能终端获取传感器数据,并通过无线通信方式将数据传输到Web服务器,服务
器根据数据判断出异常情况后,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)该模拟系统中的传感器和执行器 ▲ (单选,填字母:A.必须连接在不同智能终端 / B.可以连接
在同一智能终端)。
(2)水位传感器和土壤水分传感器连接在同一智能终端,服务器能正常获取土壤含水量数据,但不能正
常获取水位数据,以下故障与该现象无关的是 ▲ (单选,填字母)。
A.水位传感器故障
B.水位传感器与智能终端连接故障
C.智能终端无法与服务器通信
(3)下列关于该系统设计的说法,正确的有 ▲ (多选,填字母)。(注:全部选对的得 2 分,选
对但不全的得 1 分,不选或有错的得 0 分)
A.水位、土壤含水量等数据的采集时间间隔不能相同
B.水位、土壤含水量等数据可用数据库存储
C.可以基于Flask Web 框架编写服务器程序
D.系统获取数据的程序可以只部署在服务器端
(4)现场实地测试时需要设置多个监测点,每个监测点配备一个智能终端。为使服务器能区分出数据的
监测点来源,从智能终端的角度写出一种可行的解决方法。
(5)研究小组整理出近几年的水位(日平均)数据,部分数据如第14题图a所示(图中水位单位为“米”)。
现要统计2023年水位最高的前100天在各月的分布情况,并绘制如第14题图b所示的柱形图。
、 第14题图a 第14题图b
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df=df[df["年"] == 2023] # 筛选出2023年的数据
plt.bar(df1["月"],df1["水位"]) # 绘制柱形图
#设置绘图参数,显示如图第14题图b所示的柱形图,代码略
方框中应填入的语句依次为 ▲ (选3项,填数字序列,少选、多选、错选或次序错均不得分)。①df1 = df1.groupby("月",as_index = False).count() # 分组计数
②df1 = df.sort_values("水位",ascending = False) # 降序排序
③df1 = df1.sort_values("水位",ascending = False) # 降序排序
④df1 = df1.head(100) # 获取前100条数据
(6)观察第14题图b可知,2023年水位最高的前100天分布在7月的天数最多。现要筛选出2023年7
月的水位数据以便进一步分析,可在第(5)小题处理结果的基础上,再运行如下语句,请在划线
处填入合适的代码。
df2 = df[ ▲ ]
15.某数据序列data中的元素均为小于127的正整数。现在要对data进行加密,处理过程分“变换”和“重
排”两步。
“变换”处理方法是用指定的n组序列 、…依次对data进行变换。利用Ri对data进行
变换的过程是:在data中查找所有与Ri相同的子序列,将找到的每个子序列中的元素值加上Ri的长度
值Li,并在各子序列前插入一个标记元素(值为127+Li),这些子序列及标记元素不再参与后续的变换。
如data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[3,8,7],“变换”处理后的data为
[3,129,7,3,6,130,6,11,10,129,7,3,8,7]。
对data“重排”处理通过给定的shuff函数实现。
请回答下列问题:
(1)若data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[8,7],经过“变换”处理后,data
中插入的标记元素个数为 ▲ 。
(2)“重排”处理的shuff函数如下:
def shuff(data, c): # 根据列表c对列表data进行重排
# 若列表data的长度不是列表c长度的整数倍,则用0补足,代码略
m = len(c)
s = [0] * m
k = 0
while k < len(data):
for i in range(m):
s[i] = data[k + i]
for i in range(m):
data[k + i] = s[c[i]]
k += m
若data为[3,129,7,3,130,6,11,10],c为[1,3,0,2],调用shuff(data, c)后,data的最后一个元素值为
▲ 。
(3)实现加密功能的部分Python程序如下,请在划线处填入合适的代码。
def compare(data, i, r):
# 函数功能:返回data从索引i位置、r从索引0位置开始的连续相等元素的个数
# 例如r为[7, 3, 6],data从索引i位置开始的元素依次为7, 6, 7, 3, …,函数返回1
j = 0
while j < len(r) and i + j < len(data):
if ① :
break
else:
j += 1
return j
def trans(data, r, segs):
newsegs = []
for s in segs:
if s[0] == 0:
h = i = s[1]
m = len(r)
while i + m <= s[2] + 1:
if compare(data, i, r) == m:
if i > h:
newsegs.append([0, h, i-l]) # 为newsegs追加一个元素
newsegs.append([m, i, i + m-1])
i += m

else:
i += 1
if h <= s[2]:
newsegs.append([0, h, s[2]])
else:
newsegs.append(s)
return newsegs
def update(data, segs):
for s in segs:
if s[0] != 0:
data.append(0)
p = len(data)-1
for i in range(len(segs)-1, -1,-1):
for j in range(segs[i][2], segs[i][1]-1,-1):

p-= 1
if segs[i][0] > 0:
data[p] = 127 + segs[i][0]
p-= 1
# 读取待加密数据存入data,读取指定的若干组用于变换的序列存入rs,代码略
'''
列表segs用于记录data的变换信息,segs[i]包含三个元素,segs[i][0]、segs[i][1]、segs[i][2]分别表示data中一个子序列的状态、起始位置和结束位置,如果segs[i][0]为0,则表示该子序列未经过变换。
'''
segs = [[0,0,len(data)-1]]
for r in rs:
segs = trans(data,r,segs) # 根据r更新segs
update(data, segs) # 利用segs完成对data的变换操作
c = [1,3,0,2]
shuff(data, c)
# 输出加密后的data序列,代码略绝密★考试结束前
2024年 6月浙江省普通高校招生选考科目考试
技 术
姓名: 准考证号:
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和
答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试
题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先
使用 2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个备选项中只有一个是符合
题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至4题:
某校基于线下校史馆创建在线数字校史馆,将学校发展历史及校友的代表性成果、活动影像等资料,
以文本、图像、视频等格式存储。校友可以用手机、电脑等终端登录数字校史馆查阅资料,也可以向在线
问答机器人咨询学校相关信息。
1.关于该数字校史馆中数据的叙述,正确的是
A.数字校史馆中的数据有助于学校传承与发展,体现了数据的价值性
B.不同格式的数据必须保存在不同的存储设备中
C.学校的发展历史只能以同一种数据表现形式呈现
D.文本、图像、视频都是结构化数据
2.下列有关信息安全与保护的做法,合理的是
A.定期备份数字校史馆数据 B.未经校友同意发布其资料
C.随意剪辑校友的活动影像 D.以明文方式保存校友的注册信息
3.为使问答机器人更准确地回答校史相关问题,下列方法可行的是
A.增加校友的最新作品 B.提高咨询所用终端的性能
C.完善语料库中的校史资料 D.提升数字校史馆的访问速度
4.下列对校史馆资料的处理方式,不.合.理.的是
A.为了方便预览,为高清图像生成缩略图
B.为了节省存储空间,将JPEG格式的图像转换成BMP格式
C.为了方便传输,对高清视频进行压缩
D.为了便于检索,将纸质文稿扫描成图像后识别出文字一并保存
阅读下列材料,回答第5至6题:
某小区智能回收箱可通过刷卡、扫码等方式开启箱门,箱内的传感器能识别可回收物的种类,当容量
达到上限时,系统通知清运人员及时处理。居民可通过手机APP查看本人投递记录。
技术(选考)试题 第 1 页(共 6 页)
5.关于该系统功能与软件设计的描述,正确的是
A.系统数据处理都可由传感器完成 B.在设计系统时需考虑数字鸿沟问题
C.系统中的软件不包括手机APP D.系统的软件升级是指增加新功能
6.下列技术中,不.能.用于智能回收箱接入互联网的是
A.5G B.Wi-Fi C.光纤通信 D.RFID
7.某同学根据第7题图所示流程图编写的Python程序段如下:
n = int(input())
if n <= 20:
z = 0
if n <= 50:
z = 1
else: 第 7题图
z = 2
用下列输入数据测试程序段与流程图,两者得到的z值不.同.的是
A.60 B.50 C.30 D.10
8.某完全二叉树包含5个节点,其根节点在后序遍历序列、中序遍历序列中的位置序号分别记为x,y,则x-y
的值为
A.0 B.1 C.2 D.3
9.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“生”“旦”“净”“末”“丑”,则
所有可能的出栈序列中,以“旦”结尾的序列个数为
A.3 B.4 C.5 D.6
10.某二分查找算法的Python程序段如下:
i,j = 0,len(d)-1
while i <= j:
m = (i+ j)//2 # 语句①
if key == d[m]:
break
elif key < d[m]:
j = m-1
else:
i = m+1
当d为[6,12,15,18,22,25,28,35,46]时,运行该程序段查找key,语句①的执行次数小于等于2;若将d修改
为[6,12,15,18,22,25,28,35,46,58],重新运行该程序段,查找同一key值,则语句①的执行次数不.可.能.为
A.1 B.2 C.3 D.4
11.有如下Python程序段:
for i in range(0,len(a)-1,2):
if i > 0 and a[i] < a[i-1]:
a[i],a[i-1] = a[i-1],a[i]
if a[i] < a[i+1]:
a[i],a[i+1] = a[i+1],a[i]
列表a有6个元素,运行该程序段后,a可能的值是
A.[2,9,8,6,9,3] B.[9,9,8,6,3,2] C.[9,3,6,2,8,9] D.[6,3,9,2,9,8]
技术(选考)试题 第 2 页(共 6 页)
12.使用列表d模拟链表结构(节点数n>0),如第12题图a所示,每个节点包含数据区域和指针区域,h为头指
针。现要按链表顺序将这n个节点中的数据依次存放到d[0][0]、d[1][0]…d[n-1][0]中,最终保持节点链
接关系不变,结果如第12题图b所示。实现上述功能的Python程序段如下,方框中应填入的正确代码为
p,i = h,0
while p! =-1:
tp = d[p][1]
if p == i:
i+= 1
elif p>i:
d[i][0],d[p][0] = d[p][0],d[i][0]
i = 1 第 12题图 a 第 12题图 b+
p = tp
# 调整头指针h及指针区域,保持节点链接关系不变,代码略
A. d[i][1] = d[p][1] B. d[p][1] = d[i][1] C. d[i][1] = p D. d[p][1] = i
d[p][1] = i d[i][1] = p d[p][1] = d[i][1] d[i][1] = d[p][1]
二、非选择题(本大题共 3小题,其中第 13小题 7分,第 14小题 10分,第 15小题 9分,共 26分)
13.某监控设备可定时采集红绿信号灯状态数据,数据格式记为[a,b],其中 a、b分别为红灯和绿灯的状态值,
0表示灯灭,1表示灯亮,如[0,1]表示红灯灭、绿灯亮。
现要编写程序,每隔 1秒采集并检测信号灯是否存在如下异常状态:第一类,红绿灯同亮或同灭;
第二类,红灯或绿灯超时,即保持同一状态时长大于上限值(如 300秒)。检测到异常状态就发送相应
信息。请回答下列问题:
(1)若检测到“红绿灯同亮”异常,则采集到的数据是 ▲ (单选,填字母)。
A.[0,0] B.[0,1] C.[1,0] D.[1,1]
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
tlimit = 300 # 设置信号灯保持同一状态时长上限值
pre = [-1,-1]
t = [0,0] # t[0]、 t[1]分别记录红灯、绿灯保持同一状态的时长
while True:
# 接收一次采集到的状态数据,存入 d,代码略
if ① :
if d[0] == 1:
# 发送“红绿灯同亮”信息,代码略
else:
# 发送“红绿灯同灭”信息,代码略
for i in ② :
if d[i] == pre[i]:
t[i]+= 1
if ③ :
if i == 0:
# 发送“红灯超时”信息,代码略
else:
# 发送“绿灯超时”信息,代码略
else:
t[i] = 1
pre = d
# 延时 1秒,代码略
技术(选考)试题 第 3 页(共 6 页)
14.某研究小组拟采集某水域水位及周边土壤含水量等数据,进行地质灾害监测。该小组在实验室搭建了一
个模拟系统,该系统的智能终端获取传感器数据,并通过无线通信方式将数据传输到Web 服务器,服务
器根据数据判断出异常情况后,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)该模拟系统中的传感器和执行器 ▲ (单选,填字母:A.必须连接在不同智能终端 / B.可以连接
在同一智能终端)。
(2)水位传感器和土壤水分传感器连接在同一智能终端,服务器能正常获取土壤含水量数据,但不能正
常获取水位数据,以下故障与该现象无.关.的是 ▲ (单选,填字母)。
A.水位传感器故障
B.水位传感器与智能终端连接故障
C.智能终端无法与服务器通信
(3)下列关于该系统设计的说法,正确的有 ▲ (多选,填字母)。(注:全部选对的得 2 分,选
对但不全的得 1 分,不选或有错的得 0 分)
A.水位、土壤含水量等数据的采集时间间隔不能相同
B.水位、土壤含水量等数据可用数据库存储
C.可以基于 Flask Web 框架编写服务器程序
D.系统获取数据的程序可以只部署在服务器端
(4)现场实地测试时需要设置多个监测点,每个监测点配备一个智能终端。为使服务器能区分出数据的
监测点来源,从智能终端的角度写出一种可行的解决方法。
(5)研究小组整理出近几年的水位(日平均)数据,部分数据如第 14题图 a所示(图中水位单位为“米”)。
现要统计 2023年水位最高的前 100天在各月的分布情况,并绘制如第 14题图 b所示的柱形图。
、 第 14题图 a 第 14题图 b
实现上述功能的部分 Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df=df[df["年"] == 2023] # 筛选出 2023年的数据
plt.bar(df1["月"],df1["水位"]) # 绘制柱形图
#设置绘图参数,显示如图第 14题图 b所示的柱形图,代码略
方框中应填入的语句依次为 ▲ (选 3项,填数字序列,少选、多选、错选或次序错均不得分)。
①df1 = df1.groupby("月",as_index = False).count() # 分组计数
②df1 = df.sort_values("水位",ascending = False) # 降序排序
③df1 = df1.sort_values("水位",ascending = False) # 降序排序
④df1 = df1.head(100) # 获取前 100条数据
(6)观察第 14题图 b可知,2023年水位最高的前 100天分布在 7月的天数最多。现要筛选出 2023年 7
月的水位数据以便进一步分析,可在第(5)小题处理结果的基础上,再运行如下语句,请在划线
处填入合适的代码。
df2 = df[ ▲ ]
技术(选考)试题 第 4 页(共 6 页)
15.某数据序列 data中的元素均为小于 127的正整数。现在要对 data进行加密,处理过程分“变换”和“重
排”两步。
“变换”处理方法是用指定的 n组序列 R0、R1…Rn 1依次对 data进行变换。利用 Ri对 data进行
变换的过程是:在 data中查找所有与 Ri相同的子序列,将找到的每个子序列中的元素值加上 Ri的长度
值 Li,并在各子序列前插入一个标记元素(值为 127+Li),这些子序列及标记元素不再参与后续的变换。
如 data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[3,8,7],“变换”处理后的 data为
[3,129,7,3,6,130,6,11,10,129,7,3,8,7]。
对 data“重排”处理通过给定的 shuff函数实现。
请回答下列问题:
(1)若 data为[3,5,1,6,3,8,7,5,1,8,7],指定的两组序列为[5,1]、[8,7],经过“变换”处理后,data
中插入的标记元素个数为 ▲ 。
(2)“重排”处理的 shuff函数如下:
def shuff(data, c): # 根据列表 c对列表 data进行重排
# 若列表 data的长度不是列表 c长度的整数倍,则用 0补足,代码略
m = len(c)
s = [0] * m
k = 0
while k < len(data):
for i in range(m):
s[i] = data[k + i]
for i in range(m):
data[k + i] = s[c[i]]
k += m
若 data为[3,129,7,3,130,6,11,10],c为[1,3,0,2],调用 shuff(data, c)后,data的最后一个元素值为
▲ 。
(3)实现加密功能的部分 Python程序如下,请在划线处填入合适的代码。
def compare(data, i, r):
# 函数功能:返回 data从索引 i位置、r从索引 0位置开始的连续相等元素的个数
# 例如 r为[7, 3, 6],data从索引 i位置开始的元素依次为 7, 6, 7, 3, …,函数返回 1
j = 0
while j < len(r) and i + j < len(data):
if ① :
break
else:
j += 1
return j
def trans(data, r, segs):
newsegs = []
for s in segs:
if s[0] == 0:
h = i = s[1]
m = len(r)
while i + m <= s[2] + 1:
if compare(data, i, r) == m:
技术(选考)试题 第 5 页(共 6 页)
if i > h:
newsegs.append([0, h, i- l]) # 为 newsegs追加一个元素
newsegs.append([m, i, i + m-1])
i += m

else:
i += 1
if h <= s[2]:
newsegs.append([0, h, s[2]])
else:
newsegs.append(s)
return newsegs
def update(data, segs):
for s in segs:
if s[0] != 0:
data.append(0)
p = len(data)-1
for i in range(len(segs)-1, -1,-1):
for j in range(segs[i][2], segs[i][1]-1,-1):

p-= 1
if segs[i][0] > 0:
data[p] = 127 + segs[i][0]
p-= 1
# 读取待加密数据存入 data,读取指定的若干组用于变换的序列存入 rs,代码略
'''
列表 segs 用于记录 data 的变换信息,segs[i]包含三个元素,segs[i][0]、segs[i][1]、segs[i][2]分别表
示 data中一个子序列的状态、起始位置和结束位置,如果 segs[i][0]为 0,则表示该子序列未经过变
换。
'''
segs = [[0,0,len(data)-1]]
for r in rs:
segs = trans(data,r,segs) # 根据 r更新 segs
update(data, segs) # 利用 segs完成对 data的变换操作
c = [1,3,0,2]
shuff(data, c)
# 输出加密后的 data序列,代码略
技术(选考)试题 第 6 页(共 6 页)

展开更多......

收起↑

资源列表