内容正文:
绝密★考试结束前
高三技术试题
考生须知:
1.本卷共13页满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效;
4.考试结束后,只需上交答题纸。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据、信息和知识的说法,正确的是( )
A. 生成式人工智能中数据的表现形式只有文字
B. 生成式人工智能只能处理结构化数据
C. 生成式人工智能生成的信息,其价值因人而异
D. 只要会用生成式人工智能就能掌握海量知识
2. 下列关于人工智能的说法,正确的是( )
A. 生成式人工智能的应用说明机器智能已超过人类智能
B. 人工智能的发展依赖于数据、算法和算力的共同进步
C. 生成式人工智能通过符号主义的知识库和推理引擎实现
D. 人工智能的发展推动社会进步,但不会威胁到人类
3. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列关于该信息系统的说法,正确的是( )
A. 该系统包含硬件、软件、通信网络、用户 B. 该系统中的用户仅指安保人员和管理员
C. 该系统中的智能管理软件属于应用软件 D. 该系统中高清摄像头属于存储设备
4. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列有关信息安全的做法中,不正确的是( )
A. 服务器配备UPS不间断电源防止断电数据丢失
B. 监控视频通过加密方式进行数据传输
C. 系统管理员通过指纹识别方式进入系统
D. 管理员给全校老师设置查看监控的权限
5. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。已知校园内共有3幢教学楼,每幢教学楼有5层,需在每一层东西两侧各安装一个摄像头,使用二进制对设备进行依次编码,依次是楼号(1~3),楼层(1~5),位置(0为东、1为西),则3号楼2楼西侧摄像头的编号最恰当的是( )
A. 110101 B. 100111 C. 111011 D. 110011
6. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列有关网络系统的说法,正确的是( )
A. 该系统中终端与服务器是单向数据传输
B. 该系统设计时采用的是B/S架构
C. 该系统架设完成后需进行连通性测试
D. 该系统中手机接入网络只能通过移动通信网络
7. 某算法的部分流程图如图所示,执行这部分流程,若输入x的值为依次为57,80,60,75,50,90,-1,则输出结果为( )
A. 460 B. 3,75 C. 3,90 D. 4,100
8. 假设你正在设计一个简单的文字处理软件,用户可以进行以下操作:
输入字符(I):输入一个字符,该字符会被添加到当前文本的末尾。
删除字符(D):删除当前文本的最后一个字符。
撤消操作(Z):撤销最近一次的操作(输入或删除),恢复到操作前的状态。
有如下操作序列IIDZIDDZ,请问最后剩下的字符数为( )
A. 0 B. 1 C. 2 D. 3
9. 某二叉树的中序遍历结果是CBDAE,前序遍历结果是ABCDE。若其中的一个叶子节点增加左子树(仅包含节点N),则新二叉树的后序遍历结果不可能是( )
A. NCDBEA B. CNDBEA C. CDBNEA D. CDNBEA
10. 中国动画电影《哪吒之魔童闹海》票房一路飙升,进入全球影史排行榜前20名。数组元素a[0]~a[n-1]已按票房降序存储排行榜,其中a[i][0]是电影名,a[i][1]是票房。《哪吒之魔童闹海》存储在a[pos]位置,现要实现该位置票房增加x,仍保持数组的有序性不变,实现该功能的自定义函数如下:
def sort(pos,x):
n=len(a)
a[pos][1]+=x
i=pos
while ① :
②
i-=1
return a
程序①②划线处的代码组合应为( )
①i>0 and a[i][1]>a[i-1][1] ②a[i][1]>a[i-1][1]
③a[i],a[i-1]=a[i-1],a[i] ④a[i]=a[i-1]
A. ①② B. ①③ C. ①④ D. ②③
11. 有如下Python程序:
a=[5,42,15,45,13,19,50,4,26]
n=len(a)
k=int(input())
i=min(a)
j=max(a)
while i<=j:
m=(i+j)//2
count=0
for w in range(n):
if a[w]>m:
count=count+1
if count>k-1:
i=m+1
else:
j=m-1
print(i)
程序运行时,输入k的值为4,输出结果是( )
A. 4 B. 15 C. 19 D. 26
12. 为实现字符串的加密输出,编写如下Python程序:
import random
q=['p','r','i','n','t']
n=len(q)
k=random.randint(2,4)
head=0
tail=4
res=""
while head!=tail:
if head%k==0:
res+=q[head]
else:
tail=(tail+1)%n
q[tail]=q[head]
head=(head+1)%n
res+=q[head]
程序运行后,res的值不可能是( )
A. print B. pnrit C. ptrni D. pitrn
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 给定一个公交路线的n个站点列表che(索引为0~n-1),其中che[i][0]表示第i站上车的人数,che[i][1]表示第i站下车的人数。公交车的最大载客量为max_c。现在需要找出该车从空车到坐满的起始站点和结束站点。
示例:假设che=[[4,0],[0,4],[10,0],[5,2],[15,2],[8,4],[0,10],[0,8],[0,12]],最大载客量max_c=30。根据输入数据,车上人数从空车到坐满的区间为0~5和2~5。
站点:0~5
站点:2~5
从空车到坐满的区间共有:2个
请回答下列问题:
(1)假设che=[[10,0],[5,10],[10,3],[5,0],[15,2],[0,10],[0,8],[0,12]],车上人数从空车到坐满(max_c=30)的区间为__________~_____________(填数字)
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取一个公交路线的站点数据存入che列表,读取max_c,代码略
pos={0:[-1]} #定义初始字典
①________
cnt=0
cur=0
for i in range(n):
cur+=che[i][0]-che[i][1]
pre=②________
if pre in pos:
for j in pos[pre]:
print("站点:",j+1,"~",i)
cnt+=1
if cur in pos:
③________
else:
pos[cur]=[i]
print("从空车到坐满的区间共有:"+str(cnt)+"个")
14. 某博物馆引入智慧物联系统,通过温度、湿度传感器实时监测展品柜的环境数据,数据由智能终端经IoT模块上传至Web服务器。系统可根据阈值自动调控温湿度,启动温控或通风设备,如遇异常情况发出蜂鸣报警。管理员可通过浏览器远程查看实时和历史数据,进行阈值设置等操作。
请回答以下问题:
(1)直接打开温控和通风设备的是____________(单选,填字母:A.智能终端/B.服务器)
(2)下列关于该信息系统的设计与搭建的说法,正确的是___________(多选,填字母)。
A.数据库可选择Python导入的开源嵌入数据库SQLite
B.只需编写服务器端程序,智能终端不需要编写程序
C.智能终端发生故障不会影响管理员查看历史数据
D.测试并观察该系统运行时的行为,属于静态测试
(3)展柜A的传感器编号id为1,获取的温度值t为22,智能终端中设置的Web服务器参数为IP="192.168.1.1",PORT="5000"。服务器端接收数据的路由是"/input",则提交数据到Web服务器的完整URL为http://_________________?id=1&t=22。
(4)如遇异常情况时发出蜂鸣报警,会给游客不太好的体验,请你提出更具人性化的、针对管理员的提示方式____________、_______________。
(5)展柜A展览纸质和纺织品(适宜温度在20±2,适宜湿度在55±5),监测点每隔1小时上传一次温度和湿度数据,近一个月的数据导出为Excel文件"data.xlsx",部分数据如图a所示。
监测点
日期
小时
温度
湿度
状态
展柜A
2024-7-1
0
20
56
展柜A
2024-7-1
1
20
56
展柜A
2024-7-1
2
20
58
展柜A
2024-7-1
3
19
53
…
…
…
…
…
…
图a
现要编写一个程序,根据阈值确定当前温湿度对应的状态(0为正常、1为开启温控、2为开启通风、3为开启温控通风)。最后统计近一个月非正常情况出现的数量,绘制如图b所示的柱形图。实现上述功能的部分Python程序如下:
图b
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
#根据阈值确定当前温湿度对应的状态
code=["温控","通风","温控通风"]
for i in df.index:
x=y=0
t=dfat[i,'温度']
h=df.at[i,'湿度']
if abs(t-20)>2:
x=1
if abs(h-55)>5:
y=1
dfat[i,'状态']=①____ #将结果写入状态列,请填入合适代码
#统计近一个月非正常情况出现的数量,并绘制柱形图
plt.bar(code,df1.日期)
#设置图表标题、横纵坐标标题,并显示图表,代码略。
①请在程序中划线①处填入合适的代码。
②程序加框处代码可在以下语句中选择,代码顺序正确的是____________(多选,填字母)。
A.bad B.bac C.dab D.dba
a.df1.groupby("状态",as_index=False).count() #分类统计
b.df1[df1.状态>0]
c.df.sort_values("状态",ascending=False) #降序
d.df.sort_values("状态")
15. 在运动员的日常训练中,训练成绩通常会出现一定的波动。适度的波动是正常的,但如果成绩突然大幅提高或降低,这可能暗示运动员的训练计划或身体状态出现了问题。为了衡量这种波动情况,教练们引入了“波动值”这一概念:波动值越大,说明运动员的训练成绩越不稳定。为了更准确地评估训练的稳定性,教练们需要计算每一天的最小波动值,并将这些值累加起来。具体来说,一天的最小波动值定义为之前某一天训练成绩与该天训练成绩之差的绝对值的最小值,即:一天的最小波动值=min(|之前某一天的训练成绩-该天训练成绩|),第一天的最小波动值为第一天的训练成绩。
例如:某运动员的六天的训练成绩如下:[15,11,9,14,8,16]。
则其总波动值为:15+|15-11|+|11-9|+|15-14|+|9-8|+|15-16|=24。
请回答下列问题:
(1)定义如下sort函数,对data数据按照训练成绩从低到高排序。data列表中每个元素的4个数据项分别为:训练成绩、成绩所在索引、前驱指针、后继指针。
def sort():
for i in range(n-1):
k=i
for j in range( ①____):
if data[j][0]<data[k][0]:
k=j
if k!=i:
①请在划线处填入合适的代码。
②调用sort()函数,若data列表长度为6,data[0][0],data[1][0]…data[5][0]的值依次为:7,1,5,4,5,6,则框处代码执行的次数为______________。
(2)定义如下函数,其功能为删除索引x所在节点。请在划线处填入合适的代码。
def delete(x):
data[data[x][2]][3]=data[x][3]
________________________
(3)主程序Python代码如下,请在划线处填入合适代码。
n=6
```
读取运动员训练数据存入data列表,代码略。
如题中所给数据,[5,1,2,3,4,6],存入data列表后:
data=[[5,0,-1,-1],[1,1,-1,-1],[2,2,-1,-1],[3,3,-1,-1],[4,4,-1,-1],[6,5,-1,-1]]
```
sort()
#创建双向链表
pos=[0]*n #pos[i]记录索引为i数在链表中的位置
for i in range(n):
①________
if i!=0:
data[i][2]=i-1
if i!=n-1:
data[i][3]=i+1
ans=0
for i in range(n-1,-1,-1):
p=pos[i]
1=r=1000
if data[p][2]!=-1:
1=abs(data[p][0]-data[data[p][2]][0])
if data[p][3]!=-1:
r=abs(data[p][0]-data[data[p][3]][0])
if i!=0:
ans+=②____
else:
ans+=data[p][0]
delete(p)
print(ans)
第1页/共1页
学科网(北京)股份有限公司
$$
绝密★考试结束前
高三技术试题
考生须知:
1.本卷共13页满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效;
4.考试结束后,只需上交答题纸。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据、信息和知识说法,正确的是( )
A. 生成式人工智能中数据的表现形式只有文字
B. 生成式人工智能只能处理结构化数据
C. 生成式人工智能生成的信息,其价值因人而异
D. 只要会用生成式人工智能就能掌握海量知识
【答案】C
【解析】
【详解】本题考查数据、信息、知识相关知识。生成式人工智能中数据的表现形式有文字、图片等,A错误;可以处理非结构化数据,B错误;信息的价值是相对的,C正确;会用不等于掌握了知识,D错误。故选C。
2. 下列关于人工智能的说法,正确的是( )
A. 生成式人工智能的应用说明机器智能已超过人类智能
B. 人工智能的发展依赖于数据、算法和算力的共同进步
C. 生成式人工智能通过符号主义的知识库和推理引擎实现
D. 人工智能的发展推动社会进步,但不会威胁到人类
【答案】B
【解析】
【详解】本题考查人工智能相关知识。人类智能才是智能回路的总开关,A错误;主要基于神经网络、深度学习和强化学习技术,C错误;人工智能的发展推动社会进步,但可能威胁到人类,D错误。故选B。
3. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列关于该信息系统的说法,正确的是( )
A. 该系统包含硬件、软件、通信网络、用户 B. 该系统中的用户仅指安保人员和管理员
C. 该系统中的智能管理软件属于应用软件 D. 该系统中高清摄像头属于存储设备
【答案】C
【解析】
【详解】本题考查信息系统的组成。信息系统由硬件、软件、数据、通信网络、用户五部分组成,A错误;该系统中的用户不能局限于安保人员和管理员,B错误;高清摄像头属于输入设备,D错误。因此,本题选择C选项。
4. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列有关信息安全的做法中,不正确的是( )
A. 服务器配备UPS不间断电源防止断电数据丢失
B. 监控视频通过加密方式进行数据传输
C. 系统管理员通过指纹识别方式进入系统
D. 管理员给全校老师设置查看监控的权限
【答案】D
【解析】
【详解】本题考查信息安全相关知识。监控系统的访问权限应遵循最小权限原则,即只授予必要人员必要的权限。全校老师并非都需要查看监控的权限(通常只有安保人员或相关管理人员需要)。这种做法可能导致监控数据被滥用或泄露,违反信息安全原则。故选D。
5. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。已知校园内共有3幢教学楼,每幢教学楼有5层,需在每一层的东西两侧各安装一个摄像头,使用二进制对设备进行依次编码,依次是楼号(1~3),楼层(1~5),位置(0为东、1为西),则3号楼2楼西侧摄像头的编号最恰当的是( )
A. 110101 B. 100111 C. 111011 D. 110011
【答案】A
【解析】
【详解】本题考查二进制相关知识。1-3号楼2位二进制(3号楼对应11),1-5楼3位二进制(2楼对应010),东西侧1位二进制(西侧对应1)。故选A。
6. 某校园监控系统在校园关键区域布置高清摄像头,实时传输拍摄数据至中心服务器。借助智能管理软件,可实现自动录制、回放、异常行为分析等功能。管理员通过后台分配权限、管理设备,且可授权安保人员通过手机APP查看监控画面。下列有关网络系统的说法,正确的是( )
A. 该系统中终端与服务器是单向数据传输
B. 该系统设计时采用的是B/S架构
C. 该系统架设完成后需进行连通性测试
D. 该系统中手机接入网络只能通过移动通信网络
【答案】C
【解析】
【详解】本题考查网络系统相关知识。终端与服务器是双向数据传输,A错误;手机APP访问服务器,采用的是C/S架构,B错误;手机接入网络可以通过移动通信网络,也可以通过计算机网络等,D错误。故选C。
7. 某算法的部分流程图如图所示,执行这部分流程,若输入x的值为依次为57,80,60,75,50,90,-1,则输出结果为( )
A. 4,60 B. 3,75 C. 3,90 D. 4,100
【答案】B
【解析】
【详解】本题考查流程图与程序设计相关知识。模拟可得答案为B选项,功能是求大于y的个数及其最小的数。y=60,n=100,k=0
x
y
n
57
0
100
80
1
80
60
1
80
75
2
75
50
2
75
90
3
75
-1
结束
故选B。
8. 假设你正在设计一个简单的文字处理软件,用户可以进行以下操作:
输入字符(I):输入一个字符,该字符会被添加到当前文本的末尾。
删除字符(D):删除当前文本的最后一个字符。
撤消操作(Z):撤销最近一次的操作(输入或删除),恢复到操作前的状态。
有如下操作序列IIDZIDDZ,请问最后剩下的字符数为( )
A. 0 B. 1 C. 2 D. 3
【答案】C
【解析】
【详解】本题考查栈的基本操作。栈的特性是先进后出,后进先出,模拟可得最后剩下的字符数为2。故选C。
9. 某二叉树的中序遍历结果是CBDAE,前序遍历结果是ABCDE。若其中的一个叶子节点增加左子树(仅包含节点N),则新二叉树的后序遍历结果不可能是( )
A. NCDBEA B. CNDBEA C. CDBNEA D. CDNBEA
【答案】D
【解析】
【详解】本题考查二叉树相关知识。根据题干描述,先构造如图所示的二叉树,。
增加的左子树N可能在C、D、E节点处,后序遍历分别是NCDBEA、CNDBEA、CDBNEA。故选D。
10. 中国动画电影《哪吒之魔童闹海》票房一路飙升,进入全球影史排行榜前20名。数组元素a[0]~a[n-1]已按票房降序存储排行榜,其中a[i][0]是电影名,a[i][1]是票房。《哪吒之魔童闹海》存储在a[pos]位置,现要实现该位置票房增加x,仍保持数组的有序性不变,实现该功能的自定义函数如下:
def sort(pos,x):
n=len(a)
a[pos][1]+=x
i=pos
while ① :
②
i-=1
return a
程序①②划线处的代码组合应为( )
①i>0 and a[i][1]>a[i-1][1] ②a[i][1]>a[i-1][1]
③a[i],a[i-1]=a[i-1],a[i] ④a[i]=a[i-1]
A. ①② B. ①③ C. ①④ D. ②③
【答案】B
【解析】
【详解】本题考查排序和数组的基本操作。基本思路为从pos位置往前进行比较,注意比较的边界i最多到1,如果a[i][1]比a[i-1][1]大,则交换a[i]和a[i-1],故选①和③。因此,本题选择B选项。
11. 有如下Python程序:
a=[5,42,15,45,13,19,50,4,26]
n=len(a)
k=int(input())
i=min(a)
j=max(a)
while i<=j:
m=(i+j)//2
count=0
for w in range(n):
if a[w]>m:
count=count+1
if count>k-1:
i=m+1
else:
j=m-1
print(i)
程序运行时,输入k的值为4,输出结果是( )
A. 4 B. 15 C. 19 D. 26
【答案】D
【解析】
【详解】本题考查对分查找的基本操作。该程序的功能为查找第k大数,k=4时,结果为26。故正确答案为:选项D。
12. 为实现字符串的加密输出,编写如下Python程序:
import random
q=['p','r','i','n','t']
n=len(q)
k=random.randint(2,4)
head=0
tail=4
res=""
while head!=tail:
if head%k==0:
res+=q[head]
else:
tail=(tail+1)%n
q[tail]=q[head]
head=(head+1)%n
res+=q[head]
程序运行后,res的值不可能是( )
A print B. pnrit C. ptrni D. pitrn
【答案】A
【解析】
【详解】本题考查队列的基本操作。本程序为循环队列的应用,k为2~4的随机数,当head能被k整除时,输出head位置的字符,否则存到尾部,当k为1才会输出A选项。故选A。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 给定一个公交路线n个站点列表che(索引为0~n-1),其中che[i][0]表示第i站上车的人数,che[i][1]表示第i站下车的人数。公交车的最大载客量为max_c。现在需要找出该车从空车到坐满的起始站点和结束站点。
示例:假设che=[[4,0],[0,4],[10,0],[5,2],[15,2],[8,4],[0,10],[0,8],[0,12]],最大载客量max_c=30。根据输入数据,车上人数从空车到坐满的区间为0~5和2~5。
站点:0~5
站点:2~5
从空车到坐满的区间共有:2个
请回答下列问题:
(1)假设che=[[10,0],[5,10],[10,3],[5,0],[15,2],[0,10],[0,8],[0,12]],车上人数从空车到坐满(max_c=30)的区间为__________~_____________(填数字)
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取一个公交路线的站点数据存入che列表,读取max_c,代码略
pos={0:[-1]} #定义初始字典
①________
cnt=0
cur=0
for i in range(n):
cur+=che[i][0]-che[i][1]
pre=②________
if pre in pos:
for j in pos[pre]:
print("站点:",j+1,"~",i)
cnt+=1
if cur in pos:
③________
else:
pos[cur]=[i]
print("从空车到坐满的区间共有:"+str(cnt)+"个")
【答案】 ①. 0 ②. 4 ③. n=len(che) ④. cur=max_c ⑤. pos[cur]+=[i]
【解析】
【详解】考查Python程序设计的基本应用。
(1)遍历各站点后,计算当前乘客数cur。当处理到第4站时,cur=30。对应的起始站点为pos[0]中的-1+1=0,结束站点为4,故区间为0~4。
(2)① 获取站点总数n,通过len(che)得到,故此处应为:n=len(che)。 ② pre为当前乘客数与最大载客量的差值,用于查找满足条件的起始站点,故此处应为:cur-max_c。 ③ 若当前cur已存在于pos字典中,将当前站点i追加到对应的列表中,故此处应为:pos[cur]+=[i]。
14. 某博物馆引入智慧物联系统,通过温度、湿度传感器实时监测展品柜的环境数据,数据由智能终端经IoT模块上传至Web服务器。系统可根据阈值自动调控温湿度,启动温控或通风设备,如遇异常情况发出蜂鸣报警。管理员可通过浏览器远程查看实时和历史数据,进行阈值设置等操作。
请回答以下问题:
(1)直接打开温控和通风设备的是____________(单选,填字母:A.智能终端/B.服务器)
(2)下列关于该信息系统的设计与搭建的说法,正确的是___________(多选,填字母)。
A.数据库可选择Python导入开源嵌入数据库SQLite
B.只需编写服务器端程序,智能终端不需要编写程序
C.智能终端发生故障不会影响管理员查看历史数据
D.测试并观察该系统运行时的行为,属于静态测试
(3)展柜A的传感器编号id为1,获取的温度值t为22,智能终端中设置的Web服务器参数为IP="192.168.1.1",PORT="5000"。服务器端接收数据的路由是"/input",则提交数据到Web服务器的完整URL为http://_________________?id=1&t=22。
(4)如遇异常情况时发出蜂鸣报警,会给游客不太好的体验,请你提出更具人性化的、针对管理员的提示方式____________、_______________。
(5)展柜A展览纸质和纺织品(适宜温度在20±2,适宜湿度在55±5),监测点每隔1小时上传一次温度和湿度数据,近一个月的数据导出为Excel文件"data.xlsx",部分数据如图a所示。
监测点
日期
小时
温度
湿度
状态
展柜A
2024-7-1
0
20
56
展柜A
2024-7-1
1
20
56
展柜A
2024-7-1
2
20
58
展柜A
2024-7-1
3
19
53
…
…
…
…
…
…
图a
现要编写一个程序,根据阈值确定当前温湿度对应的状态(0为正常、1为开启温控、2为开启通风、3为开启温控通风)。最后统计近一个月非正常情况出现的数量,绘制如图b所示的柱形图。实现上述功能的部分Python程序如下:
图b
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
#根据阈值确定当前温湿度对应的状态
code=["温控","通风","温控通风"]
for i in df.index:
x=y=0
t=df.at[i,'温度']
h=df.at[i,'湿度']
if abs(t-20)>2:
x=1
if abs(h-55)>5:
y=1
df.at[i,'状态']=①____ #将结果写入状态列,请填入合适代码
#统计近一个月非正常情况出现的数量,并绘制柱形图
plt.bar(code,df1.日期)
#设置图表标题、横纵坐标标题,并显示图表,代码略。
①请在程序中划线①处填入合适的代码。
②程序加框处代码可在以下语句中选择,代码顺序正确的是____________(多选,填字母)。
A.bad B.bac C.dab D.dba
a.df1.groupby("状态",as_index=False).count() #分类统计
b.df1[df1.状态>0]
c.df.sort_values("状态",ascending=False) #降序
d.df.sort_values("状态")
【答案】 ①. A ②. AC ③. 192.168.1.1:5000/input ④. 以电子邮件、微信、短信、震动方式将报警信息发给管理员手机 ⑤. 在管理员监控电脑屏幕上显示预警信息或在管理员巡逻的路上用指示灯、电子屏等灯光预警信息 ⑥. x+y*2 ⑦. CD
【解析】
【详解】本题考查信息系统搭建与利用Pandas进行数据统计处理。
(1)智能终端可以控制传感器(输入设备)去获取外界信息,将数据传输到服务器。智能终端可以获取服务器的指令,去控制执行器(输出设备)作用于外界环境。因此通过执行器打开通风系统和温控系统应该是A。
(2)数据库可选择Python自带的开源嵌入数据库SQLite,A正确;需要在服务器端和智能终端编写程序,B错误;智能终端发生故障影响实时数据查看,但不影响查看历史数据,C正确;测试并观察该系统运行时的行为,属于动态测试,D错误。
(3)完整的访问地址:http://IP:PORT/路由,完整地址http://192.168.1.1:5000/input?id=1&t=22
(4)回答要指向管理员,可以通过灯光颜色的变化提醒;语音提醒;提示短信;设备震动等形式。
(5)①考查二进制的计算,4种状态分别对应0、1、2、3,所以为x+y*2。
②三个操作,筛选、分类统计、排序,顺序实际上是可以交换的,此题中注意第一行语句操作的对象应是df,先排成升序(状态从0-3排列),所以先选d,接下来ab或ba均可,所以答案是CD。
15. 在运动员的日常训练中,训练成绩通常会出现一定的波动。适度的波动是正常的,但如果成绩突然大幅提高或降低,这可能暗示运动员的训练计划或身体状态出现了问题。为了衡量这种波动情况,教练们引入了“波动值”这一概念:波动值越大,说明运动员的训练成绩越不稳定。为了更准确地评估训练的稳定性,教练们需要计算每一天的最小波动值,并将这些值累加起来。具体来说,一天的最小波动值定义为之前某一天训练成绩与该天训练成绩之差的绝对值的最小值,即:一天的最小波动值=min(|之前某一天的训练成绩-该天训练成绩|),第一天的最小波动值为第一天的训练成绩。
例如:某运动员的六天的训练成绩如下:[15,11,9,14,8,16]。
则其总波动值为:15+|15-11|+|11-9|+|15-14|+|9-8|+|15-16|=24。
请回答下列问题:
(1)定义如下sort函数,对data数据按照训练成绩从低到高排序。data列表中每个元素的4个数据项分别为:训练成绩、成绩所在索引、前驱指针、后继指针。
def sort():
for i in range(n-1):
k=i
for j in range( ①____):
if data[j][0]<data[k][0]:
k=j
if k!=i:
①请在划线处填入合适的代码。
②调用sort()函数,若data列表长度为6,data[0][0],data[1][0]…data[5][0]的值依次为:7,1,5,4,5,6,则框处代码执行的次数为______________。
(2)定义如下函数,其功能为删除索引x所在节点。请在划线处填入合适的代码。
def delete(x):
data[data[x][2]][3]=data[x][3]
________________________
(3)主程序Python代码如下,请在划线处填入合适代码。
n=6
```
读取运动员训练数据存入data列表,代码略。
如题中所给数据,[5,1,2,3,4,6],存入data列表后:
data=[[5,0,-1,-1],[1,1,-1,-1],[2,2,-1,-1],[3,3,-1,-1],[4,4,-1,-1],[6,5,-1,-1]]
```
sort()
#创建双向链表
pos=[0]*n #pos[i]记录索引为i数在链表中的位置
for i in range(n):
①________
if i!=0:
data[i][2]=i-1
if i!=n-1:
data[i][3]=i+1
ans=0
for i in range(n-1,-1,-1):
p=pos[i]
1=r=1000
if data[p][2]!=-1:
1=abs(data[p][0]-data[data[p][2]][0])
if data[p][3]!=-1:
r=abs(data[p][0]-data[data[p][3]][0])
if i!=0:
ans+=②____
else:
ans+=data[p][0]
delete(p)
print(ans)
【答案】 ①. range(i+1,n)或range(n-1,i,-1)或range(i,n)或i用k替代其他等价答案 ②. 4 ③. data[data[x][3]][2]=data[x][2] ④. pos[data[i][1]]=i ⑤. min(l,r)或min(r,l)或其他等价答案
【解析】
【详解】本题考查Python程序设计综合应用。
(1)①考察选择排序算法。每一趟排序从剩余元素中选择一个最小值放在i位置。k初始为i位置。因此划线处为:range(i+1,n)或range(n-1,i,-1)或range(i,n)或i用k替代其他等价答案。
②考察对选择排序过程的理解。k!=i时,进行交换。因此,对于数据7,1,5,4,5,6:第1趟,7和1交换;第2趟,7和4交换;第3趟,5和5不交换;第4趟,7和5交换;第5趟,7和6交换。共交换4次。
(2)该函数功能为删除索引x所在节点。结合主程序代码可以发现其数据结构为双向链表。双向链表中,删除x节点,需将x的前驱节点的后继指针指向x的后继节点。x的后继节点的前驱指针指向x的前驱节点。
data[data[x][2]][3]=data[x][3]语句将x的前驱节点的后继指针指向x的后继节点,即②这条线。则①这条线的操作语句为:data[data[x][3]][2]=data[x][2];
(3)阅读主程序,可以发现解决问题的步骤为:先排序,后对排序数据建立双向链表。根据双向链表可以快速得知p节点相邻值。其中:语句for i in range(n-1,-1,-1)得知从最后一个开始逐个计算当天的最小波动值。p=pos[i],p即为最后一个成绩在链表中的索引。l和r分别计算p节点的前驱与后继与其的差值。因此,易得②处为:min(l,r)或min(r,l)或其他等价答案。
当p节点计算完后,即在链表中删除该节点。因为后续成绩对前期成绩没有影响(最小波动值=之前某一天的训练成绩-该天训练成绩)。从后往前,逐个计算当天的最小波动值。关键在于找到当天成绩在链表中的位置。pos[i]就是这个作用。结合注释,pos[i]记录索引为i的数在链表中的位置。排序完成后,i索引的data数据索引项为data[i][1]。因此,①处代码为:pos[data[i][1]]=i。
第1页/共1页
学科网(北京)股份有限公司
$$