内容正文:
2026年3月杭州二中高三开学适应性考试
技术
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某社区建设了一套智慧助老信息系统。该系统通过安装在老人活动室等场所的摄像头实时监测老人,并将数据上传至社区服务器。当监测到异常(如长时间无移动)时,系统自动向家属及社区医生发送报警短信。老人可通过手机APP查阅当月的健康周报,也可通过语音指令调节居室灯光或申领助老餐食。阅读材料,回答下面小题:
1. 关于该系统中的数据和信息,下列说法正确的是( )
A. 报警短信传输过程中不需要依附于载体
B. 健康周报可用于了解健康状况,体现了信息的价值性
C. 摄像头采集老人移动数据不具有时效性
D. 拍摄老人活动照片并存储不需要经过采样过程
2. 下列关于该信息系统组成的说法,正确的是( )
A. 老人家属不属于该信息系统的用户 B. 社区服务器属于该系统中的硬件
C. 老人手机上的APP属于系统软件 D. 老人健康档案是该系统的软件
3. 下列关于该系统功能及支撑技术的叙述,不正确的是( )
A. 根据数据判断老人状态体现了数据处理与加工功能
B. 语音指令识别老人诉求应用了人工智能技术
C. 通过手机APP查阅健康周报体现了数据采集功能
D. 家属远程查看老人动态体现了网络跨越时空的优势
4. 该系统支持老人通过语音指令调节灯光或申领餐食,这种交互方式的设计主要有助于( )
A. 帮助老年人跨越数字鸿沟 B. 减少服务器的数据存储压力
C. 提高系统运行效率 D. 消除系统对外部环境的依赖
5. 为提升该系统的安全性,下列做法不恰当的是( )
A. 数据加密存储 B. 定期异地备份 C. 部署防火墙 D. 明文传输密码
【答案】1. B 2. B 3. C 4. A 5. D
【解析】
【详解】1.本题考查信息与数据的基本特征。信息具有载体依附性,任何信息传输都需要依附载体,第一个选项错误;健康周报可以帮助人们掌握老人的健康情况,对使用者具备实用价值,体现了信息的价值性,第二个选项正确;摄像头采集的老人移动数据对应特定时段的老人状态,具备时效性,第三个选项错误;将拍摄的模拟图像转为数字存储,需要经过采样过程,第四个选项错误。故答案为:B。
2.本题考查信息系统的组成。系统监测到异常时会向家属发送报警信息,家属是系统信息的使用者,属于该信息系统的用户,第一个选项错误;社区服务器是物理硬件设备,属于信息系统的硬件部分,第二个选项正确;老人手机上的APP是实现智慧助老功能的应用软件,不属于系统软件,第三个选项错误;老人健康档案是系统存储的数据资源,不属于软件,第四个选项错误。故答案为:B。
3.本题考查信息系统的功能与信息技术应用。基于采集的数据判断老人状态,属于数据处理与加工功能,对应选项叙述正确;语音指令识别是人工智能语音识别技术的典型应用,对应选项叙述正确;通过手机APP查阅健康周报是对已存储数据的检索输出,不属于数据采集功能,对应选项叙述错误;网络可以打破信息交互的时空限制,家属远程查看老人动态体现了网络跨越时空的优势,对应选项叙述正确。本题要求选不正确的选项,故答案为:C。
4.本题考查人机交互设计的意义。多数老年人不擅长复杂的文字、触屏操作,语音交互降低了老年人使用系统的门槛,设计该交互方式主要有助于帮助老年人跨越数字鸿沟,第一个选项正确;语音交互需要额外处理存储语音数据,不会减少服务器存储压力,第二个选项错误;语音识别需要额外的运算处理,不会直接提高系统运行效率,第三个选项错误;语音识别效果受环境噪音等因素影响,无法消除系统对外部环境的依赖,第四个选项错误。故答案为:A。
5.本题考查信息系统的安全防护。数据加密存储可以避免敏感数据泄露,提升安全性,做法恰当;定期异地备份可以防止数据意外丢失,提升安全性,做法恰当;部署防火墙可以阻挡外部非法访问,提升系统安全性,做法恰当;明文传输密码容易被不法分子截获窃取,引发信息安全问题,做法不恰当。本题要求选不恰当的做法,故答案为:D。
6. 某图像文件参数为1024×768像素、24位真彩色,将其压缩为JPEG格式后大小为128KB,则压缩比约为( )
A. 6:1 B. 12:1 C. 18:1 D. 24:1
【答案】C
【解析】
【详解】本题考查图像存储容量与压缩比的计算。首先计算未压缩图像的存储容量,公式为:未压缩容量(KB) = 水平像素 × 垂直像素 × 颜色深度 ÷ 8 ÷ 1024,代入参数计算得:1024×768×24/(8×1024)=2304KB;压缩比为未压缩容量与压缩后容量的比值,即 2304:128=18:1,对应第三个选项。故答案为:C。
7. 某算法的流程图如下图所示。若a=[3,8,5,7,9,4,6],执行这部分流程后,输出s的值是( )
A. 8 B. 10 C. 21 D. 29
【答案】B
【解析】
【详解】本题考查的是流程图识读。数组 a=[3,8,5,7,9,4,6](下标从0开始),初始值 i=0,s=0,f=1,循环条件为 𝑖 < 6 ,逐步计算:
i=0:a[0]=3
i=1:a[1]=8
i=2:a[2]=5
i=3:a[3]=7
i=4:a[4]=9
i=5:a[5]=4
此时 i=6,不满足 i<6,循环结束,输出 s=10。故选B。
8. 某完全二叉树包含6个节点,若按从上到下、从左到右的逐层遍历顺序对节点进行1~6编号(根节点为1),则下列说法不正确的是( )
A. 该树共有3层
B. 编号为2的节点其左子节点编号为4
C. 该树共有3个叶子节点
D. 该树中度为2的节点有3个
【答案】D
【解析】
【详解】本题考查完全二叉树的性质与结构。对于6个节点按层编号的完全二叉树验证各选项:总节点数为6,第一层1个节点、第二层2个节点、第三层3个节点,总和为6,因此该树共3层,第一个选项说法正确;完全二叉树中编号为i的节点,左子节点编号为2i,因此编号为2的节点左子节点编号为2×2=4,第二个选项说法正确;该完全二叉树的叶子节点为编号4、5、6,共3个,第三个选项说法正确;根据二叉树性质:叶子节点数n_0 = 度为2的节点数n_2 + 1,此处n_0=3,计算得n_2=2,即度为2的节点共2个,不是3个,第四个选项说法错误。故答案为:D。
9. 栈S初始为空,元素a,b,c,d,e依次入栈。已知整个过程中出栈操作恰好发生3次,且不允许连续两次出栈。最终出栈元素的顺序可能是( )
A. b,a,d B. c,b,a C. a,b,c D. d,c,e
【答案】C
【解析】
【详解】本题考查栈的操作规则与特性。栈遵循后进先出(LIFO)的操作规则,本题约束条件为:元素a,b,c,d,e按顺序依次入栈,共进行3次出栈操作,且不允许连续出栈,即两次出栈之间至少存在一次入栈操作。选项A(b,a,d):要得到出栈顺序b,a,需要a入栈、b入栈后,出b再连续出a,违反不允许连续出栈的要求,排除;选项B(c,b,a):要得到出栈顺序c,b,需要a入栈、b入栈、c入栈后,出c再连续出b,违反规则,排除;选项C(a,b,c):合法操作流程为:a入栈→出a(第1次出栈)→b入栈→出b(第2次出栈,两次出栈间存在入栈操作,不连续)→c入栈→出c(第3次出栈),完全符合所有约束和栈的操作规则,成立;选项D(d,c,e):若要得到出栈顺序d,c,出d后要么连续出c违反规则,若先入e,则此时栈顶为e,无法先出c,不符合要求,排除。故答案为:C。
10. 有如下Python程序段:
d = [[2,4],[7,3],[4,-1],[1,2],[8,1]]
head = 0
p = head
while p != -1 and d[p][1] != -1:
q = d[p][1]
if d[p][0] % 2 == d[q][0] % 2:
d[p][1] = d[q][1]
else:
p = d[p][1]
执行该程序段后,从head开始按链表顺序访问d,得到的数据序列是( )
A. 2,8,7,1,4 B. 2,7,4 C. 2,8,4 D. 8,1,4
【答案】B
【解析】
【详解】本题考查Python循环分支的执行逻辑、静态链表的操作。首先整理原静态链表d的信息,索引0~4对应内容分别为[2,4]、[7,3]、[4,-1]、[1,2]、[8,1],初始p=head=0,逐步执行程序:
第一次循环:p=0满足循环条件,q=4,d[0][0]%2=0,d[4][0]%2=0,二者奇偶性相同,修改d[0][1]=d[4][1]=1,p保持不变;
第二次循环:p=0满足循环条件,q=1,d[0][0]%2=0,d[1][0]%2=1,二者奇偶性不同,p更新为1;
第三次循环:p=1满足循环条件,q=3,d[1][0]%2=1,d[3][0]%2=1,二者奇偶性相同,修改d[1][1]=d[3][1]=2,p保持不变;
第四次循环:p=1满足循环条件,q=2,d[1][0]%2=1,d[2][0]%2=0,二者奇偶性不同,p更新为2;
p=2时,d[p][1]=-1,不满足循环条件,退出循环。从head开始遍历链表,得到序列2,7,4,对应第二个选项。故答案为:B。
11. 有如下Python程序段:
a = [18,30,21,28,25,23]
target = 24
for i in range(len(a) - 1):
k = i
for j in range(i + 1len(a)):
if abs(a[j] - target) < abs(a[k] - target):
k = j
if k != i:
a[i],a[k] = a[k],a[i]
执行该程序段后,列表a为( )
A. [25,23,21,28,18,30] B. [25,23,30,28,18,21]
C. [25,21,30,28,18,23] D. [23,25,21,28,18,30]
【答案】A
【解析】
【详解】本题考查Python选择排序算法的程序执行分析。该程序实现按列表元素与target=24的差值的绝对值升序的选择排序,逐步推导执行过程:① 初始a = [18,30,21,28,25,23],i的取值范围为0 ~ 4。② i=0时,在i到列表末尾中找到差值绝对值最小的元素,对应索引4的元素25,交换索引0和4,此时a = [25, 30, 21, 28, 18, 23]。③ i=1时,在i到列表末尾中找到差值绝对值最小的元素,对应索引5的元素23,交换索引1和5,此时a = [25, 23, 21, 28, 18, 30]。④ i=2、i=3、i=4时,剩余元素已经满足差值绝对值升序,不需要交换,最终结果和第一个选项一致。故答案为:A。
12. 有如下Python程序段:
a = [1,1,0,1,0,0,1,1,1,0,1]
k = 2
ans = 0
num = 0
i = 0
for j in range(len(a)):
if a[j] == 0:
num += 1
while num > k:
if a[i] == 0:
num -= 1
i += 1
if j - i + 1 > ans:
ans = j - i + 1
print(ans)
执行程序后,输出的结果为( )
A. 3 B. 4 C. 5 D. 6
【答案】D
【解析】
【详解】本题考查Python程序执行过程分析,滑动窗口算法的理解与应用。该程序通过滑动窗口思想求解数组a中最多包含k个0的最长连续子数组的长度,其中k=2。程序中i为滑动窗口左边界,j为窗口右边界,num统计当前窗口内0的数量,ans记录符合要求的最长子数组长度。当j遍历到下标8时,左边界i为3,窗口内有2个0符合要求,窗口长度为8-3+1=6,是所有符合条件的窗口中的最大长度,最终ans的值为6,对应题目第四个选项。故答案为:D。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 筷子颜色配对问题。现有不同颜色的筷子若干(筷子的颜色用数字编号l~10表示),颜色相同的筷子才能组成一双,其中有几根筷子是落单的,现要求找出落单筷子的颜色以及能够配对的筷子数量。编写程序解决该问题,输入筷子的颜色编号(例如:"2,5,2,3,4,3,6,3"),程序执行后,输出落单筷子的颜色编号,并显示能够配对的筷子数量。
(1)请在划线处填上合适的代码。①____、②____、③____
(2)如果输入颜色数大于10(例如s输入:2,14,2,8,14,2,8),在a数组元素确保超过颜色数量,其他代码不变的情况下运行程序结果____(选填:正确/错误)
s = "2,5,2,3,4,3,6,3"
a = [0] * 11
ch = ""
for char in s:
if char == ",":
if ch:
h = int(ch)
a[h] += 1
①
else:
ch += char
if ② :
h = int(ch)
a[h] += 1
print("落单筷子颜色编号:")
for i in range(1,len(a)):
if a[i] % 2 == 1:
print("落单筷子颜色编号为",i)
pairs = 0
for count in a:
③
print("能够配对筷子有" + str(pairs)+"双")
【答案】 ①. ch = "" ②. ch ③. pairs += count // 2 ④. 正确
【解析】
【详解】本题考查Python字符串处理、列表计数与程序逻辑分析能力。
(1)①处,程序遍历输入字符串按逗号分隔颜色编号,处理完当前编号后需要清空临时存储编号的变量ch,以便接收下一个编号,因此填ch = "";②处,输入字符串的最后一个编号后没有逗号,for循环结束后需要判断ch是否非空,非空则处理最后一个编号,因此条件填ch;③处,统计总配对数时,每种颜色的count根筷子可凑成count//2双,需要将结果累加到总对数pairs中,因此填pairs += count // 2。
(2)题目说明a数组已扩容满足超过颜色数量的存储需求,原统计逻辑不改变,仍然可以正确计算结果,因此填正确。
14. 小张为某市的路灯网络搭建智能监测系统。该系统能实时监测各路灯的工作状态(如亮度、故障)并估算能耗,当某路灯出现故障或能耗异常时,系统发出警报提醒维修人员处理。城市管理人员通过监控平台查看实时和历史数据。硬件按如下方式连接:每个路灯配备一个智能终端,均有一套传感器(亮度传感器、电流传感器)和警报器接入智能终端,智能终端通过IoT模块连接到服务器。请回答下列问题:
(1)下列关于该信息系统的说法,正确的是____(单选,填字母)。
A.传感器采集到的数据存储在智能终端
B.处理监控平台请求的功能由服务器完成
C.智能终端程序可以基于Flask Web框架编写
(2)下列关于系统维护的操作,不正确的是____(多选,填字母)。
A.为提升系统安全性,可定期更新服务器密码并开启防火墙
B.若IoT模块故障,将导致传感器获取的数据无法传输到服务器
C.当监测到路灯故障,可通过监控平台直接远程控制警报器发出警报
D.维修路灯后,管理人员通过平台查看的状态数据未更新,可检测警报器是否发生故障
(3)为了提高维修效率,小张想为系统增加一项新功能:当系统监测到某路灯故障发出警报的同时,还能自动调度附近的维修车辆前往该路灯位置进行维修。请问系统是如何精准定位故障路灯的?请写出一个精准定位的方案。____
(4)将该系统2025年1月至6月份的每日故障数据导出,部分数据如图a所示,现要统计6月份中故障总次数排名前3名的区域情况,并绘制如图b所示的柱形图。表格包含序号、月份、日期、区域(滨江区、东河区等7个区)、故障次数(次)。柱形图y轴为故障次数,x轴为区域。
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("故障数据.xlsx")
df1 = df[df["月份"] == 6] # 筛选出六月份的数据
①____
②____
③____
plt.bar(df4["区域"],df4["故障次数"],label="故障次数(次)") # 绘制柱形图
# 设置绘图参数,显示如图b所示的柱形图,代码略
①②③处可选代码有:
A.df2 = df1.groupby("区域",as_index=False).sum()
B.df2 = df1.groupby("故障次数",as_index=False).sum()
C.df3 = df2.sort_values("故障次数",ascending=False)
D.df3 = df2.sort_values("故障次数")
E.df4 = df3.head(3)
F.df4 = df3.tail(3)
(5)观察图b可知,六月份故障总次数最多的区域为东河区。现要筛选出六月份该区域的每日故障数据以便进一步分析,可在第(4)小题处理结果的基础上,再运行如下语句,请在划线处填入合适的代码。
df5=____
【答案】 ①. B ②. CD ③. 每个智能终端分配唯一路灯ID,智能终端向服务器传输数据时携带该ID。服务器根据ID与路灯位置的对应关系(如预设位置坐标表),即可精准定位故障路灯并调度附近维修车辆。 ④. A ⑤. C ⑥. E ⑦. df1[df1["区域"] == "东河区"]
【解析】
【详解】(1)本题考查信息系统的基本架构与组成知识。A选项,传感器采集的数据最终传输存储到服务器,智能终端仅负责采集转发,不需要存储全量原始数据,A错误;B选项,该系统中服务器负责存储全量数据,处理监控平台发来的数据请求,B正确;C选项,Flask Web是服务端Web开发框架,不适用于编写边缘智能终端的程序,C错误。故答案为:B
(2)本题考查信息系统维护知识。A选项,定期更新服务器密码、开启防火墙能够有效提升系统安全性,操作正确;B选项,智能终端通过IoT模块连接服务器,IoT模块故障会导致传感器数据无法传输到服务器,描述正确;C选项,警报器接入对应路灯的智能终端,监测到故障后由对应智能终端触发警报,监控平台无法直接远程控制该警报器,操作描述错误;D选项,维修完成后状态数据未更新,问题出在数据传输、状态更新环节,和警报器硬件无关,不需要检测警报器,操作描述错误。本题要求选择不正确的选项。故答案为:CD
(3)本题考查信息系统功能方案设计能力。可通过为每个路灯绑定唯一标识关联预设位置信息,实现精准定位,合理方案即可。故答案为:每个智能终端分配唯一路灯ID,智能终端向服务器传输数据时携带该ID。服务器根据ID与路灯位置的对应关系(如预设位置坐标表),即可精准定位故障路灯并调度附近维修车辆。(其他合理方案也可,例如:为每个智能终端加装GPS模块,上传故障信息时同步上传位置坐标,即可实现精准定位)
(4)本题考查Python Pandas库的数据处理知识。数据处理流程为:先筛选出6月数据得到df1,接下来需要按区域分组汇总每个区域的总故障次数,因此①选A;分组得到df2后,需要按故障次数降序排序,让故障次数多的区域排在前列,因此②选C;排序完成后取出排名前3的区域,即取排序结果的前3行,因此③选E。
(5)本题考查Pandas数据筛选的代码书写。需求是在已经筛选出的6月数据df1中,筛选出区域为东河区的所有每日故障数据,符合Pandas筛选语法的代码如下。故答案为:df1[df1["区域"] == "东河区"]
15. 编写“矩形面积”程序,实现如下功能:按一定比例随机生成100个数组元素,值为0或1(0多1少);将这100个数组元素,按行优先顺序依次转化为10×10的二维阵列;当数组元素的值为0时显示成“□”,当数组元素的值为1时显示成“◆”,寻找此阵列中由“□”字符构造出的最大面积的矩形,在输出结果中显示最大面积所占的单位数。程序运行界面如图所示。
(1)把图中二维阵列中第五行的“◆”改为“□”,其他元素不变,则最大面积所占的单位数为____。
(2)实现程序功能的部分代码如下,程序代码中,加框处的语句有误,请改正。____
(3)请在划线处填上合适的代码。
import random
# 计算以(x,y)为左上角的最大空白矩形面积
def search_max_rect(grid,start_x,start_y):
max_area = 0; rows = 10; cols = 10
if grid[start_y][start_x] == 1:
return 0
max_width = cols - start_x
for y in range(start_y,rows):
if ①____:
break
current_width = 0
for x in range(start_x,cols):
if grid[y][x] == 0:
current_width += 1
else:
②____
height = y - start_y + 1
area = max_width * height
if area > max_area:
max_area = area
return max_area
#生成100个0或1(0多1少)并转换为10×10二维数组grid,同时生成由“◆”和“□”组成的对应的像素网格,代码略
max_area = 0
for y in range(10):
for x in range(10):
if grid[y][x] == 0:
③____
if area > max_area:
max_area = area print
("最大面积的空白矩形,占" + str(max_area)+"个单位。")
【答案】 ①. 35 ②. break ③. grid[y][start_x] == 1 ④. max_width = min(max_width,current_width) ⑤. area = search_max_rect(grid,x,y)
【解析】
【详解】本题考查Python二维数组应用、枚举算法,以及代码补全与错误修正能力。
(1):原二维阵列修改第五行的◆为□后,遍历所有全0(全□)矩形,可得最大面积为35个单位。
(2):原加框代码current_width -= 1错误,当前行遍历遇到1(◆)时,连续□已经中断,不需要继续向后遍历,因此修改为break跳出循环。
(3):① 此处是向下扩展行时的终止判断,如果当前行的起始位置已经是1,无法继续扩展,因此填入条件grid[y][start_x] == 1;② 当前行遍历得到从起始位置开始的连续□宽度current_width后,矩形最大宽度受限于所有扩展行中的最小宽度,因此需要更新max_width为max_width = min(max_width,current_width);③ 双层循环遍历所有点作为矩形左上角,当前点是□时调用自定义函数计算该点对应的最大矩形面积,因此填入area = search_max_rect(grid,x,y)。
第1页/共1页
学科网(北京)股份有限公司
$
2026年3月杭州二中高三开学适应性考试
技术
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某社区建设了一套智慧助老信息系统。该系统通过安装在老人活动室等场所的摄像头实时监测老人,并将数据上传至社区服务器。当监测到异常(如长时间无移动)时,系统自动向家属及社区医生发送报警短信。老人可通过手机APP查阅当月的健康周报,也可通过语音指令调节居室灯光或申领助老餐食。阅读材料,回答下面小题:
1. 关于该系统中的数据和信息,下列说法正确的是( )
A. 报警短信在传输过程中不需要依附于载体
B. 健康周报可用于了解健康状况,体现了信息的价值性
C. 摄像头采集的老人移动数据不具有时效性
D. 拍摄老人活动照片并存储不需要经过采样过程
2. 下列关于该信息系统组成的说法,正确的是( )
A. 老人家属不属于该信息系统的用户 B. 社区服务器属于该系统中的硬件
C. 老人手机上的APP属于系统软件 D. 老人健康档案是该系统的软件
3. 下列关于该系统功能及支撑技术的叙述,不正确的是( )
A. 根据数据判断老人状态体现了数据处理与加工功能
B. 语音指令识别老人诉求应用了人工智能技术
C. 通过手机APP查阅健康周报体现了数据采集功能
D. 家属远程查看老人动态体现了网络跨越时空的优势
4. 该系统支持老人通过语音指令调节灯光或申领餐食,这种交互方式的设计主要有助于( )
A. 帮助老年人跨越数字鸿沟 B. 减少服务器的数据存储压力
C. 提高系统运行效率 D. 消除系统对外部环境的依赖
5. 为提升该系统的安全性,下列做法不恰当的是( )
A. 数据加密存储 B. 定期异地备份 C. 部署防火墙 D. 明文传输密码
6. 某图像文件参数为1024×768像素、24位真彩色,将其压缩为JPEG格式后大小为128KB,则压缩比约为( )
A. 6:1 B. 12:1 C. 18:1 D. 24:1
7. 某算法的流程图如下图所示。若a=[3,8,5,7,9,4,6],执行这部分流程后,输出s的值是( )
A. 8 B. 10 C. 21 D. 29
8. 某完全二叉树包含6个节点,若按从上到下、从左到右逐层遍历顺序对节点进行1~6编号(根节点为1),则下列说法不正确的是( )
A. 该树共有3层
B. 编号为2的节点其左子节点编号为4
C. 该树共有3个叶子节点
D. 该树中度为2的节点有3个
9. 栈S初始为空,元素a,b,c,d,e依次入栈。已知整个过程中出栈操作恰好发生3次,且不允许连续两次出栈。最终出栈元素的顺序可能是( )
A. b,a,d B. c,b,a C. a,b,c D. d,c,e
10. 有如下Python程序段:
d = [[2,4],[7,3],[4,-1],[1,2],[8,1]]
head = 0
p = head
while p != -1 and d[p][1] != -1:
q = d[p][1]
if d[p][0] % 2 == d[q][0] % 2:
d[p][1] = d[q][1]
else:
p = d[p][1]
执行该程序段后,从head开始按链表顺序访问d,得到的数据序列是( )
A. 2,8,7,1,4 B. 2,7,4 C. 2,8,4 D. 8,1,4
11. 有如下Python程序段:
a = [18,30,21,28,25,23]
target = 24
for i in range(len(a) - 1):
k = i
for j in range(i + 1,len(a)):
if abs(a[j] - target) < abs(a[k] - target):
k = j
if k != i:
a[i],a[k] = a[k],a[i]
执行该程序段后,列表a为( )
A. [25,23,21,28,18,30] B. [25,23,30,28,18,21]
C. [25,21,30,28,18,23] D. [23,25,21,28,18,30]
12. 有如下Python程序段:
a = [1,1,0,1,0,0,1,1,1,0,1]
k = 2
ans = 0
num = 0
i = 0
for j in range(len(a)):
if a[j] == 0:
num += 1
while num > k:
if a[i] == 0:
num -= 1
i += 1
if j - i + 1 > ans:
ans = j - i + 1
print(ans)
执行程序后,输出的结果为( )
A. 3 B. 4 C. 5 D. 6
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 筷子颜色配对问题。现有不同颜色的筷子若干(筷子的颜色用数字编号l~10表示),颜色相同的筷子才能组成一双,其中有几根筷子是落单的,现要求找出落单筷子的颜色以及能够配对的筷子数量。编写程序解决该问题,输入筷子的颜色编号(例如:"2,5,2,3,4,3,6,3"),程序执行后,输出落单筷子的颜色编号,并显示能够配对的筷子数量。
(1)请在划线处填上合适代码。①____、②____、③____
(2)如果输入颜色数大于10(例如s输入:2,14,2,8,14,2,8),在a数组元素确保超过颜色数量,其他代码不变的情况下运行程序结果____(选填:正确/错误)
s = "2,5,2,3,4,3,6,3"
a = [0] * 11
ch = ""
for char in s:
if char == "":
if ch:
h = int(ch)
a[h] += 1
①
else:
ch += char
if ② :
h = int(ch)
a[h] += 1
print("落单筷子颜色编号:")
for i in range(1,len(a)):
if a[i] % 2 == 1:
print("落单筷子颜色编号为",i)
pairs = 0
for count in a:
③
print("能够配对的筷子有" + str(pairs)+"双")
14. 小张为某市的路灯网络搭建智能监测系统。该系统能实时监测各路灯的工作状态(如亮度、故障)并估算能耗,当某路灯出现故障或能耗异常时,系统发出警报提醒维修人员处理。城市管理人员通过监控平台查看实时和历史数据。硬件按如下方式连接:每个路灯配备一个智能终端,均有一套传感器(亮度传感器、电流传感器)和警报器接入智能终端,智能终端通过IoT模块连接到服务器。请回答下列问题:
(1)下列关于该信息系统的说法,正确的是____(单选,填字母)。
A.传感器采集到的数据存储在智能终端
B.处理监控平台请求的功能由服务器完成
C.智能终端程序可以基于Flask Web框架编写
(2)下列关于系统维护的操作,不正确的是____(多选,填字母)。
A.为提升系统安全性,可定期更新服务器密码并开启防火墙
B.若IoT模块故障,将导致传感器获取的数据无法传输到服务器
C当监测到路灯故障,可通过监控平台直接远程控制警报器发出警报
D.维修路灯后,管理人员通过平台查看的状态数据未更新,可检测警报器是否发生故障
(3)为了提高维修效率,小张想为系统增加一项新功能:当系统监测到某路灯故障发出警报的同时,还能自动调度附近的维修车辆前往该路灯位置进行维修。请问系统是如何精准定位故障路灯的?请写出一个精准定位的方案。____
(4)将该系统2025年1月至6月份的每日故障数据导出,部分数据如图a所示,现要统计6月份中故障总次数排名前3名的区域情况,并绘制如图b所示的柱形图。表格包含序号、月份、日期、区域(滨江区、东河区等7个区)、故障次数(次)。柱形图y轴为故障次数,x轴为区域。
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("故障数据.xlsx")
df1 = df[df["月份"] == 6] # 筛选出六月份的数据
①____
②____
③____
plt.bar(df4["区域"],df4["故障次数"],label="故障次数(次)") # 绘制柱形图
# 设置绘图参数,显示如图b所示的柱形图,代码略
①②③处可选代码有:
A.df2 = df1.groupby("区域",as_index=False).sum()
B.df2 = df1.groupby("故障次数"as_index=False).sum()
C.df3 = df2.sort_values("故障次数",ascending=False)
D.df3 = df2.sort_values("故障次数")
E.df4 = df3.head(3)
F.df4 = df3.tail(3)
(5)观察图b可知,六月份故障总次数最多的区域为东河区。现要筛选出六月份该区域的每日故障数据以便进一步分析,可在第(4)小题处理结果的基础上,再运行如下语句,请在划线处填入合适的代码。
df5=____
15. 编写“矩形面积”程序,实现如下功能:按一定比例随机生成100个数组元素,值为0或1(0多1少);将这100个数组元素,按行优先顺序依次转化为10×10的二维阵列;当数组元素的值为0时显示成“□”,当数组元素的值为1时显示成“◆”,寻找此阵列中由“□”字符构造出的最大面积的矩形,在输出结果中显示最大面积所占的单位数。程序运行界面如图所示。
(1)把图中二维阵列中第五行的“◆”改为“□”,其他元素不变,则最大面积所占的单位数为____。
(2)实现程序功能的部分代码如下,程序代码中,加框处的语句有误,请改正。____
(3)请在划线处填上合适的代码。
import random
# 计算以(x,y)为左上角的最大空白矩形面积
def search_max_rect(grid,start_x,start_y):
max_area = 0; rows = 10; cols = 10
if grid[start_y][start_x] == 1:
return 0
max_width = cols - start_x
for y in range(start_y,rows):
if ①____:
break
current_width = 0
for x in range(start_x,cols):
if grid[y][x] == 0:
current_width += 1
else:
②____
height = y - start_y + 1
area = max_width * height
if area > max_area:
max_area = area
return max_area
#生成100个0或1(0多1少)并转换为10×10二维数组grid,同时生成由“◆”和“□”组成的对应的像素网格,代码略
max_area = 0
for y in range(10):
for x in range(10):
if grid[y][x] == 0:
③____
if area > max_area:
max_area = area print
("最大面积的空白矩形,占" + str(max_area)+"个单位。")
第1页/共1页
学科网(北京)股份有限公司
$