内容正文:
万全综合高中2025学年第二学期期中考测试卷
高二信息技术
一、选择题(本大题共 12 小题,每小题 2 分,共 24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题
2026年初,AI圈开始流行起“养龙虾”,这里的“龙虾”就是近期爆火的一款开源AI智能体工具OpenClaw,它是一种新AI智能体形态。用户躺在床上对手机说“帮我查一下上周的销售数据,整理成表格”,这只龙虾就开始操作你的电脑,打开Excel、打开浏览器读写文件、执行代码、自动回复消息、帮你完成一整套工作流程。当AI替你操作电脑时,拥有的权限也会越来越大,安全问题就会被突显。高权限操控电脑可能会导致密钥泄露、文件误删、漏洞入侵等风险。
1. OpenClaw能够理解用户的自然语言指令,并将其转化为在电脑上操作软件、读写文件等一系列具体动作。其关键特征在于“感知一行动”的模式,该模式符合下列哪一种人工智能主义( )
A. 符号主义 B. 联结主义 C. 行为主义 D. 人本主义
2. 使用类似OpenClaw的高权限AI智能体时,可能带来密钥泄露、文件误删等安全风险。从信息安全防护角度,以下做法中不恰当的是( )
A. 为AI智能体创建独立的、权限受限的系统账户进行操作
B. 将重要的私密文件和密码全部交给AI智能体统一管理以提高效率
C. 定期审计AI智能体的操作日志,监控其行为
D. 在虚拟机环境中运行AI智能体,以隔离潜在风险
阅读下列材料,回答下面小题:
某线上生鲜配送平台引入智能监管系统,验收区智能秤采集食材数据并保存,加工区AI抓拍设备识别违规行为并通过音箱进行语音提示,所有采集数据实时上传至服务器,实现从验收到加工的全流程智能监管。
3. 下列关于该信息系统的说法,不正确的是( )
A. 系统的数据收集和输入功能全部由智能验收秤实现
B. 语音提示功能可通过语音合成技术实现
C. 监管系统 APP 可与服务器进行双向数据传输
D. 验收区和加工区可以不在同一个局域网内
4. 下列关于该信息系统中硬件的说法,正确的是( )
A. 音箱不属于该系统的硬件组成部分
B. 系统中的传感器都用于获取图像数据
C. 智能验收秤的组成部件中一定包含存储器
D. AI 抓拍设备和服务器必须通过有线方式直接连接
5. 下列关于该信息系统中软件的说法,不正确的是( )
A. 监管系统 APP 属于应用软件
B. 软件需要随着系统需求的变化而持续更新完善
C. AI 抓拍设备必须在软件的支持下才能正常工作
D. 系统中的服务器和移动终端必须使用相同的操作系统
6. 由扫描获得某真彩色(24位)、BMP格式的位图图像,分辨率为1024×768,下列关于该图像的说法不正确的是( )
A. 该图像每个像素需要占用3个字节的存储空间
B. 该图像未经压缩的存储容量约为2.25 MB
C. 若将该图像转换为256色模式,图像的文件大小一定会减小,且画质完全不变
D. 该图像可以转换为JPEG格式以减小文件大小
7. 下列表达式中,运算结果为布尔值True的是( )
A. 6>5 and "56">"6" B. 3!=3 or True==True
C. not ("P" in "Python") D. b={3:2,4:3}; 2 in b
8. 学校要挑选身高在1.65米及以上(含1.65米)且1.73米以下(不含1.73米)的女生参加啦啦队,下列Python代码片段中,逻辑正确的是( )
A. B.
C. D.
9. 为了编写程序计算表达式“3-6+9-12+……+99”的值,小李设计的算法部分流程图如图所示,在流程图中①、②处分别应填入的是( )
A. ①i=i+1 ②k=-k*3 B. ①k=-k ②i=i+3
C. ①i=i+3 ②k=-k D. ①k=-k*3 ②i=i+1
10. 队列初始为空,字符“甲”“乙”“丙”“丁”依次按以下规则入队:1、若队列为空,字符直接入队;2、若队列不为空,先将队首元素出队并立即重新入队,然后再将新字符入队。当4个字符全部入队后,队首元素是( )
A. 甲 B. 乙 C. 丙 D. 丁
11. 某Python程序段如下,执行后程序的输出结果为( )
a=[2,5,3,8,1,4]
total=0
pos=-1
c=0
for i in range(len(a)):
total=total+a[i]
c=c+1
if c >= 3:
if total >= 15:
pos=i
total=total-a[i-2]
print(pos)
A. 3 B. 4 C. 5 D. -1
12. 某数组a=[12,24,36,45,50,67,78,88,95],现要删除数组中值为50的元素(下标为4),并保持剩余元素相对顺序不变,实现该功能的python程序如下,方框处语句正确的是( )
a = [12, 24, 36, 45, 50, 67, 78, 88, 95]
k = 4
a = a[:-1]
A. A B. B C. C D. D
二、非选择题(本大题共3小题,第13小题6分,第14小题10分,第15小题10分)
13. 在信息加密与解密应用中,传统单一密钥的维吉尼亚密码容易被破解,为提升安全性,可采用密钥池(多个正整数密钥循环使用)的方式实现解密。
解密规则:
1)密钥池由多个大于0的正整数组成,数字之间用英文逗号分隔,程序会自动将输入的密钥池字符串转换为数字列表;
2)解密时,仅对英文字母进行移位处理,空格、符号等非字母字符保持不变;
3)按照密钥池顺序循环使用密钥对字母进行解密移位:小写字母、大写字母分别在各自字母表内循环运算;
4)单个字母解密公式:明文字符位置=(密文字符位置-密钥)%26,再转换为对应字母。
def str_to_keyp(key_str):
# 功能:将逗号分隔的密钥池字符串,转换为整数密钥列表
key_pool = []
num = 0
for c in key_str:
if ①____:
key_pool.append(num)
num = 0
elif '0' <= c <= '9':
②____
# 处理最后一个密钥
if num > 0:
key_pool.append(num)
return key_pool
def change(c, k):
if "a" <= c <= "z":
c = chr((ord(c) - ord("a") - k) % 26 + ord("a"))
elif "A" <= c <= "Z":
c = chr((ord(c) - ord("A") - k) % 26 + ord("A"))
return c
# 主程序
key_str = input("请输入密钥池(数字>0,英文逗号分隔,如5,2,9):")
key_pool = str_to_keyp(key_str)
code = input("请输入需要解密的密文:")
code_new = ""
n = len(key_pool) # 密钥池长度
index = 0 # 密钥使用位置指针
for s in code:
if 'a' <= s <= 'z' or 'A' <= s <= 'Z':
key = key_pool[index % n]
code_new += change(s, key)
③____
else:
code_new += s
print("解密结果:", code_new)
14. 小明搭建了小鸡自动孵化系统,主要是为孵化箱提供一个合适的温度,模拟母鸡孵小鸡的过程。温度传感器的数据由智能终端经IOT模块发送到Web服务器,当温度数据异常时(超过一定的温度范围),蜂鸣器会报警;也可以通过浏览器随时查询实时温度数据和历史温度数据,并且通过浏览器控制“温度调节器”调节环境温度。请回答下列问题:
(1)该系统网络应用软件的实现架构是____(单选,填字母: A. B/S架构/ B. C/S架构)。
(2)若提交数据到Web服务器的URL为http://192.168.10.2:8080/input?t=27,则服务器端与该URL关联的路由设置语句是@app.route("____ ")
(3)系统正常运行一段时间后,如果IoT模块发生故障(假设系统内没有其他故障),下列现象中,可能会出现的是 (多选,填字母)
A. 无法通过浏览器随时查询实时温度数据
B. 可以打开历史数据页面,但是缺失某时刻之后的数据
C. 可以通过浏览器控制“温度调节器”调节环境温度
D. 某时刻之后,传感器无法采集温度数据
E. 现场观察到温度数据异常时,蜂鸣器未报警
(4)现需增加湿度监测的功能,在智能终端接入湿度传感器后,还需对软件部分作多处修改。请用文字描述其中1处修改建议。
(5)管理员整理出某一天的温度监测值,并存入数据文件“0517.xlsx”,部分数据如图a所示,现要求找出温度值超过平均值次数最多的时刻(小时),并将该时刻的温度数据绘制折线图如图b所示。
图a 图b
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("0517.xls")
df.insert(0,"小时","") # 插入列
for i in df.index: # 取出时间列中的小时
t = df.at[i,"时间"]
df.at[i,"小时"] = t[6:8]
val = df.温度.mean()
df1 = df[df.温度>=val]
df2 =____①
df3 =____②
sk = df3.at[0,"小时"]
df4 =____③
plt.bar(df4.时间,df4.温度)
#设置绘图参数,显示如图b 所示的线形图,代码略
①②③处可选代码有:
A.df[df.小时==sk]
B.df3[df3.小时==sk]
C.df2.sort_values("温度",ascending=False,ignore_index=True)
D.df2.sort_values("温度",ascending=True,ignore_index=True)
E.df1.groupby("小时",as_index=False).count()
F.df1.groupby("小时").count()
15. 有一个仓库货架被分成若干方格用于摆放货物,每个方格面积为1,管理员想知道货架上已摆放货物的最大矩形区域面积。他用一个二维列表来表示货架,1表示有货物,0表示无货物。则图1中的货物可表示为parterre=[[1,0,1,1],[1,1,1,1],[0,1,1,0],[1,1,1,1]],根据给定的parterre,图2是db数组的示意图。
管理员编写 Python 程序解决该问题,程序先计算每一行中连续摆放货物的方格数量存入db数组,再遍历计算最大矩形面积。请回答下列问题:
(1)若parterre=[[0,0,1,1],[0,1,1,1],[0,0,1,1],[1,1,1,0]],则货架已摆放货物的最大矩形面积是____。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
# fill(db)函数:计算每一行连续有货物的方格数,存入db对应位置
def fill(db):
for i in range(n):
count = 0
for j in range(m):
if parterre[i][j] == 1:
count += 1
db[j][i] = count # ①存入db对应位置
else:
count = 0
# findMax(x,y):求以(x,y)为左上角的最大矩形面积
def findMax(x, y):
h, w = 1, db[x][y]
maxnum = w * h
for col in range(x + 1, n):
if ② : #连续有货物终止
return max(maxnum, w * h)
elif db[col][y] >= w:
h += 1
else:
h += 1
③
maxnum = max(maxnum, w * h)
return maxnum
#主程序:
#读取货架货物数据存入列表parterre,代码略
n, m = len(parterre), len(parterre[0]) #获取货物行、列数
db = [[0] * m for i in range(n)] #初始化db
maxnum = 0
fill(db)
for i in range(n):
for j in range(m - 1, -1, -1):
if db[i][j] != 0:
tem = findMax(i, j)
maxnum = ④
print(maxnum)
①处加下划线的代码应改为____
②处的代码应填____
③处的代码应填____
④处的代码应填____
第1页/共1页
学科网(北京)股份有限公司
$
万全综合高中2025学年第二学期期中考测试卷
高二信息技术
一、选择题(本大题共 12 小题,每小题 2 分,共 24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题
2026年初,AI圈开始流行起“养龙虾”,这里的“龙虾”就是近期爆火的一款开源AI智能体工具OpenClaw,它是一种新AI智能体形态。用户躺在床上对手机说“帮我查一下上周的销售数据,整理成表格”,这只龙虾就开始操作你的电脑,打开Excel、打开浏览器读写文件、执行代码、自动回复消息、帮你完成一整套工作流程。当AI替你操作电脑时,拥有的权限也会越来越大,安全问题就会被突显。高权限操控电脑可能会导致密钥泄露、文件误删、漏洞入侵等风险。
1. OpenClaw能够理解用户的自然语言指令,并将其转化为在电脑上操作软件、读写文件等一系列具体动作。其关键特征在于“感知一行动”的模式,该模式符合下列哪一种人工智能主义( )
A. 符号主义 B. 联结主义 C. 行为主义 D. 人本主义
2. 使用类似OpenClaw的高权限AI智能体时,可能带来密钥泄露、文件误删等安全风险。从信息安全防护角度,以下做法中不恰当的是( )
A. 为AI智能体创建独立的、权限受限的系统账户进行操作
B. 将重要的私密文件和密码全部交给AI智能体统一管理以提高效率
C. 定期审计AI智能体的操作日志,监控其行为
D. 在虚拟机环境中运行AI智能体,以隔离潜在风险
【答案】1. C 2. B
【解析】
【1题详解】
本题考查人工智能主流流派的基础知识。人工智能的主流学派分为符号主义、联结主义、行为主义,符号主义核心是符号逻辑推理,联结主义侧重模拟人脑神经网络的连接运作,行为主义源于控制论,核心特征就是“感知-行动”模式,认为智能是在感知环境后做出对应行动的过程中体现,人本主义不属于人工智能的主流学术流派。题干中OpenClaw的“感知-行动”模式符合行为主义的特征。故答案为:C。
【2题详解】
本题考查信息安全防护的基础知识。面对高权限AI智能体的安全风险,为AI创建独立权限受限的账户、定期审计AI操作日志监控行为、在虚拟机环境隔离运行都是合理的防护手段;将重要私密文件和密码全部交给AI智能体管理,会大幅增加信息泄露、文件丢失的安全风险,该做法不恰当。故答案为:B。
阅读下列材料,回答下面小题:
某线上生鲜配送平台引入智能监管系统,验收区智能秤采集食材数据并保存,加工区AI抓拍设备识别违规行为并通过音箱进行语音提示,所有采集数据实时上传至服务器,实现从验收到加工的全流程智能监管。
3. 下列关于该信息系统的说法,不正确的是( )
A. 系统的数据收集和输入功能全部由智能验收秤实现
B. 语音提示功能可通过语音合成技术实现
C. 监管系统 APP 可与服务器进行双向数据传输
D. 验收区和加工区可以不在同一个局域网内
4. 下列关于该信息系统中硬件的说法,正确的是( )
A. 音箱不属于该系统的硬件组成部分
B. 系统中的传感器都用于获取图像数据
C. 智能验收秤的组成部件中一定包含存储器
D. AI 抓拍设备和服务器必须通过有线方式直接连接
5. 下列关于该信息系统中软件的说法,不正确的是( )
A. 监管系统 APP 属于应用软件
B. 软件需要随着系统需求的变化而持续更新完善
C. AI 抓拍设备必须在软件的支持下才能正常工作
D. 系统中的服务器和移动终端必须使用相同的操作系统
【答案】3. A 4. C 5. D
【解析】
【详解】1.本题考查信息系统功能相关知识。A选项错误,系统数据收集输入除智能验收秤外,还有AI抓拍设备等设备共同完成,并非全部由其实现;B选项正确,语音提示可依靠语音合成技术实现;C选项正确,监管APP能和服务器完成双向数据传输;D选项正确,数据可联网上传,两区无需处于同一局域网内。因此,本题选择A选项。
2.本题考查信息系统硬件相关知识。A选项错误,音箱是该系统实现语音提示的硬件设备;B选项错误,系统内传感器并非只采集图像数据,智能秤可采集重量等数据;C选项正确,智能验收秤需存储采集数据,必然包含存储器;D选项错误,AI抓拍设备与服务器可通过无线、有线等多种方式连接,无需有线直连。因此,本题选择C选项。
3.本题考查信息系统软件相关知识。A选项正确,监管系统APP是为特定业务服务的应用软件;B选项正确,软件会跟随实际使用需求不断更新优化;C选项正确,硬件设备都需要对应软件驱动与程序支持才能运行;D选项错误,服务器与移动终端可搭载不同操作系统,依靠网络协议即可完成数据交互。因此,本题选择D选项。
6. 由扫描获得某真彩色(24位)、BMP格式的位图图像,分辨率为1024×768,下列关于该图像的说法不正确的是( )
A. 该图像每个像素需要占用3个字节的存储空间
B. 该图像未经压缩的存储容量约为2.25 MB
C. 若将该图像转换为256色模式,图像的文件大小一定会减小,且画质完全不变
D. 该图像可以转换为JPEG格式以减小文件大小
【答案】C
【解析】
【详解】本题考查图像存储与格式转换。24位真彩色每个像素占用24位,即3个字节,选项A说法正确;未经压缩的图像存储容量计算公式为“分辨率×位深÷8÷1024÷1024”,代入数据1024×768×24÷8÷1024÷1024=2.25MB,选项B说法正确;将24位真彩色图像转换为256色模式,虽然存储容量会减小,但会丢失部分颜色信息,画质会下降,并非完全不变,选项C说法错误;JPEG是有损压缩格式,可对该图像进行压缩以减小文件大小,选项D说法正确。故答案为:C。
7. 下列表达式中,运算结果为布尔值True的是( )
A. 6>5 and "56">"6" B. 3!=3 or True==True
C. not ("P" in "Python") D. b={3:2,4:3}; 2 in b
【答案】B
【解析】
【详解】本题考查Python逻辑运算、比较运算以及字典成员判断的基础知识。选项A中,6>5结果为True,字符串比较按字符ASCII码逐位比较,字符'5'的ASCII码小于'6',因此"56">"6"结果为False,True and False最终结果为False;选项B中,3!=3结果为False,True==True结果为True,False or True最终结果为True;选项C中,"P"确实在字符串"Python"中,因此"P" in "Python"结果为True,not True最终结果为False;选项D中,字典的in运算默认判断是否为字典的键,字典b的键是3和4,2不是b的键,因此2 in b最终结果为False。故答案为:B。
8. 学校要挑选身高在1.65米及以上(含1.65米)且1.73米以下(不含1.73米)的女生参加啦啦队,下列Python代码片段中,逻辑正确的是( )
A. B.
C. D.
【答案】D
【解析】
【详解】本题考查的是Python选择语句的应用。选项A:外层判断条件是height <=1.73,会将题目要求排除的1.73米纳入可选范围,不符合要求,错误。选项B:使用逻辑或or,只要满足一个条件就判定入选,例如身高1.8米满足>=1.65就会被误判入选,不符合“两个条件必须同时满足”的要求,错误。选项C:两个独立if判断,满足任意一个条件就输出入选,例如1.5米满足<1.73、1.8米满足>=1.65都会被误判入选,逻辑错误。选项D:条件height >= 1.65 and height < 1.73完全符合题目要求:通过逻辑与and保证两个条件同时满足,正确匹配筛选规则,逻辑正确。故本题应选D。
9. 为了编写程序计算表达式“3-6+9-12+……+99”的值,小李设计的算法部分流程图如图所示,在流程图中①、②处分别应填入的是( )
A. ①i=i+1 ②k=-k*3 B. ①k=-k ②i=i+3
C. ①i=i+3 ②k=-k D. ①k=-k*3 ②i=i+1
【答案】C
【解析】
【详解】本题考查流程图的循环逻辑与表达式规律分析。表达式“3-6+9-12+……+99”的规律为:项的绝对值是公差为3的等差数列,符号交替变化(+、-、+、-……)。初始值k=1(符号控制变量),i=0,sum=0。分析步骤:要生成每一项,需先处理符号与数值。①处应让数值按步长3递增,故i=i+3;②处应控制符号交替变化,故k=-k。因此,本题选择C选项。
10. 队列初始为空,字符“甲”“乙”“丙”“丁”依次按以下规则入队:1、若队列为空,字符直接入队;2、若队列不为空,先将队首元素出队并立即重新入队,然后再将新字符入队。当4个字符全部入队后,队首元素是( )
A. 甲 B. 乙 C. 丙 D. 丁
【答案】A
【解析】
【详解】本题考查队列操作规则模拟。初始队列为空,依次处理“甲”“乙”“丙”“丁”:1.甲入队,队列[甲];2.乙入队前,队首甲出队并重新入队得[甲],再入队乙得[甲,乙];3.丙入队前,队首甲出队并重新入队得[乙,甲],再入队丙得[乙,甲,丙];4.丁入队前,队首乙出队并重新入队得[甲,丙,乙],再入队丁得[甲,丙,乙,丁]。最终队首为甲。因此,本题选择A选项。
11. 某Python程序段如下,执行后程序的输出结果为( )
a=[2,5,3,8,1,4]
total=0
pos=-1
c=0
for i in range(len(a)):
total=total+a[i]
c=c+1
if c >= 3:
if total >= 15:
pos=i
total=total-a[i-2]
print(pos)
A. 3 B. 4 C. 5 D. -1
【答案】A
【解析】
【详解】本题考查Python程序运行流程分析与列表遍历计算。我们逐步模拟程序执行过程,初始变量为a=[2,5,3,8,1,4],total=0,pos=-1,c=0,循环中i依次取值0到5:i=0时,累加后total为2,c为1,不满足c≥3,无后续操作;i=1时,累加后total为7,c为2,不满足c≥3,无后续操作;i=2时,累加后total为10,c为3,满足c≥3,10小于15不修改pos,total减去a[0]后为8;i=3时,累加后total为16,c为4,满足c≥3,16大于等于15,将pos更新为3,total减去a[1]后为11;i=4时,累加后total为12,c为5,满足c≥3,12小于15不修改pos,total减去a[2]后为9;i=5时,累加后total为13,c为6,满足c≥3,13小于15不修改pos,循环结束。最终输出的pos值为3,对应第一个选项。故答案为:A。
12. 某数组a=[12,24,36,45,50,67,78,88,95],现要删除数组中值为50的元素(下标为4),并保持剩余元素相对顺序不变,实现该功能的python程序如下,方框处语句正确的是( )
a = [12, 24, 36, 45, 50, 67, 78, 88, 95]
k = 4
a = a[:-1]
A. A B. B C. C D. D
【答案】A
【解析】
【详解】本题考查删除数组末尾多余的元素。分析各选项:本题考查数组删除元素操作。要删除下标4的元素,需将后面元素依次前移,最后去掉末尾多余元素。正确循环为for i in range(4,8): a[i]=a[i+1],将a[5]到a[8]移到a[4]到a[7],再执行a=a[:-1]删除最后一个元素。选项A正确,其他选项会导致下标越界或错误赋值。因此,本题选择A选项。
二、非选择题(本大题共3小题,第13小题6分,第14小题10分,第15小题10分)
13. 在信息加密与解密应用中,传统单一密钥的维吉尼亚密码容易被破解,为提升安全性,可采用密钥池(多个正整数密钥循环使用)的方式实现解密。
解密规则:
1)密钥池由多个大于0的正整数组成,数字之间用英文逗号分隔,程序会自动将输入的密钥池字符串转换为数字列表;
2)解密时,仅对英文字母进行移位处理,空格、符号等非字母字符保持不变;
3)按照密钥池顺序循环使用密钥对字母进行解密移位:小写字母、大写字母分别在各自字母表内循环运算;
4)单个字母解密公式:明文字符位置=(密文字符位置-密钥)%26,再转换为对应字母。
def str_to_keyp(key_str):
# 功能:将逗号分隔的密钥池字符串,转换为整数密钥列表
key_pool = []
num = 0
for c in key_str:
if ①____:
key_pool.append(num)
num = 0
elif '0' <= c <= '9':
②____
# 处理最后一个密钥
if num > 0:
key_pool.append(num)
return key_pool
def change(c, k):
if "a" <= c <= "z":
c = chr((ord(c) - ord("a") - k) % 26 + ord("a"))
elif "A" <= c <= "Z":
c = chr((ord(c) - ord("A") - k) % 26 + ord("A"))
return c
# 主程序
key_str = input("请输入密钥池(数字>0,英文逗号分隔,如5,2,9):")
key_pool = str_to_keyp(key_str)
code = input("请输入需要解密的密文:")
code_new = ""
n = len(key_pool) # 密钥池长度
index = 0 # 密钥使用位置指针
for s in code:
if 'a' <= s <= 'z' or 'A' <= s <= 'Z':
key = key_pool[index % n]
code_new += change(s, key)
③____
else:
code_new += s
print("解密结果:", code_new)
【答案】 ①. c == ',' ②. num = num * 10 + int(c) ③. index += 1 或 index = index +1
【解析】
【详解】本题考查Python程序代码补全,涉及字符串处理、循环逻辑和加密解密算法的应用。①处:str_to_keyp函数遍历密钥字符串的每个字符,遇到分隔符英文逗号时,就将当前累加得到的密钥数字存入密钥列表并重置累加变量,因此条件为c == ',';②处:遍历到数字字符时,需要累加生成当前密钥的整数,对于多位数,将原有累加值左移一位(乘10)加上当前数字对应的整数即可,因此填写num = num * 10 + int(c);③处:每处理一个字母就使用了一次密钥,需要将密钥位置指针后移一位,实现循环取密钥的逻辑,因此填写index += 1。
14. 小明搭建了小鸡自动孵化系统,主要是为孵化箱提供一个合适的温度,模拟母鸡孵小鸡的过程。温度传感器的数据由智能终端经IOT模块发送到Web服务器,当温度数据异常时(超过一定的温度范围),蜂鸣器会报警;也可以通过浏览器随时查询实时温度数据和历史温度数据,并且通过浏览器控制“温度调节器”调节环境温度。请回答下列问题:
(1)该系统网络应用软件的实现架构是____(单选,填字母: A. B/S架构/ B. C/S架构)。
(2)若提交数据到Web服务器的URL为http://192.168.10.2:8080/input?t=27,则服务器端与该URL关联的路由设置语句是@app.route("____ ")
(3)系统正常运行一段时间后,如果IoT模块发生故障(假设系统内没有其他故障),下列现象中,可能会出现的是 (多选,填字母)
A. 无法通过浏览器随时查询实时温度数据
B. 可以打开历史数据页面,但是缺失某时刻之后的数据
C. 可以通过浏览器控制“温度调节器”调节环境温度
D. 某时刻之后,传感器无法采集温度数据
E. 现场观察到温度数据异常时,蜂鸣器未报警
(4)现需增加湿度监测的功能,在智能终端接入湿度传感器后,还需对软件部分作多处修改。请用文字描述其中1处修改建议。
(5)管理员整理出某一天的温度监测值,并存入数据文件“0517.xlsx”,部分数据如图a所示,现要求找出温度值超过平均值次数最多的时刻(小时),并将该时刻的温度数据绘制折线图如图b所示。
图a 图b
实现上述功能的部分Python程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("0517.xls")
df.insert(0,"小时","") # 插入列
for i in df.index: # 取出时间列中的小时
t = df.at[i,"时间"]
df.at[i,"小时"] = t[6:8]
val = df.温度.mean()
df1 = df[df.温度>=val]
df2 =____①
df3 =____②
sk = df3.at[0,"小时"]
df4 =____③
plt.bar(df4.时间,df4.温度)
#设置绘图参数,显示如图b 所示的线形图,代码略
①②③处可选代码有:
A.df[df.小时==sk]
B.df3[df3.小时==sk]
C.df2.sort_values("温度",ascending=False,ignore_index=True)
D.df2.sort_values("温度",ascending=True,ignore_index=True)
E.df1.groupby("小时",as_index=False).count()
F.df1.groupby("小时").count()
【答案】(1)A (2)/input (3)ABE
(4)修改智能终端程序,增加向服务器上传湿度传感器数据的代码 或 修改服务器端程序,增加接收湿度传感器数据并写入数据库的代码 或其他等价答案
(5) ①. E ②. C ③. A
【解析】
【详解】本题考查网络架构、IoT系统故障分析、Flask路由、系统功能拓展及pandas数据处理与可视化。
(1)系统通过浏览器访问和操作,不需要安装专用客户端软件,符合B/S架构的特征,C/S架构需要安装专属客户端,因此该题答案为A。
(2)URL中访问路径为/input,Flask框架中@app.route括号内填写对应访问路径即可,因此该题答案为/input。
(3)IoT模块故障会导致数据无法上传服务器,浏览器无法获取实时数据;历史数据会保留故障前的数据,故障后数据缺失;控制报警指令依赖IoT模块传输,因此无法控制蜂鸣器报警;传感器本地采集不受IoT模块故障影响,正确选项为ABE。
(4)修改智能终端程序,增加向服务器上传湿度传感器数据的代码 或 修改服务器端程序,增加接收湿度传感器数据并写入数据库的代码 或其他等价答案。
(5)①处,该处需要对温度超过平均值的数据按小时分组统计次数,df1是温度超平均值的数据,使用groupby按小时分组并计数能得到每小时超平均值的次数,因此该空答案为E。②处,该处需要对统计好的次数进行降序排序,找到次数最多的小时,sort_values按温度列降序排序可实现,因此该空答案为C。③处,该处需要从原始数据中筛选出次数最多的小时对应的所有数据用于绘图,直接从df中筛选小时等于sk的数据即可,因此该空答案为A。
15. 有一个仓库货架被分成若干方格用于摆放货物,每个方格面积为1,管理员想知道货架上已摆放货物的最大矩形区域面积。他用一个二维列表来表示货架,1表示有货物,0表示无货物。则图1中的货物可表示为parterre=[[1,0,1,1],[1,1,1,1],[0,1,1,0],[1,1,1,1]],根据给定的parterre,图2是db数组的示意图。
管理员编写 Python 程序解决该问题,程序先计算每一行中连续摆放货物的方格数量存入db数组,再遍历计算最大矩形面积。请回答下列问题:
(1)若parterre=[[0,0,1,1],[0,1,1,1],[0,0,1,1],[1,1,1,0]],则货架已摆放货物的最大矩形面积是____。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
# fill(db)函数:计算每一行连续有货物的方格数,存入db对应位置
def fill(db):
for i in range(n):
count = 0
for j in range(m):
if parterre[i][j] == 1:
count += 1
db[j][i] = count # ①存入db对应位置
else:
count = 0
# findMax(x,y):求以(x,y)为左上角的最大矩形面积
def findMax(x, y):
h, w = 1, db[x][y]
maxnum = w * h
for col in range(x + 1, n):
if ② : #连续有货物终止
return max(maxnum, w * h)
elif db[col][y] >= w:
h += 1
else:
h += 1
③
maxnum = max(maxnum, w * h)
return maxnum
#主程序:
#读取货架货物数据存入列表parterre,代码略
n, m = len(parterre), len(parterre[0]) #获取货物行、列数
db = [[0] * m for i in range(n)] #初始化db
maxnum = 0
fill(db)
for i in range(n):
for j in range(m - 1, -1, -1):
if db[i][j] != 0:
tem = findMax(i, j)
maxnum = ④
print(maxnum)
①处加下划线的代码应改为____
②处的代码应填____
③处的代码应填____
④处的代码应填____
【答案】(1)6 (2) ①. db[i][j] = count ②. db[col][y] == 0 ③. w = db[col][y] ④. max(maxnum, tem)或max(tem, maxnum)
【解析】
【详解】本题考查Python算法分析与最大矩形面积问题求解。
(1)将给定的parterre逐行分析连续1的分布,可得第0行到第2行的第2、3列全为1,组成大小为3行2列的矩形,面积为3×2=6,不存在更大的全1矩形,因此第一空结果为6。
(2)①处,fill函数遍历货架行i、列j,需要将当前位置的连续1数量存入db对应位置,根据题目给出的示例db数组可知,db的行对应货架行、列对应货架列,原代码索引行列写反,因此需要修改为db[i][j] = count。②处,findMax函数向下遍历行,遇到无货物的位置时终止连续遍历,当db[col][y]为0时表示当前位置无货物,连续终止,因此此处填db[col][y] == 0。③处,当当前位置的连续1数量小于当前宽度w时,说明当前所有行的最小宽度更新为当前位置的连续1数量,因此更新w为db[col][y],此处填w = db[col][y]。④处,得到当前位置计算出的最大面积tem后,更新全局最大面积,因此此处填max(maxnum, tem)或max(tem, maxnum)。
第1页/共1页
学科网(北京)股份有限公司
$