深耕专业教研,探索前沿技术
信息技术来源:2025学年第二学期北斗星盟高三适应性联考

第 14 题

答案与解析

第(1)小题

参考答案

C

用户通过浏览器访问服务器,采用的是 B/S(浏览器/服务器)架构;通过安装的 APP 客户端访问服务器,采用的是 C/S(客户端/服务器)架构。题目同时提供这两种访问方式,因此系统既有 B/S 架构,也有 C/S 架构。

第(2)小题

参考答案

B

选项分析

A

不需要在本题的智能终端程序中实现。将土壤含水量与树种干旱阈值比较属于健康状态分析,材料已将这一工作分配给服务器。

B

需要。智能终端连接各传感器,按每小时一次的频率采集数据,并通过5G模块上传至服务器,因此定时采集与上传是终端程序的职责。

C

不需要在本题的智能终端程序中实现。材料规定服务器分析健康状态后向养护人员发送预警,提醒推送属于服务器承担的功能。

第(3)小题

参考答案
  1. B

  2. C

选项分析

A

按上述理解不选。5G信号不稳定可能使上传延迟,但不会直接使传感器的测量值偏高;只有显示仍停留在此前的正常值等情况下,才可能造成题述现象。

B

可能。传感器测量的是埋设位置附近土壤的含水量,远离根系分布区时,该处土壤湿润不代表根系所在区域也湿润,因此可能出现测量正常而根系干旱。

C

可能。传感器老旧造成测量值偏高时,实际较低的含水量可能被测成正常值,上传后服务器就会显示正常。

D

按上述理解不选。处理延迟可能使显示落后于现场变化;若显示的是已及时处理的测量值,就不能用这一原因解释偏差。

本题按“显示的是最近一次正常上传、处理的测量值”理解“实时显示”,据此分析测量值与根系状况不一致的原因。若只表示界面持续显示、并不保证数据更新,则还需考虑旧数据滞后的可能。

第(4)小题

参考答案

新增振动传感器(加速度传感器),监测古树保护区附近挖掘、钻探等机械施工引起的振动,为识别可能影响古树生长的施工活动提供依据。

挖掘、钻探等机械施工会产生振动,原有温度、含水量和倾斜度传感器不能直接采集这一信号,因此可新增振动传感器,将振动数据传给系统分析,以监测保护区附近可能影响古树生长的施工活动。

第(5)小题

参考答案
  1. H

  2. E

  3. A

  4. C

数据处理过程

df = pd.read_csv("data.csv")          #读取文件

读取后得到 DataFrame df。每行是一棵古树在某一采集时刻的监测记录,同一编号会有多条记录;“含水量”和“倾斜角”分别保存该次采集的测量值。题目要比较的是每棵樟树全年记录的平均含水量,不能用某一次采集值代替。

for i in df.index:
    df.at[i, "月"] = str(df.at[i, "采集时间"])[5:7]

按行读取“采集时间”,转为字符串后取下标5、6处的字符。例如2025-01-01 00:00:00得到“01”。新增的“月”列保存“01”至“12”这样的两位月份字符串,供后续按月统计使用。

df1 = df[df.树种 == "樟树"]           #筛选樟树树种

条件 df.树种 == "樟树" 产生布尔序列,外层 df[...] 据此保留樟树的全部监测记录。df1 仍是一行对应一次采集,尚未汇总为一行一棵树。

df2 = ①
df2 = ②
#将df2首行的古树编号存入number,代码略

两处空缺依次生成、调整 df2,随后从首行取得古树编号 number。题目要求选出平均含水量最低的樟树,所以这两步完成后,首行需要对应目标古树,且结果中必须能取得其编号。具体的汇总方式和排序方向由空①、空②落实。

df3 = ③
df3 = df3.groupby("月", as_index=False)["倾斜角"].max()

已知的 groupby 语句按“月”分组,并只对“倾斜角”列取最大值。as_index=False 使月份保留为普通列,结果是含“月”“倾斜角”两列的 DataFrame。要让这些月最大值属于同一棵目标古树,空③得到的记录范围必须与 number 对应。

按题意取得目标古树的记录后,月统计结果的结构如下。T01、T02等表示各月最大倾斜角,仅示意对象结构,不代表从图a的部分记录计算出了全年数值。

index 月 倾斜角
0 01 T01
1 02 T02
… … …
11 12 T12

填空分析

①

先按古树“编号”分组,再计算每组含水量的均值,才能将多次采集记录汇总为每棵树的平均含水量。后续要按“含水量”列排序并取得编号,因此需要保留“编号”列的DataFrame。as_index=False使“编号”保留为普通列,因此选择H:df1.groupby("编号", as_index=False).mean()。

G得到以编号为index、以平均含水量为值的Series,没有供后续按列名排序的“含水量”列。

分组求均值后,每行代表一棵樟树。以下仅列与后续作答有关的列,M5、M6表示对应编号的全年平均含水量,具体数值不能由图a所示部分数据确定。

index 编号 含水量
0 5 M5
1 6 M6
… … …

②

程序随后取df2首行的古树编号,因此需要把平均含水量最小的记录排在第一行。sort_values("含水量")默认升序排列,选择E;F设置ascending=False,会把最大值排在前面。排序保留原行索引,因此首行的index不一定为0;它与“编号”列中的古树编号是不同的对象。

③

number 已保存目标古树编号,接下来要从尚未按树汇总的 df1 中取回该树的全部采集记录,保留“月”和逐次采集的“倾斜角”,才能计算每月最大值。df1[df1.编号 == number] 返回这些记录,选择 A。B 只有布尔判断结果,不是包含所需列的数据表。

④

图b的横轴是月份“01”至“12”,纵轴是各月最大倾斜角。月统计后的 df3 将月份保留在“月”列,故 plt.plot 的两个参数应为 df3.月, df3.倾斜角,选择 C。D 使用 df3.index,会把默认行索引0、1、…作为横坐标,不能得到题图所示的月份标签。