内容正文:
2025学年第一学期浙东北县域名校发展联盟(ZDB)11月诊断测试
高三技术试题
本试卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片的版权。平台分析用户下载、评论等行为形成热门推荐榜单。关于该平台中数据与信息的说法,正确的是( )
A. 图片是平台唯一的数据表现形式
B. 用户行为数据仅用于生成热门推荐榜单
C. 创作者上传的图片以二进制编码形式存储
D. 同一图片的信息价值由平台统一界定
2. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片的版权。平台分析用户下载、评论等行为形成热门推荐榜单。下列关于信息安全与信息社会责任的做法,合理的是( )
A. 下载他人作品直接进行商用 B. 向平台反馈他人侵权行为
C. 通过刷点击量行为提升作品排名 D. 借用他人身份信息注册账号
3. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片的版权。平台分析用户下载、评论等行为形成热门推荐榜单。某创作者要上传1张3840×2160像素,位深度为24位的BMP格式4K高清原创图片,但平台规定单张图片上传容量需控制在3MB以内,图片采用JPG格式,则压缩比至少需达到多少?( )
A. 60:1 B. 20:1 C. 10:1 D. 8:1
4. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列关于该信息系统组成与功能的说法,正确的是( )
A. 触摸屏作为输入设备支持训练模式选择
B. 该智能系统可以消除数字鸿沟问题
C. 运动数据同步至服务器体现数据的处理功能
D. 健康积分兑换功能可完全避免人为管理误差
5. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列关于该健身系统中网络技术的说法,正确的是( )
A. 服务器必须与其他设备在一个局域网内
B. 会员查看实时数据需通过移动通信网络
C. 运动数据同步至服务器仅需物理连接无需协议
D. 健身设备需分配唯一IP地址以接入网络
6. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列对该系统升级改造,使用了人工智能技术的是( )
A. 基于历次锻炼数据学习的动作纠正功能 B. 器械根据用户体型自动调节高度
C. 设备故障时采用语音广播形式进行报警 D. 排行榜按会员活跃度进行动态排名
7. 某算法流程图如图所示,其中输入s的值为“34aBcdeEfghij”(不包括引号),则输出的结果是( )
A. 3 B. 4 C. 5 D. 6
8. 队列Q从队首到队尾依次存储5个元素,栈S初始为空。通过对队列Q和栈S的操作,实现元素升序输出。基本算法为:若栈为空或者队首元素小于栈顶元素,那么队首元素出队并入栈;否则,将栈内所有小于队首元素的元素依次出栈并入队,然后将队首元素出队并入栈。执行一次“出队并入栈”或“出栈并入队”操作,记为一次操作,反复执行上述操作,直到队列为空。最终,依次输出栈S中的元素即可。按照以上算法,以下4组初始队列中,操作次数最少的是( )
A. 5、2、7、3、6 B. 5、6、7、3、2 C. 7、6、2、3、5 D. 2、3、5、6、7
9. 某非完全二叉树有6个节点,中序遍历为ABCDEF,该二叉树删除1个节点后变成完全二叉树。该完全二叉树后序遍历不可能的是( )
A. ACBED B. BDCFE C. ADBFE D. ADCEF
10. 已知非降序列表a由若干个整型元素构成,现要查找并输出整数key出现的次数,实现该功能的程序段如下:
def search(k):
i,j=0,len(a)-1
while i <= j:
m=(i+j)//2
if :
i=m+1
else:
j=m-1
return i
a=[1,3,6,6,6,8,9,9,9,9,10]
key=int(input("输入查找键:"))
x=search(key)
y=search(key-1)
print("出现的次数:"+str(x-y))
加框处应填入的正确代码为( )
A. k>a[m] B. k>=a[m] C. k<a[m] D. k<=a[m]
11. 有如下Python程序段:
def f(s,x):
n=len(s)
if x >= n:
return ""
elif x <= n//2:
return f(s,x+2)+s[x]
else:
return s[x]+f(s,x+2)
s="program"
print(f(s,0))
程序运行后输出结果是( )
A. rmop B. oprm C. pomr D. mrop
12. 有如下Python程序:
s=input("输入字符串:")
k=[-1]*128
i=0
m=0
for j in range(len(s)):
cur=s[j]
if k[ord(cur)] >= i:
i=k[ord(cur)]+1
k[ord(cur)]=j
tmp=j-i+1
m=max(tmp,m)
print(m)
程序运行时,输入"2025happy"(不包含双引号),输出结果是( )
A. 3 B. 4 C. 5 D. 6
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分)
13. 某农业大棚搭建了智能监测系统,通过采集温湿度、光照等数据监测大棚环境,助力农作物生长。智能终端每小时获取5次数据,计算5个数据的平均值并通过IoT模块连接Wi-Fi上传至服务器。当服务器检测到某项数据异常时,向农户发送提醒短信,并通过智能终端启动大棚内换气扇。农户可通过电脑端管理平台查看历史数据曲线。请回答以下问题:
(1)温湿度数据从采集到农户查看历史数据曲线的数据流方向为____
A.传感器→换气扇→智能终端→服务器→电脑端管理平台
B.传感器→智能终端→服务器→电脑端管理平台
C.传感器→服务器→智能终端→电脑端管理平台
(2)该系统中需要在服务器端完成的数据操作是____
A.湿度等数据采集
B.控制换气扇的启动
C.与农作物适宜生长阈值的比对
(3)若连接在智能终端上的IoT模块突发故障不能工作,会引发的问题有____
A.农户无法通过电脑端管理平台回看昨天的光照历史数据
B.智能终端无法传输温湿度数据至服务器
C.服务器向智能终端传送控制换气扇的信号失败
D.农户接收提醒短信失败
(4)智能终端每小时获取5个温度数据存入列表h,计算平均值ave的部分流程图如右图,图中①处应填入____。
(5)现需增加二氧化碳浓度监测的功能,在智能终端接入二氧化碳传感器后,还需对软件部分做多处修改。请用文字描述其中1处修改建议。____
14. 某校进行年级学习标兵网络评选活动,共有5名候选人(编号0~4),全年段13个班级,每班随机选20人进行投票(赞成的打"O",不赞成的打"X"),单张票赞同数不超过2人,否则为无效票。投票结果导出为Excel表格,部分数据如图a所示。现要进行以下分析,请回答下列问题:
(1)对投票进行处理,如果是有效票,在“是否有效票”显示“Y”,否则显示“N”,同时计算各候选人的得票数,输出得票最高的候选人姓名和得票数,如果多位候选人得票并列第一则全部输出,如图b所示,请在程序划线处填入合适的代码。
import pandas as pd
import matplotlibpyplot as plt
df=pd.read_excel('votes.xls')
#统计处理有效票
names=["张**","李**","王**","郑**","周**"]
d=[0]*5
for row in df.index:
x= ①____
cnt=0
for i in range(5):
ifx[i]=="O":
cnt+=1
if cnt<=2:
df.at[row,"是否有效票"]="Y"
for i in range(5):
if x[i]=="O":
d[i]+=1
else:
df.at[row,"是否有效票"]="N"
#找出得票最高的候选人和得票数
maxc=[]
i=0
while i<len(d):
if ②____:
maxc=[i]
elif d[i]==d[maxc[0]]:
maxc.append(i)
③____
for i in maxc:
print("得票最高的候选人和得票数:",names[i],d[i])
(2)现要绘制如图c所示的各班级有效票率(有效票数/回收票数)的柱形图,请选择合适的代码填入划线处(单选,填字母)。
图c
df1= ①____
df2= ②____
df2= ③____
plt.bar(df2.班级,df2.是否有效票/df1.是否有效票)
#设置绘图参数,代码略
程序中①②③处可选的代码有:
A.df[df.是否有效票=="Y"]
B.df1[df1.是否有效票=="Y"]
C.df.sort_values('是否有效票',ascending=False)
D.df.groupby('班级',as_index=False).是否有效票.count()
E.df2.sort_values('是否有效票',ascending=False)
F.df2.groupby('班级',as_index=False).是否有效票.count()
15. n行m列的工厂网格中分布着不同能量值的资源块,机器人初始位于(x,y),机器人可以上下左右移动收集四周的资源进行充电:
·机器人电量S为已收集资源能量之和;
·资源块能量值为k,当S值为0或k<S/2时可收集,收集后资源块消失,机器人电量增加;现要求出机器人能获得的最大能量值。
如图a所示:机器人初始位置为(1,1),获得能量9,可以向四个方向移动,其能量获取路径如图b所示。当能量S=28时,四周已无满足条件的资源块,行程结束。因此,最大能量值为28。
图a 图b
请回答下列问题:
(1)若将图a中第一行(0,1)位置的能量值改为7,则机器人获取的最大能量值为____。
(2)insert函数功能为:在链表中插入值为[x,y,k]的资源块,并返回头指针。其中x,y为位置,k为能量值。实现上述功能的Python代码如下,请在划线处填入合适的代码。
def insert(h,x,y,k):
if h==-1:
que.append([x,y,k,-1])
h=len(que)-1
return h
que.append([x,y,k,-1])
pos=len(que)-1
if k<=que[h][2]:
que[pos][3]=h
①____
else:
p=h
q=que[p][3]
while ②____:
p=q
q=que[q][3]
que[pos][3]=q
que[p][3]=pos
return h
(3)walk函数实现机器人收集能量块过程,并返回获取的能量最大值。Python程序如下,请在划线处填入合适的代码。
def walk(x,y):
dx=[0,0,-1,1] #dx,dy表示上下左右四个方向。
dy=[-1,1,0,0]
que.append([x,y,data[x][y],-1])
s=0
h=0
vis[x][y]=True
while h != -1:
top=que[h]
h=que[h][3]
if s == 0 or s/2 > top[2]:
①____
elif s/2 <= top[2]:
return s
for i in range(len(dx)):
nx=top[0]+dx[i]
ny=top[1]+dy[i]
if nx >= n or nx < 0 or ny < 0 or ny >= m or vis[nx][ny]:
continue
h= ②____
vis[nx][ny]=True
return s
’’’
读取网格的行数、列数存入变量n、m。读取网格数据存入data列表,如图a所示,data列表为:[[14,6,9],[4,9,20],[17,15,7]]。vis二维数组初始化为False。代码略。
x=y=1
que=[]
ans=walk(x,y)
print("最大能量值为:",ans)
第1页/共1页
学科网(北京)股份有限公司
$
2025学年第一学期浙东北县域名校发展联盟(ZDB)11月诊断测试
高三技术试题
本试卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片的版权。平台分析用户下载、评论等行为形成热门推荐榜单。关于该平台中数据与信息的说法,正确的是( )
A. 图片是平台唯一的数据表现形式
B. 用户行为数据仅用于生成热门推荐榜单
C. 创作者上传的图片以二进制编码形式存储
D. 同一图片的信息价值由平台统一界定
【答案】C
【解析】
【详解】本题考查数据、信息。选项A:错误。数据的表现形式具有多样性,除图片外,平台中用户注册时绑定的手机号、用户评论的文本内容等均属于数据范畴。选项B:错误。用户下载、评论等行为产生的数据具有多重用途,除生成热门榜单外,还可用于用户画像分析、版权追踪等。选项C:正确。计算机存储数据的本质是二进制形式。选项D:错误。信息价值具有用户主观性,不同用户对同一图片的需求和用途不同(如商用、学习、收藏),其价值由用户需求决定,而非平台统一界定。因此,本题选择C。
2. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片的版权。平台分析用户下载、评论等行为形成热门推荐榜单。下列关于信息安全与信息社会责任的做法,合理的是( )
A. 下载他人作品直接进行商用 B. 向平台反馈他人侵权行为
C. 通过刷点击量行为提升作品排名 D. 借用他人身份信息注册账号
【答案】B
【解析】
【详解】本题考查信息安全和社会责任。A:错误。商用他人作品需授权,否则侵权。B:正确。反馈侵权行为是维护版权的合理行为。C:错误。刷点击量属于作弊,违反平台规则。D:错误。冒用他人身份信息违法。因此,本题选择B。
3. “光影界”AI图片交流平台为创作者提供原创图片发布、下载及评论等功能。用户注册并绑定手机号后,即可使用以上功能,创作者拥有原创图片版权。平台分析用户下载、评论等行为形成热门推荐榜单。某创作者要上传1张3840×2160像素,位深度为24位的BMP格式4K高清原创图片,但平台规定单张图片上传容量需控制在3MB以内,图片采用JPG格式,则压缩比至少需达到多少?( )
A. 60:1 B. 20:1 C. 10:1 D. 8:1
【答案】D
【解析】
【详解】本题考查图像容量和压缩比计算。文件大小(字节)=像素总数×位深度÷8.3840×2160×24/8/1024/1024约等于24MB,最小且满足条件的压缩比为8:1。因此,本题选择D。
4. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列关于该信息系统组成与功能的说法,正确的是( )
A. 触摸屏作输入设备支持训练模式选择
B. 该智能系统可以消除数字鸿沟问题
C. 运动数据同步至服务器体现数据的处理功能
D. 健康积分兑换功能可完全避免人为管理误差
【答案】A
【解析】
【详解】本题考查信息系统组成与功能。选项A:正确。触摸屏属于信息系统硬件中的输入设备,用户通过触摸操作选择训练模式。选项B:错误。数字鸿沟是指不同群体在信息获取、技术使用上的差距,智能健身系统主要服务于已具备使用能力的用户,无法“消除”数字鸿沟。选项C:错误。运动数据同步至云端属于数据的“存储”功能(服务器存储数据),而生成个性化报告属于“处理”功能。选项D:错误。健康积分兑换虽由系统自动处理,但兑换规则设定、礼品库存管理等仍需人工参与,“完全避免人为误差”的表述过于绝对。因此,本题选择A。
5. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列关于该健身系统中网络技术的说法,正确的是( )
A. 服务器必须与其他设备在一个局域网内
B. 会员查看实时数据需通过移动通信网络
C. 运动数据同步至服务器仅需物理连接无需协议
D. 健身设备需分配唯一IP地址以接入网络
【答案】D
【解析】
【详解】本题考查网络系统。选项A:错误。材料未限定服务器位置,服务器可在局域网内(本地服务器),也可通过互联网连接(远程服务器),并非“必须”在同一局域网。选项B:错误。会员查看实时数据的网络方式可通过健身房Wi-Fi或移动通信网络。选项C:错误。数据上传至服务器必须依赖网络协议(如TCP/IP,HTTP)。选项D:正确。联网设备必须外配唯一IP地址,以便在网络中被识别和通信。因此,本题选择D。
6. 某健身房部署智能健身管理系统,所有健身设备组成局域网,并与服务器建立连接。会员刷卡或扫码登录后,通过触摸屏选择训练模式,智能器械自动调节参数。运动数据实时同步至服务器,运动结束生成个性化报告并累计健康积分,积分可兑换课程或礼品。管理员可远程监控设备状态,设备故障会自动报警。下列对该系统的升级改造,使用了人工智能技术的是( )
A. 基于历次锻炼数据学习的动作纠正功能 B. 器械根据用户体型自动调节高度
C. 设备故障时采用语音广播形式进行报警 D. 排行榜按会员活跃度进行动态排名
【答案】A
【解析】
【详解】本题考查人工智能应用。选项A:正确。通过分析历史训练数据优化动作纠正策略,需机器学习算法建模,属于AI的数据驱动学习。选项B:错误,根据预先设定的规则和用户输入的体型数据,通过机械或电子装置来实现器械高度的调节。选项C:错误。选项D:错误。按照一定的计算公式进行计算和排序,属于规则明确的统计逻辑。因此,本题选择A。
7. 某算法流程图如图所示,其中输入s的值为“34aBcdeEfghij”(不包括引号),则输出的结果是( )
A. 3 B. 4 C. 5 D. 6
【答案】B
【解析】
【详解】本题考查流程图。实现的功能是寻找最长连续上升子序列,最长的是“Bcde”,长度为4。最后一段“Efghij”虽然更长,但是无法更新最大值。因此,本题选择B。
8. 队列Q从队首到队尾依次存储5个元素,栈S初始为空。通过对队列Q和栈S的操作,实现元素升序输出。基本算法为:若栈为空或者队首元素小于栈顶元素,那么队首元素出队并入栈;否则,将栈内所有小于队首元素的元素依次出栈并入队,然后将队首元素出队并入栈。执行一次“出队并入栈”或“出栈并入队”操作,记为一次操作,反复执行上述操作,直到队列为空。最终,依次输出栈S中的元素即可。按照以上算法,以下4组初始队列中,操作次数最少的是( )
A. 5、2、7、3、6 B. 5、6、7、3、2 C. 7、6、2、3、5 D. 2、3、5、6、7
【答案】C
【解析】
【详解】本题考查队列和栈的操作。通过模拟每个初始队列的操作过程,计算操作次数。对于队列1(5、2、7、3、6),操作次数为13次;对于队列2(5、6、7、3、2),操作次数为21次;对于队列3(7、6、2、3、5),操作次数为11次;对于队列4(2、3、5、6、7),操作次数为25次。比较可知,队列3的操作次数最少。因此,本题选择C选项。
9. 某非完全二叉树有6个节点,中序遍历为ABCDEF,该二叉树删除1个节点后变成完全二叉树。该完全二叉树后序遍历不可能的是( )
A. ACBED B. BDCFE C. ADBFE D. ADCEF
【答案】D
【解析】
【详解】本题考查二叉树。根据中序遍历和去掉一个节点为完全二叉树,该树的形态有5种可能,如图所示,后序遍历分别是:ACBED,BDCFE,ADCFE,ADBFE,ACBFE。
因此,本题选择D。
10. 已知非降序列表a由若干个整型元素构成,现要查找并输出整数key出现的次数,实现该功能的程序段如下:
def search(k):
i,j=0,len(a)-1
while i <= j:
m=(i+j)//2
if :
i=m+1
else:
j=m-1
return i
a=[1,3,6,6,6,8,9,9,9,9,10]
key=int(input("输入查找键:"))
x=search(key)
y=search(key-1)
print("出现的次数:"+str(x-y))
加框处应填入的正确代码为( )
A. k>a[m] B. k>=a[m] C. k<a[m] D. k<=a[m]
【答案】B
【解析】
【详解】本题考查二分查找变式。函数search返回第一个大于key的索引i,当k>=a[m]时向右移动。x存储大于查找键key的索引,y存储大于查找键key-1的索引,x-y的结果就是key的出现次数。因此,本题选择B。
11. 有如下Python程序段:
def f(s,x):
n=len(s)
if x >= n:
return ""
elif x <= n//2:
return f(s,x+2)+s[x]
else:
return s[x]+f(s,x+2)
s="program"
print(f(s,0))
程序运行后输出结果是( )
A. rmop B. oprm C. pomr D. mrop
【答案】A
【解析】
【详解】本题考查递归算法。递归过程:f(s,0)->f(s,2)+"p"->f(s,4)+“o”-->“r”+f(s,6)-->“m”+f(s,8),返回“rmop”因此,本题选择A。
12. 有如下Python程序:
s=input("输入字符串:")
k=[-1]*128
i=0
m=0
for j in range(len(s)):
cur=s[j]
if k[ord(cur)] >= i:
i=k[ord(cur)]+1
k[ord(cur)]=j
tmp=j-i+1
m=max(tmp,m)
print(m)
程序运行时,输入"2025happy"(不包含双引号),输出结果是( )
A. 3 B. 4 C. 5 D. 6
【答案】D
【解析】
【详解】本题考查python程序设计。该程序用于计算字符串中最长无重复字符的子串的长度。它采用滑动窗口算法,利用哈希表(k数组)记录字符最近出现的位置,动态调整窗口的起始位置i,并维护当前最大无重复子串长度m。
j
cur
k[ord(cur)]
窗口[i,j]
无重复子串
tmp
E
说明
0
'2'
k=-1
[0,0]
"2"
1
1
'2'首次出现
1
'0'
k=-1
[0,1]
"20"
2
2
'0’首次出现
2
'2'
k=0
[1,2]
"02"
2
2
'2'重复,移动i到1
3
'5'
k=-1
[1,3]
"025"
3
3
'5'首次出现
4
'h'
k=-1
[1,4]
"025h"
4
4
'h'首次出现
5
'a'
k=-1
[1,5]
"025ha"
5
5
'a'首次出现
6
'p'
k=-1
[1,6]
"025hap"
6
6
'p'首次出现
7
'p'
k=6
[7,7]
"p"
1
6
'p'重复,移动i到7
8
'y'
k=-1
[7,8]
"рy"
2
6
'y'首次出现
最终结果:m=6(最长无重复子串"025hap"或"25happy"的长度)。因此,本题选择D。
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分)
13. 某农业大棚搭建了智能监测系统,通过采集温湿度、光照等数据监测大棚环境,助力农作物生长。智能终端每小时获取5次数据,计算5个数据的平均值并通过IoT模块连接Wi-Fi上传至服务器。当服务器检测到某项数据异常时,向农户发送提醒短信,并通过智能终端启动大棚内换气扇。农户可通过电脑端管理平台查看历史数据曲线。请回答以下问题:
(1)温湿度数据从采集到农户查看历史数据曲线的数据流方向为____
A.传感器→换气扇→智能终端→服务器→电脑端管理平台
B.传感器→智能终端→服务器→电脑端管理平台
C.传感器→服务器→智能终端→电脑端管理平台
(2)该系统中需要在服务器端完成的数据操作是____
A.湿度等数据的采集
B.控制换气扇的启动
C.与农作物适宜生长阈值的比对
(3)若连接在智能终端上的IoT模块突发故障不能工作,会引发的问题有____
A.农户无法通过电脑端管理平台回看昨天的光照历史数据
B.智能终端无法传输温湿度数据至服务器
C.服务器向智能终端传送控制换气扇的信号失败
D.农户接收提醒短信失败
(4)智能终端每小时获取5个温度数据存入列表h,计算平均值ave的部分流程图如右图,图中①处应填入____。
(5)现需增加二氧化碳浓度监测的功能,在智能终端接入二氧化碳传感器后,还需对软件部分做多处修改。请用文字描述其中1处修改建议。____
【答案】 ①. B ②. C ③. BC ④. aveth[i]/c ⑤. ①智能终端:修改程序,增加获取二氧化碳传感器数据并进行实时处理的代码;2服务器端:修改程序,增加接收二氧化碳数据、存储到数据库以及与农作物适宜二氧化碳浓度阈值进行比对并触发相应提醒的代码。
【解析】
【详解】本题考查信息系统搭建。
(1)数据流向:传感器→智能终端→服务器→电脑端管理平台。
(2)数据比对需服务器计算(如温湿度阈值判断)。
(3)B:正确。数据无法上传至服务器。C:正确。服务器无法通过终端控制换气扇。
A:错误。历史数据已存储,可回看。D:错误。短信通过运营商发送,与Wi-Fi无关。
(4)计算5次数据的平均值,可累加后除以c,也可以累加每个成绩除以c,答案为aveth[i]/c。
(5)智能终端:修改程序,增加获取二氧化碳传感器数据并进行实时处理的代码;2服务器端:修改程序,增加接收二氧化碳数据、存储到数据库以及与农作物适宜二氧化碳浓度阈值进行比对并触发相应提醒的代码。
14. 某校进行年级学习标兵网络评选活动,共有5名候选人(编号0~4),全年段13个班级,每班随机选20人进行投票(赞成的打"O",不赞成的打"X"),单张票赞同数不超过2人,否则为无效票。投票结果导出为Excel表格,部分数据如图a所示。现要进行以下分析,请回答下列问题:
(1)对投票进行处理,如果是有效票,在“是否有效票”显示“Y”,否则显示“N”,同时计算各候选人的得票数,输出得票最高的候选人姓名和得票数,如果多位候选人得票并列第一则全部输出,如图b所示,请在程序划线处填入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel('votes.xls')
#统计处理有效票
names=["张**","李**","王**","郑**","周**"]
d=[0]*5
for row in dfindex:
x= ①____
cnt=0
for i in range(5):
ifx[i]=="O":
cnt+=1
if cnt<=2:
df.at[row,"是否有效票"]="Y"
for i in range(5):
if x[i]=="O":
d[i]+=1
else:
df.at[row,"是否有效票"]="N"
#找出得票最高的候选人和得票数
maxc=[]
i=0
while i<len(d):
if ②____:
maxc=[i]
elif d[i]==d[maxc[0]]:
maxc.append(i)
③____
for i in maxc:
print("得票最高的候选人和得票数:",names[i],d[i])
(2)现要绘制如图c所示的各班级有效票率(有效票数/回收票数)的柱形图,请选择合适的代码填入划线处(单选,填字母)。
图c
df1= ①____
df2= ②____
df2= ③____
plt.bar(df2.班级,df2.否有效票/df1.是否有效票)
#设置绘图参数,代码略
程序中①②③处可选的代码有:
A.df[df.是否有效票=="Y"]
B.df1[df1.是否有效票=="Y"]
C.df.sort_values('是否有效票',ascending=False)
D.df.groupby('班级',as_index=False).是否有效票.count()
E.df2.sort_values('是否有效票',ascending=False)
F.df2.groupby('班级',as_index=False).是否有效票.count()
【答案】 ①. df.at[row,"投票"]或df["投票"][row] ②. maxc==[] or d[i]>d[maxc[0]]或i==0 or d[i]>d[maxc[0]] ③. i=i+1 ④. D ⑤. A ⑥. F
【解析】
【详解】本题考查Pandas模块的数据分析与可视化,Python程序设计。
(1)有效票处理部分:遍历每张票,统计"0"的数量(cnt),如果cnt≤2,标记为有效票("Y"),并统计每位候选人的得票数,①处填df.at[row,"投票"]或df["投票"][row],否则标记为无效票("N")。找出得票最高的候选人:初始化maxc列表为空,遍历候选人得票列表d,如果当前遍历的是第一个或当前候选人得票大于maxc中的得票,更新maxc为当前候选人,②为maxc==[] or d[i]>d[maxc[0]]或i==0 or d[i]>d[maxc[0]];如果当前候选人得票等于maxc中的得票,将当前候选人加入maxc列表;③处为i=i+1。最后输出所有得票最高的候选人姓名和得票数。
(2)绘制各班级有效票率的柱形图。df1统计每个班级的总票数,对df进行分组统计,选D;df2统计每个班级的有效票数,先筛选,选A,然后分组统计,选F。
15. n行m列的工厂网格中分布着不同能量值的资源块,机器人初始位于(x,y),机器人可以上下左右移动收集四周的资源进行充电:
·机器人电量S为已收集资源能量之和;
·资源块能量值为k,当S的值为0或k<S/2时可收集,收集后资源块消失,机器人电量增加;现要求出机器人能获得的最大能量值。
如图a所示:机器人初始位置为(1,1),获得能量9,可以向四个方向移动,其能量获取路径如图b所示。当能量S=28时,四周已无满足条件的资源块,行程结束。因此,最大能量值为28。
图a 图b
请回答下列问题:
(1)若将图a中第一行(0,1)位置的能量值改为7,则机器人获取的最大能量值为____。
(2)insert函数功能为:在链表中插入值为[x,y,k]的资源块,并返回头指针。其中x,y为位置,k为能量值。实现上述功能的Python代码如下,请在划线处填入合适的代码。
def insert(h,x,y,k):
if h==-1:
que.append([x,y,k,-1])
h=len(que)-1
return h
que.append([x,y,k,-1])
pos=len(que)-1
if k<=que[h][2]:
que[pos][3]=h
①____
else:
p=h
q=que[p][3]
while ②____:
p=q
q=que[q][3]
que[pos][3]=q
que[p][3]=pos
return h
(3)walk函数实现机器人收集能量块过程,并返回获取的能量最大值。Python程序如下,请在划线处填入合适的代码。
def walk(x,y):
dx=[0,0,-1,1] #dx,dy表示上下左右四个方向。
dy=[-1,1,0,0]
que.append([x,y,data[x][y],-1])
s=0
h=0
vis[x][y]=True
while h != -1:
top=que[h]
h=que[h][3]
if s == 0 or s/2 > top[2]:
①____
elif s/2 <= top[2]:
return s
for i in range(len(dx)):
nx=top[0]+dx[i]
ny=top[1]+dy[i]
if nx >= n or nx < 0 or ny < 0 or ny >= m or vis[nx][ny]:
continue
h= ②____
vis[nx][ny]=True
return s
’’’
读取网格的行数、列数存入变量n、m。读取网格数据存入data列表,如图a所示,data列表为:[[14,6,9],[4,9,20],[17,15,7]]。vis二维数组初始化为False。代码略。
x=y=1
que=[]
ans=walk(x,y)
print("最大能量值为:",ans)
【答案】 ①. 13 ②. h=pos或return pos ③. q!=-1 and que[q][2]<k ④. s+=top[2] ⑤. insert(h,nx,ny,data[nx][ny])
【解析】
【详解】本题考查Python程序设计综合应用。
(1)改为7后,第一次机器人获取能量值为9+4=13。7>13/2,行程结束。因此答案为13。
(2)结合后续代码可以发现que列表为一个有序链表。h为链表头指针,pos为当前能量块索引。k<=que[h][2]即当前能量块值小于等于头节点值,需要在链表头节点前插入,插入完成后,头指针改变,因此,①处为:h=pos或return pos。如果比头节点值大,则需要遍历链表查找位置,②处为:q!=1 and que[q][2]<k。q指针指向大于等于k的位置。遍历结束后,在p、q之间插入当前值。
(3)walk函数模拟机器人获取能量块过程。要想获得的能量值最大,需要从最小的能量块开始吸收。每走到一个节点位置,都可以向四个方向行进。根据代码,while循环中,top获取链表头节点。该元素包含四项:[x,y,k,p],top[2]为能量值。当s==0 or s/2>top[2]时,表示能吸收该能量块,则①处为:s+=top[2]。
接下来for循环遍历4个方向,判断机器人是否可走。用vis数组标记是否已经走过。如果出边界或已经走过,则继续循环。每走到一个未经过的点,需要把该点放入后续行走队列中。因此,②处为:insert(h,nx,ny,data[nx][ny])
第1页/共1页
学科网(北京)股份有限公司
$