内容正文:
2025学年第二学期金华市卓越联盟5月阶段性联考
高二年级技术试题
考生须知:
1.本卷共14页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某社区公园部署了“智慧健身”系统。健身器材内置传感器,可采集使用者的运动时长、心率等数据;场地周边安装了带AI芯片的摄像头,用于识别运动姿势是否规范,并在发现错误时通过音箱进行语音提示。所有数据通过无线网络上传至社区服务器,系统自动生成个人运动报告和社区整体健身热度图。居民可通过手机APP查看自己的历史数据和报告。阅读材料,回答下列小题:
1. 关于该系统中数据与信息的说法,正确的是( )
A. 传感器采集的心率数据,其价值对所有居民都相同
B. 系统根据运动数据生成的热度图,可为社区设施规划提供依据
C. 系统中运动时长、心率等数据的表现形式必须相同
D. 摄像头拍摄的运动视频被多次调用,其原始数据可能被损耗
2. 关于该系统组成与功能的说法,不正确的是( )
A. 健身器材内置的传感器和摄像头属于系统的输入设备
B. 系统通过音箱进行语音提示,体现了其输出功能
C. 该系统的运行完全不依赖于电力供应和网络连接
D. 手机APP属于应用软件,是用户访问系统的终端工具之一
3. 为提升该系统的安全性,下列措施中不合理的是( )
A. 对服务器中存储的居民个人运动数据进行加密
B. 允许所有社区工作人员直接修改数据库中的运动记录
C. 定期对服务器数据进行异地备份
D. 在APP与服务器传输数据时使用安全协议
4. 关于该系统中人工智能技术(识别运动姿势)的应用,下列说法正确的是( )
A. 随着训练数据量增加,其识别准确率一定会持续线性提升
B. 该识别功能需要事先用大量规范动作图像数据训练模型
C. 采用神经网络算法能使该姿势识别功能的准确率达到100%
D. 该功能主要依赖于摄像头像素的高低,与算法模型关系不大
5. 关于该系统网络的描述,正确的是( )
A. 摄像头识别姿势时,必须连接互联网才能调用AI模型
B. 居民手机APP与服务器不在同一局域网,因此无法查看报告
C. 传感器上传数据、APP获取报告,都需要网络协议支持
D. 系统中的网络资源共享仅包括服务器和数据库,不包括摄像头等硬件
6. 该系统摄像头将采集的运动画面存储为数字图像,下列说法不正确的是( )
A. 图像数字化需经过采样、量化与编码
B. 将24位彩色图像转换为256级灰度图像,其他不变,文件容量约为原来的1/3
C. 为节省服务器存储空间,可将BMP格式图像转换为JPEG格式
D. 图像文件的容量大小只取决于分辨率,与画面中人物的动作幅度无关
7. 某算法的部分流程图如下图所示。执行该部分流程,若输入n的值为10,则输出s的值为( )
A. 4 B. 5 C. 6 D. 7
8. 队列Q从队首到队尾的元素依次为1、2、3、4,栈S初始为空。约定:H操作:队首元素出队后入栈;T操作:队首元素出队后再入队。经过HTHTH系列操作后,栈S中从栈底到栈顶的元素依次为( )
A. 1,3,2 B. 2,3,1 C. 1,2,3 D. 3,1,2
9. 某二叉树的前序遍历序列为ABDECF,中序遍历序列为DBEAFC,则后序遍历序列为( )
A. DEBFCA B. DBEFCA C. DEBFAC D. DBFECA
10. 有如下Python程序段:
a=[2,3,5,1,4,6,8,7]
s=0;flag=True
for i in range(len(a)):
if flag and a[i]%2==0:
s+=a[i]
flag=False
elif a[i]%2==1:
flag=True
print(s)
执行该程序段后,输出的结果是( )
A. 6 B. 8 C. 12 D. 16
11. 有如下Python程序段:
def bsort(arr):
if len(arr)==1:
return arr
for i in range(len(arr)-1):
if arr[i]>arr[i+1]:
arr[i],arr[i+1]=arr[i+1],arr[i]
return bsort(arr[:-1])+[arr[-1]]
若执行语句print(bsort([3,1,5,4,2])),则输出的结果是( )
A. [1,3,2,4,5] B. [1,2,3,4,5] C. [3,1,2,4,5] D. [5,4,3,2,1]
12. 在升序数组a=[12,25,38,44,56,61,73,89]中查找目标值key,部分Python程序如下:
import random
key=random.randint(1,18)*5
i,j,n=0,7,0
while i<=j:
m=(i+j)//2
if a[m]==key:
break
elif key<a[m]:
j=m-1
n-=1
else:
i=m+1
n+=1
print(n)
执行该程序后,关于变量n的说法正确的是( )
A. n的值可能为3 B. n的值不可能为4
C. n的值有5种可能 D. 若n的值为-1,则key的值一定是25
二、非选择题部分(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 小林为书桌设计智能台灯专注度监测系统。系统每隔5分钟通过红外传感器检测一次状态:有人记为1,无人记为0。现对“专注学习段”定义如下:
连续状态为1视为学习中;若学习中仅有1次检测为0,视为“短暂休息”,不中断学习段;若第2次及以上为0,则视为学习中断;当学习段中累计“有人”的次数≥4(1的个数≥4)时,判定为“专注学习段”。
例如,某晚检测状态序列为0,1,1,0,1,1,0,0,1,1,1,1,0,则第2~6次检测构成一个专注段(含1次0,累计4个1);第9~12次构成另一个专注段。
(1)若某晚共检测12次,状态数据依次为:1,1,1,0,1,0,0,1,1,1,1,0,则“专注学习段”共有________个。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
#读取状态数据存入列表a,代码略
cnt=mx=c1=0
f=True
①___
for i in range(n):
if a[i] == 1:
c1+=1
elif ②___:
f=False
else:
if c1 >= 4:
cnt+=1
mx=max(mx,c1) #记录最大学习段长度(学习段中1的个数)
f=True
③___
if c1 >= 4:
cnt+=1
mx=max(mx,c1)
print("专注学习段共有",cnt,"个","最长持续",mx*5,"分钟")
14. 小林为智能台灯专注度监测系统编写了服务器端程序,该系统的硬件结构示意图如图a所示。传感器采集的状态数据由智能终端经IoT模块发送至Web服务器并保存至数据库,用户可通过浏览器查看专注度报告。
图a
请回答下列问题:
(1)该系统中,下列硬件必须存在且两者直接相连的是________(单选,填字母:A. 传感器和服务器/ B. IoT模块和智能终端/ C. 服务器和浏览器)。
(2)下列关于该智能台灯专注度监测系统的说法,正确的是________(多选,填字母)。
A. 该系统采用B/S架构,便于用户多终端查看专注度报告
B. 若要增加“环境光线过暗时自动开灯”功能,必须更换传感器
C. 系统中“连续状态1的个数≥4”的判断必须在服务器端完成
D. 若要在多个书桌上部署该系统,可为每个智能终端分配不同的编号以区分数据来源
(3)服务器端程序基于Flask框架编写,部分代码如下。若要通过浏览器查看专注度报告页面,则应访问的URL是http://________。
from flask import Flask
app=Flask(__name__)
@app.route("/report")
def use():
#从数据库读取数据并生成报告,代码略
if__name__=="__main__":
app.run(host="192.168.10.10",port=8080)
(4)某天晚上小林通过浏览器查看系统时,发现20:00至22:00期间的数据完全缺失。已知该时间段智能终端能正常显示采集的状态数据,且服务器和浏览器工作正常。请简要说明可能造成该数据缺失的硬件原因(写出两点):①________;②________。
(5)小林将某周每天的数据导出为“focus.csv”文件,部分数据如图b所示。受环境干扰,传感器偶发误判,状态记录为2(视为无效数据,需剔除)。现要统计每天晚上(19:00及以后)的学习总时长(状态为1的个数乘以5),并绘制如图c所示的柱形图。
日期
时间
状态
2026-03-20
18:30
1
2026-03-20
18:35
1
2026-03-20
18:40
2
2026-03-20
18:45
1
……
……
……
2026-03-26
21:00
0
2026-03-26
21:05
1
图b
图c
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read__csv("focus.csv")
df.insert(0,"小时","")
for i in df.index:
t=df.at[i,"时间"]
df.at[i,"小时"]=int(t[0:2]) #提取小时部分并存为新列
dfl=df[df.小时>=19] #筛选出晚上(19点及以后)的记录
df2= ①
df3= ②
df3["学习时长"]=df3["状态"]*5
③
plt.xlabel("日期")
plt.ylabel("学习时长(分钟)")
plt.show()
程序中①②③处可选的代码有: 则①②③处依次填入的代码是(按顺序填字母):________、________、________。
A. dfl[dfl.状态==1]
B. dfl.groupby("日期",as_index=False).状态.count()
C. plt.bar(df3["日期"],df3["学习时长"])
D. df[df.状态==1]
E. df2.groupby("日期",as_index=False).状态.sum()
F. plt.bar(df3.index,df3["学习时长"
15. 某视频监控平台接收了n个视频片段,每个片段包含起始时间和结束时间(单位:秒)。由于网络传输延迟,接收到的数据是乱序的。系统使用链表管理这些片段,先按起始时间升序排列,再将时间重叠的片段合并。
链表采用列表1st模拟,每个节点为[起始时间,结束时间,next],next为后继节点索引,-1表示结尾。
例如:片段数据datas=[[1,5],[3,4],[2,6],[8,10]]。
构造有序链表后,1st的值为:[[1,5,2],[3,4,3],[2,6,1],[8,10,-1]],head为0。
合并后,1st的值变为:[[1,6,3],[3,4,3],[2,6,1],[8,10,-1]],head仍为0,对应[1,6]→[8,10]。请回答下列问题:
(1)若片段数据为[[5,8],[1,3],[2,4]],则构造有序链表后,第2个节点起始时间为________。
(2)函数build_sorted_list(datas)遍历数据列表,逐个将节点插入到链表的有序位置。请在划线处填入合适代码。
defbuild_sorted_list(data):
lst=[] #模拟链表
head=-1 #头指针
for data in datas:
lst.append([data[0],data[1],-1])
new_idx=len(lst)-1
if head==-1 or data[0]<lst[head][0]:
lst[new_idx][2]=head
head=new_idx
else:
pre=head
cur=lst[pre][2]
while①___:
pre=cur
cur=lst[cur][2]
lst[new_idx][2]=cur
②___
return lst, head
(3)函数merge(1st, head)合并重叠片段。请在划线处填入合适代码。
def merge(lst, head):
p=head
while lst[p][2]!=-1:
q=lst[p][2]
if lst[p][1]>=lst[q][0]:
lst[p][1]=max(lst[p][1],lst[q][1]) #记录最大值
③________
else:
p=lst[p][2]
return head
#读取视频片段数量n和数据datas,每个片段包含两个数据项[起始时间,结束时间]。代码略。
lst,head=build_sorted_list(data) #构造有序链表
head=merge(lst,head) #合并重叠片段
#输出结果,代码略。
(4)若片段数据为[[1,3],[2,5],[4,7],[8,10]],则合并后链表中剩余节点个数为________个。
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第二学期金华市卓越联盟5月阶段性联考
高二年级技术试题
考生须知:
1.本卷共14页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某社区公园部署了“智慧健身”系统。健身器材内置传感器,可采集使用者的运动时长、心率等数据;场地周边安装了带AI芯片的摄像头,用于识别运动姿势是否规范,并在发现错误时通过音箱进行语音提示。所有数据通过无线网络上传至社区服务器,系统自动生成个人运动报告和社区整体健身热度图。居民可通过手机APP查看自己的历史数据和报告。阅读材料,回答下列小题:
1. 关于该系统中数据与信息的说法,正确的是( )
A. 传感器采集的心率数据,其价值对所有居民都相同
B. 系统根据运动数据生成的热度图,可为社区设施规划提供依据
C. 系统中运动时长、心率等数据的表现形式必须相同
D. 摄像头拍摄的运动视频被多次调用,其原始数据可能被损耗
2. 关于该系统组成与功能的说法,不正确的是( )
A. 健身器材内置的传感器和摄像头属于系统的输入设备
B. 系统通过音箱进行语音提示,体现了其输出功能
C. 该系统的运行完全不依赖于电力供应和网络连接
D. 手机APP属于应用软件,是用户访问系统的终端工具之一
3. 为提升该系统的安全性,下列措施中不合理的是( )
A. 对服务器中存储的居民个人运动数据进行加密
B. 允许所有社区工作人员直接修改数据库中的运动记录
C. 定期对服务器数据进行异地备份
D. 在APP与服务器传输数据时使用安全协议
4. 关于该系统中人工智能技术(识别运动姿势)的应用,下列说法正确的是( )
A. 随着训练数据量增加,其识别准确率一定会持续线性提升
B. 该识别功能需要事先用大量规范动作图像数据训练模型
C. 采用神经网络算法能使该姿势识别功能的准确率达到100%
D. 该功能主要依赖于摄像头像素的高低,与算法模型关系不大
5. 关于该系统网络的描述,正确的是( )
A. 摄像头识别姿势时,必须连接互联网才能调用AI模型
B. 居民手机APP与服务器不在同一局域网,因此无法查看报告
C. 传感器上传数据、APP获取报告,都需要网络协议支持
D. 系统中的网络资源共享仅包括服务器和数据库,不包括摄像头等硬件
6. 该系统摄像头将采集的运动画面存储为数字图像,下列说法不正确的是( )
A. 图像数字化需经过采样、量化与编码
B. 将24位彩色图像转换为256级灰度图像,其他不变,文件容量约为原来的1/3
C. 为节省服务器存储空间,可将BMP格式图像转换为JPEG格式
D. 图像文件的容量大小只取决于分辨率,与画面中人物的动作幅度无关
【答案】1. B 2. C 3. B 4. B 5. C 6. D
【解析】
【1题详解】
本题考查数据与信息的基本概念和特征。数据具有价值相对性,心率数据针对不同居民的价值并不相同,因此A错误;社区健身热度图能够反映不同器材、不同区域的健身使用情况,能够为社区健身设施的规划提供参考依据,因此B正确;不同类型数据的表现形式可以不同,运动时长和心率数据的表现形式并不需要必须相同,因此C错误;数字数据具有稳定性,多次调用不会损耗原始数据,因此D错误。故答案为:B。
【2题详解】
本题考查信息系统的组成与功能。传感器采集运动数据、摄像头采集运动图像,都属于向系统输入信息,因此是系统的输入设备,A描述正确;音箱输出语音提示信息,体现了信息系统的输出功能,B描述正确;该系统需要传感器工作、网络传输数据、服务器处理数据,所有环节都依赖电力供应,数据传输需要网络连接,因此运行不可能完全脱离电力和网络,C描述错误,符合题目要求;手机APP是为用户提供服务的应用软件,是用户访问该系统的终端工具之一,D描述正确。故答案为:C。
【3题详解】
本题考查信息系统的安全防护措施。对服务器存储的居民个人运动数据加密,可以避免数据泄露,提升安全性,A是合理措施;允许所有社区工作人员直接修改数据库中的运动记录,会大大增加数据被误改、泄露、恶意破坏的风险,是不合理的安全措施,B符合题目要求;定期对服务器数据进行异地备份,可以避免因硬件故障等问题导致数据丢失,提升数据安全性,C是合理措施;在APP和服务器传输数据时使用安全协议,可以避免数据被窃取、篡改,提升传输安全性,D是合理措施。故答案为:B。
【4题详解】
本题考查人工智能机器学习的基本原理。基于机器学习的识别模型,识别准确率并不会随着训练数据量增加持续线性提升,准确率提升到一定程度后会逐渐趋缓,不会一直提升,A错误;该姿势识别功能基于机器学习,需要事先使用大量标注好的规范和错误动作图像数据训练模型,才能实现识别功能,B正确;受场景、动作复杂度等多种因素影响,即使采用神经网络算法,姿势识别的准确率也无法达到100%,C错误;该识别功能的效果主要依赖于训练好的算法模型,摄像头像素只是次要影响因素,D错误。故答案为:B。
【5题详解】
本题考查计算机网络的基础知识。题干中说明摄像头自带AI芯片,因此可以本地存储和调用AI模型,不需要必须连接互联网才能识别,A错误;居民手机可以通过互联网访问社区服务器,即使不在同一局域网也可以正常查看报告,B错误;所有网络数据传输都需要网络协议的支持,传感器上传数据、APP获取报告都属于网络数据传输,因此都需要网络协议支持,C正确;网络资源共享既包含数据、软件等资源共享,也包含摄像头这类硬件资源的共享,D错误。故答案为:C。
【6题详解】
本题考查数字图像的基础知识。模拟图像转化为数字图像,需要经过采样、量化、编码三个步骤,A描述正确;24位彩色图像每个像素占用24位存储空间,256级灰度图像每个像素只需要8位(2的8次方为256),分辨率不变的情况下,转换后文件容量为原来的8/24=1/3,B描述正确;BMP是无压缩的位图格式,JPEG是有损压缩格式,相同图像JPEG格式的文件容量更小,因此转换后可以节省服务器存储空间,C描述正确;对于压缩格式的图像文件,文件容量不仅取决于分辨率和位深度,还和图像内容的复杂度有关,人物动作幅度会影响压缩比进而影响文件容量,即使是无压缩图像,容量也和分辨率、位深度都有关,因此“只取决于分辨率”的说法错误,D描述错误,符合题目要求。故答案为:D。
7. 某算法的部分流程图如下图所示。执行该部分流程,若输入n的值为10,则输出s的值为( )
A. 4 B. 5 C. 6 D. 7
【答案】B
【解析】
【详解】本题考查算法流程图的执行分析。初始s=0,输入n=10。
第一次判断n不等于1,条件成立,10是偶数,更新n为10//2=5,s自增1变为1,回到判断;
第二次判断n=5不等于1,条件成立,5是奇数,更新n为5*3+1=16,回到判断;
第三次判断n=16不等于1,条件成立,16是偶数,更新n为16//2=8,s自增1变为2,回到判断;
第四次判断n=8不等于1,条件成立,8是偶数,更新n为8//2=4,s自增1变为3,回到判断;
第五次判断n=4不等于1,条件成立,4是偶数,更新n为4//2=2,s自增1变为4,回到判断;
第六次判断n=2不等于1,条件成立,2是偶数,更新n为2//2=1,s自增1变为5,回到判断;
再次判断n不等于1,条件不成立,退出循环输出s,最终s的值为5。故答案为:B。
8. 队列Q从队首到队尾的元素依次为1、2、3、4,栈S初始为空。约定:H操作:队首元素出队后入栈;T操作:队首元素出队后再入队。经过HTHTH系列操作后,栈S中从栈底到栈顶的元素依次为( )
A. 1,3,2 B. 2,3,1 C. 1,2,3 D. 3,1,2
【答案】A
【解析】
【详解】本题考查栈和队列的基本操作。初始队列Q从队首到队尾依次为1、2、3、4,栈S初始为空。第一步执行H操作:队首元素1出队后入栈,此时栈S从栈底到栈顶为1,剩余队列元素为2、3、4;第二步执行T操作:队首元素2出队后重新入队,此时队列变为3、4、2,栈保持不变;第三步执行H操作:队首元素3出队后入栈,此时栈S从栈底到栈顶为1、3,剩余队列元素为4、2;第四步执行T操作:队首元素4出队后重新入队,此时队列变为2、4,栈保持不变;第五步执行H操作:队首元素2出队后入栈,最终栈S从栈底到栈顶依次为1、3、2。故答案为:A。
9. 某二叉树的前序遍历序列为ABDECF,中序遍历序列为DBEAFC,则后序遍历序列为( )
A. DEBFCA B. DBEFCA C. DEBFAC D. DBFECA
【答案】A
【解析】
【详解】本题考查的是二叉树的遍历。通过前序和中序遍历序列,可以重建二叉树结构如下:
后序遍历规则:左子树 → 右子树 → 根节点。因此,后序遍历序列为 DEBFCA,故选A。
10. 有如下Python程序段:
a=[2,3,5,1,4,6,8,7]
s=0;flag=True
for i in range(len(a)):
if flag and a[i]%2==0:
s+=a[i]
flag=False
elif a[i]%2==1:
flag=True
print(s)
执行该程序段后,输出的结果是( )
A. 6 B. 8 C. 12 D. 16
【答案】A
【解析】
【详解】本题考查条件累加与标志位变化。程序遍历列表,当flag为真且元素为偶数时累加并将flag置假,否则若元素为奇数则将flag置真。模拟得累加元素2和4,和为6。因此,本题选择A选项。
11. 有如下Python程序段:
def bsort(arr):
if len(arr)==1:
return arr
for i in range(len(arr)-1):
if arr[i]>arr[i+1]:
arr[i],arr[i+1]=arr[i+1],arr[i]
return bsort(arr[:-1])+[arr[-1]]
若执行语句print(bsort([3,1,5,4,2])),则输出的结果是( )
A. [1,3,2,4,5] B. [1,2,3,4,5] C. [3,1,2,4,5] D. [5,4,3,2,1]
【答案】B
【解析】
【详解】本题考查递归冒泡排序。函数每层将当前列表最大值冒泡至末尾,然后递归排序前n-1个元素,最终得到升序序列。执行bsort([3,1,5,4,2])得到[1,2,3,4,5]。因此,本题选择B选项。
12. 在升序数组a=[12,25,38,44,56,61,73,89]中查找目标值key,部分Python程序如下:
import random
key=random.randint(1,18)*5
i,j,n=0,7,0
while i<=j:
m=(i+j)//2
if a[m]==key:
break
elif key<a[m]:
j=m-1
n-=1
else:
i=m+1
n+=1
print(n)
执行该程序后,关于变量n的说法正确的是( )
A. n的值可能为3 B. n的值不可能为4
C. n的值有5种可能 D. 若n的值为-1,则key的值一定是25
【答案】C
【解析】
【详解】本题考查二分查找的程序执行逻辑分析。key = random.randint(1,18)*5,说明key是5,10,15,...,90,均为5的倍数。 升序数组a=[12,25,38,44,56,61,73,89],其中只有25是5的倍数,即只有key=25会命中数组元素,其余key均不会命中,循环最终会因i>j结束。 二分规则:key < a[m]时n-=1,key > a[m]时n+=1,命中则直接break。初始i=0,j=7,n=0,第一次m=(0+7)//2=3,a[3]=44,分情况讨论:key < 44分支:n=-1,j=2,后续继续二分,最终可得到n值:-3, -1, 1。key > 44分支:n=1,i=4,后续继续二分,最终可得到n值:-1, 1, 2, 4。 去重后所有可能的n值为:-3, -1, 1, 2, 4,共5种可能。故本题应选C。
二、非选择题部分(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 小林为书桌设计智能台灯专注度监测系统。系统每隔5分钟通过红外传感器检测一次状态:有人记为1,无人记为0。现对“专注学习段”定义如下:
连续状态为1视为学习中;若学习中仅有1次检测为0,视为“短暂休息”,不中断学习段;若第2次及以上为0,则视为学习中断;当学习段中累计“有人”的次数≥4(1的个数≥4)时,判定为“专注学习段”。
例如,某晚检测状态序列为0,1,1,0,1,1,0,0,1,1,1,1,0,则第2~6次检测构成一个专注段(含1次0,累计4个1);第9~12次构成另一个专注段。
(1)若某晚共检测12次,状态数据依次为:1,1,1,0,1,0,0,1,1,1,1,0,则“专注学习段”共有________个。
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
#读取状态数据存入列表a,代码略
cnt=mx=c1=0
f=True
①___
for i in range(n):
if a[i] == 1:
c1+=1
elif ②___:
f=False
else:
if c1 >= 4:
cnt+=1
mx=max(mx,c1) #记录最大学习段长度(学习段中1的个数)
f=True
③___
if c1 >= 4:
cnt+=1
mx=max(mx,c1)
print("专注学习段共有",cnt,"个","最长持续",mx*5,"分钟")
【答案】(1)2 (2) ①. ①n=len(a) ②. ②c1>0 and f(或c1 !=0 and f) ③. ③c1=0
【解析】
【详解】本题考查逻辑分析计算与Python程序的条件分支逻辑设计。
(1)给定状态序列为1,1,1,0,1,0,0,1,1,1,1,0,第一个学习段遇到第二次0中断时累计1的个数为4,满足专注学习段条件,是一个专注学习段;后续新的学习段累计4个1后遇到0中断,也满足条件,因此共有2个专注学习段。
(2)①后续循环使用n存储总检测次数,总检测次数等于状态列表a的长度,因此此处填n=len(a);②当前检测结果为0,若当前处于学习阶段且是第一次出现0,满足条件时需要标记f为False,对应条件为c1>0 and f,也可写为c1 !=0 and f;③当前学习段已经中断,处理完计数后需要重置1的计数,为下一个新的学习段做准备,因此此处填c1=0。
14. 小林为智能台灯专注度监测系统编写了服务器端程序,该系统的硬件结构示意图如图a所示。传感器采集的状态数据由智能终端经IoT模块发送至Web服务器并保存至数据库,用户可通过浏览器查看专注度报告。
图a
请回答下列问题:
(1)该系统中,下列硬件必须存在且两者直接相连的是________(单选,填字母:A. 传感器和服务器/ B. IoT模块和智能终端/ C. 服务器和浏览器)。
(2)下列关于该智能台灯专注度监测系统的说法,正确的是________(多选,填字母)。
A. 该系统采用B/S架构,便于用户多终端查看专注度报告
B. 若要增加“环境光线过暗时自动开灯”功能,必须更换传感器
C. 系统中“连续状态1的个数≥4”的判断必须在服务器端完成
D. 若要在多个书桌上部署该系统,可为每个智能终端分配不同的编号以区分数据来源
(3)服务器端程序基于Flask框架编写,部分代码如下。若要通过浏览器查看专注度报告页面,则应访问的URL是http://________。
from flask import Flask
app=Flask(__name__)
@app.route("/report")
def use():
#从数据库读取数据并生成报告,代码略
if__name__=="__main__":
app.run(host="192.168.10.10",port=8080)
(4)某天晚上小林通过浏览器查看系统时,发现20:00至22:00期间的数据完全缺失。已知该时间段智能终端能正常显示采集的状态数据,且服务器和浏览器工作正常。请简要说明可能造成该数据缺失的硬件原因(写出两点):①________;②________。
(5)小林将某周每天的数据导出为“focus.csv”文件,部分数据如图b所示。受环境干扰,传感器偶发误判,状态记录为2(视为无效数据,需剔除)。现要统计每天晚上(19:00及以后)的学习总时长(状态为1的个数乘以5),并绘制如图c所示的柱形图。
日期
时间
状态
2026-03-20
18:30
1
2026-03-20
18:35
1
2026-03-20
18:40
2
2026-03-20
18:45
1
……
……
……
2026-03-26
21:00
0
2026-03-26
21:05
1
图b
图c
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read__csv("focus.csv")
df.insert(0,"小时","")
for i in df.index:
t=df.at[i,"时间"]
df.at[i,"小时"]=int(t[0:2]) #提取小时部分并存为新列
dfl=df[df.小时>=19] #筛选出晚上(19点及以后)的记录
df2= ①
df3= ②
df3["学习时长"]=df3["状态"]*5
③
plt.xlabel("日期")
plt.ylabel("学习时长(分钟)")
plt.show()
程序中①②③处可选的代码有: 则①②③处依次填入的代码是(按顺序填字母):________、________、________。
A. dfl[dfl.状态==1]
B. dfl.groupby("日期",as_index=False).状态.count()
C. plt.bar(df3["日期"],df3["学习时长"])
D. df[df.状态==1]
E. df2.groupby("日期",as_index=False).状态.sum()
F. plt.bar(df3.index,df3["学习时长"
【答案】(1)B (2)AD
(3)192.168.10.10:8080/report
(4) ①. IoT模块故障;WIFI设备故障; ②. 智能终端与IoT模块之间的物理连接异常(例如连接线松动、接口接触不良)合理即可。 (5)AEC
【解析】
【详解】本题考查物联网架构、硬件连接、Flask框架、故障分析以及Python数据处理的综合应用。
(1)根据硬件结构和题干描述,传感器直接连接智能终端,IoT模块直接和智能终端相连,浏览器是软件不是硬件,服务器和浏览器没有直接硬件连接,因此正确选项是B。
(2)该系统采用B/S架构,用户通过浏览器即可访问,支持多终端查看专注度报告,第一个说法正确;增加光线自动开灯功能可以额外新增光线传感器,不需要更换原有传感器,第二个说法错误;连续状态个数的判断可以在智能终端完成,不需要必须在服务器端,第三个说法错误;多个书桌部署时,给每个智能终端分配不同编号可以区分数据来源,第四个说法正确,因此选AD。
(3)Flask代码中指定服务绑定的主机地址是192.168.10.10,端口是8080,报告页面对应的路由是/report,因此应访问的URL后缀就是192.168.10.10:8080/report。
(4)已知该时间段智能终端能正常显示采集的状态数据,说明数据采集环节正常,服务器和浏览器工作正常,问题出在智能终端到服务器的数据传输环节的硬件上,常见的硬件原因有IoT模块故障、WIFI设备故障,或者智能终端与IoT模块连接线松动、接口接触不良,写出两点即可。
(5)程序运行中df1已经筛选出19点及以后的所有数据,第一步需要剔除无效数据,保留状态为1的有效数据,因此①对应A选项;之后需要按日期分组统计每天状态1的总个数,对分组后的状态列求和即可得到总个数,因此②对应E选项;计算完学习时长后,需要以日期为x轴绘制柱形图,因此③对应C选项,最终顺序为AEC。
15. 某视频监控平台接收了n个视频片段,每个片段包含起始时间和结束时间(单位:秒)。由于网络传输延迟,接收到的数据是乱序的。系统使用链表管理这些片段,先按起始时间升序排列,再将时间重叠的片段合并。
链表采用列表1st模拟,每个节点为[起始时间,结束时间,next],next为后继节点索引,-1表示结尾。
例如:片段数据datas=[[1,5],[3,4],[2,6],[8,10]]。
构造有序链表后,1st的值为:[[1,5,2],[3,4,3],[2,6,1],[8,10,-1]],head为0。
合并后,1st的值变为:[[1,6,3],[3,4,3],[2,6,1],[8,10,-1]],head仍为0,对应[1,6]→[8,10]。请回答下列问题:
(1)若片段数据为[[5,8],[1,3],[2,4]],则构造有序链表后,第2个节点起始时间为________。
(2)函数build_sorted_list(datas)遍历数据列表,逐个将节点插入到链表的有序位置。请在划线处填入合适代码。
defbuild_sorted_list(data):
lst=[] #模拟链表
head=-1 #头指针
for data in datas:
lst.append([data[0],data[1],-1])
new_idx=len(lst)-1
if head==-1 or data[0]<lst[head][0]:
lst[new_idx][2]=head
head=new_idx
else:
pre=head
cur=lst[pre][2]
while①___:
pre=cur
cur=lst[cur][2]
lst[new_idx][2]=cur
②___
return lst, head
(3)函数merge(1st, head)合并重叠片段。请在划线处填入合适代码。
def merge(lst, head):
p=head
while lst[p][2]!=-1:
q=lst[p][2]
if lst[p][1]>=lst[q][0]:
lst[p][1]=max(lst[p][1],lst[q][1]) #记录最大值
③________
else:
p=lst[p][2]
return head
#读取视频片段数量n和数据datas,每个片段包含两个数据项[起始时间,结束时间]。代码略。
lst,head=build_sorted_list(data) #构造有序链表
head=merge(lst,head) #合并重叠片段
#输出结果,代码略。
(4)若片段数据为[[1,3],[2,5],[4,7],[8,10]],则合并后链表中剩余节点个数为________个。
【答案】(1)2 (2) ①. cur !=-1 and lst[cur][0]<data[0]或(cur !=-1 and lst[cur][0]<=data[0] ②. lst[pre][2]=new_idx
(3)lst[p][2]=lst[q][2]
(4)2
【解析】
【小问1详解】
本题考查的是链表构造。输入片段数据[[5,8],[1,3],[2,4]],按起始时间升序构造链表后,链表遍历顺序为[1,3]→[2,4]→[5,8],第2个节点的起始时间为2,无论按存储位置还是链表顺序计数,结果均为2。
【小问2详解】
本题考查的是链表插入。划线①:逐个插入节点时,需要向后遍历找到正确插入位置,只要cur未走到链表尾,且当前cur节点的起始时间小于新节点的起始时间,就继续向后移动指针,故此处应为:cur !=-1 and lst[cur][0]。划线②:找到插入位置后,新节点插入在pre和cur之间,需要修改pre的后继指针指向新节点索引,完成插入操作,故此处应为:lst[pre][2]=new_idx。划线③:合并重叠区间时,当前节点p和后继节点q重叠,合并区间后需要删除q节点,将p的后继指针修改为q的后继指针即可,故此处应为:lst[p][2]=lst[q][2]。
【小问3详解】
本题考查的是链表合并。输入[[1,3],[2,5],[4,7],[8,10]],合并后前三个区间全部重叠,合并为[1,7],加上不重叠的[8,10],共剩余2个节点。
第1页/共1页
学科网(北京)股份有限公司
$