内容正文:
2024年12月嵊州市高(选)考科目适应性考试
技术试题
第一部分 信息技术(50分)
1. MedGPT 是中国首个大模型驱动的AI医生。诊前,它可以根据与患者的交流进行疾病预测,并分诊导诊。诊中,它可通过分析患者的病历、症状和疾病历史等数据,为医生提供辅助诊断、指导治疗方案和预后方案。关于 MedGPT 中数据与信息的说法,正确的是( )
A. MedGPT 处理的数据都是结构化数据
B. 患者的病例数据只能以同一种数据表现形式呈现
C. 通过数据分析为医生提供辅助诊断,体现了数据的价值性
D. MedGPT产生的数据是以十六进制的形式存储在计算机中
2. MedGPT 是中国首个大模型驱动AI医生。诊前,它可以根据与患者的交流进行疾病预测,并分诊导诊。诊中,它可通过分析患者的病历、症状和疾病历史等数据,为医生提供辅助诊断、指导治疗方案和预后方案。下列关于 MedGPT 的说法,正确的是( )
A. MedGPT 是跨领域人工智能的应用
B. MedGPT 的发展一定不会威胁人类安全
C. 训练数据的规模不会影响 MedGPT 的学习效果
D. 完善语料库可以提高 MedGPT 分诊导诊的准确率
3. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列关于该系统的组成与功能的说法正确的是( )
A. 该系统中的点餐软件属于系统软件
B. 该系统中的用户包括系统维护人员
C. 完成订餐操作必须依赖于计算机网络
D. 该系统的硬件由移动终端、自助点餐屏和服务器组成
4. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列有关信息安全与保护的做法,合理的是( )
A. 为该系统的服务器安装防火墙
B. 以明文方式保存学生的账号信息
C. 为系统不同的用户设置相同的权限
D. 使用手机订餐时连接免费的WiFi
5. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列关于该系统中网络技术的说法,正确的是( )
A. 该系统中可以共享资源是订餐软件和数据
B. 使用移动终端订餐时不需要遵循网络协议
C. 移动终端之间可通过移动通信网络进行通信
D. 服务器网络故障不影响订餐和充值操作的完成
6. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。该系统通过摄像头采集人脸图像进行识别,以下正确的是( )
A. 人脸图像的采集是数模转换的过程
B. 图像数字化的一般过程是采样与编码
C. 人脸图像的采集过程并不包含传感技术的应用
D. 采集到的人脸图像在取值上是离散的,不连续的
7. “数组元素 a[0]至 a[n-1]依次存放 n个数据,现将元素 a[n-1]插入到下标为x(0≤x≤n-1) 的位置”的算法部分流程图,如图所示,则图中①②处应填入( )
A. ①i≥x ②a[i-1]=a[i] B. ①i≥x ②a[i+1]=a[i]
C. ①i≥x+1 ②a[i-1]=a[i] D. ①i≥x+1 ②a[i+1]=a[i]
8. 某二叉树中序遍历为ABCDE,其任意非叶子节点的度为2,则关于该二叉树说法正确的是( )
A. 该二叉树有4层 B. 该二叉树可能有3种形态
C. 节点A 不可能是叶子节点 D. 该二叉树有3个叶子节点
9. 栈和队列初始为空,数据均经历进栈→出栈→入队→出队操作后,栈和队列又为空。若数据进栈顺序是:“礼”“乐”“射”“御”“书”“数”,出队依次为:“乐”“射”“书”“数”“御”“礼”,则栈的容量最小为( )
A. 2 B. 3 C. 4 D. 5
10. 定义如下函数:
def f(x):
if x==1 or x==2:
return l
else:
return f(x-1)+f(x-2)
s=0
for i in range(1,5):
s+=f(i)
执行该程序段后,函数f被调用的次数是( )
A. 10 B. 9 C. 8 D. 7
11. 有如下 python程序段:
a=[100,90,15,40,72,65,32,81,6];b=[8,2,6,3,5,4,7,1,0]
i=0
j= len(a)-1
c=0
key=72
while i<=j:
m=(i+j)//2
if a[b[m]]== key:
break
elif a[b[m]]< key:
i=m+1
else:
j=m-l
c+=1
程序执行结束后变量c的值为( )
A. 4 B. 3 C. 2 D. 1
12. 列表 a 存储了两个升序链表的节点,每个节点包含数据区域和指针区域,头指针分别为 ha、hb,且a[ha][0]<a[hb][0],如图a所示。现要将其合并为一个升序链表并进行去重操作,结果如图b所示,头指针为h。实现功能的程序段如下,方框内应填入的正确代码是( )
p=h=ha
q=a[ha][1]
r= hb; lst=[]
while p!=-1:
lst. append(a[p][0]) #添加一个元素到 lst中
p=a[p][1]
p=h
while q!=-1 and r!=-1:
if a[r][0] not in lst:
if a[q][0]<a[r][0]:
p=q
q=a[q][l]
else:
else:
r=a[r][1]
if r!=-1:
a[p][1]=r
A.
a[q][1]=r
q=r
r=a[q][1]
a[q][l]=p
B.
a[q][1]=r
r=a[q][1]
q=r
a[q][l]=p
C.
a[p][1]=r
r=a[p][1]
p=r
a[q][1]=p
D.
a[p][1]=r
p=r
r=a[p][1]
a[p][1]=q
A A B. B C. C D. D
13. 某研究小组拟采集博物馆的温湿度、光线值、空气质量等数据,以实现对展品环境监测。该小组在实验室搭建一个模拟系统,该系统的智能终端获取温湿度传感器数据,并传输至 web服务器。智能终端根据从服务器获取的阈值判断出异常情况后,控制执行器进行干预。请回答下列问题。
(1)该系统配置了多个智能终端,下列说法正确的是_____(单选,填字母:A. 传感器采集的数据只能存储于服务器的数据库; B. 传感器采集的数据可存储于连接的智能终端)
(2)下列功能需要在服务器程序中实现的是_____(单选,填字母)
A. 采集和提交传感器数据 B. 根据阈值控制执行器 C. 存储传感器数据至数据库
(3)下列关于该系统设计的说法,正确的有___(多选,填字母)。
A. 智能终端可以通过无线网络连接服务器
B. 支撑该系统运行的所有软件,都必须在搭建过程中开发完成
C. 温度、湿度等数据的采集时间间隔不能相同
D. 智能终端与服务器的数据传输是双向的
(4)智能终端上的程序具有如下功能:每分钟获取1次湿度值并将湿度值和除湿机状态数据传输到服务器:除湿机处于关闭状态时,若最近5次的湿度值中有3次高于阈值 h,则打开除湿机; 除湿过程中,若连续5次湿度值均不高于 h,则关闭除湿器;部分 Python程序如下,请在程序中划线处填入合适的代码。#导入相关库,并从服务器获取阈值,保存在 h 中,代码略
lasth=[0,0,0,0,0] #保存最近5 次湿度值, 初始状态为均不高于 h
s=0
while True:
#从传感器获取湿度值,保存在 newh 中,代码略
________
if newh<=h:
lasth[-1]=0
else:
lasth[-1]=1
if s==0:
if _____________:
s=1
#打开除湿机,代码略
else:
if sum(lasth)==0:
s=0
#关闭除湿机,代码略
#将newh,s 等数据传输到服务器。代码略
sleep(1000*60) #延时1 分钟
(5)为进一步完善该模拟系统功能,请你写出一种扩展方案并详细阐述实现的功能及所需增设的传感器与执行器的名称。_____
14. 某社区开展“我运动,我健康”趣味保龄球活动,比赛规则为:每人投掷3个球,击打15米外的10个瓶子,按照三次击倒总个数累计得分,击倒1个瓶子计1分。请回答下列问题。
(1)定义 cal函数,score为得分,返回该得分在 list 数组中的排名。例如: 则返回得分3的排名为3。则划线处应填入的代码为_____(单选:填字母)
def cal(score, list):
for i in list:
if :
rank+=1
return rank
(2)参加活动的部分数据如图a所示,根据得分计算排名,并找出排名前三的选手。实现上述功能的部分 Python程序如下:
import pandas as pd
import matplotlib. pyplot as plt
#读取数据, 保存到 DataFrame 对象 df中
df. 得分= df. sum(axis=1) #按行求和
for i in df. index:
df. at[i, "排名"]=_______________
dfl=
①请在程序中划线处填入合适的代码。
②程序方框中应填入的正确代码为 _____(单选,填字母)
A df. 排名<=3 B. df[df. 排名]<=3 C. df[df["排名"]]<=3 D. df[df. 排名<=3]
(3)根据上述 df中的得分数据,统计男子和女子的平均得分,绘制如图b所示的柱形图,实现该功能的部分 Python程序如下,请在程序中划线处填入合适的代码。
df _g= df. groupby("组别", as index= False). mean()
_________________
y= df _g. 得分
plt. bar(x,y)
#设置绘图参数,代码略
15. 某机构采购了n类(编号1~n)紧急救援食品,所有食品均采用统一包装袋进行封装,食品储存条件分冷藏和常温。现将食品存放在若干货柜内,每个货柜的最大容量为m袋,货柜编号从1开始。存放时,首先按类别编号依次在各类食品内处理,将每m袋存放于一个新的货柜,装袋数量不足 m的暂不处理; 然后按剩余食品袋数由多到少的顺序,依次为各类食品按照储存条件分配存放的货柜。
若某类食品的剩余袋数为k,则存放过程为:在已存放食品的货柜内寻找空余空间不少于k的货柜,且满足已存食品与当前食品的储存条件相同(冷藏或常温)。若存在多个这样的货柜,则挑选空余空间最小的来存放,若不存在,则存放于新的货柜。
设n为4,m为100,当食品袋数超过m时,货柜的安排过程如图a所示,各类剩余食品的放置过程如图b所示。其中编号为2的食品需冷藏。
编写程序:给定各食品类别编号及装袋数量,根据上述方法进行放置,按食品类别编号次序输出各类食品所放置的货柜编号。请回答下列问题:
(1)由题意可知,若仅将图 a 中类别3的装袋数量改为 185,然后对图中4类食品重新放置,则类别3所放置的货柜编号为_____。
(2)定义getroom(a, key,f)函数,参数a中每个元素由货柜的空位数和储存条件(0常温,1冷藏)两个数据项构成。函数的功能是为各类剩余食品寻找储存的货柜编号。
def getroom(a, key,f):
flag= True
i=0
while i< len(a):
if a[i][0] >= key and a[i][1]==f:
if flag or a[i]<= a[m]:
m=i
flag= False
i+=1
if flag== False:
return m
else:
return len(a)
若a为[[0,0],[25,1],[30,0],[20,1],[15,0]], key为15,f为1,调用 getroom(a, key,f)后,返回的值为______。
(3)实现上述功能的部分 Python程序如下,请在程序中划线处填入合适的代码。
def group(data, m):
n= len(data)
rooms=[] # rooms[i]存放i类食品放置的货柜编号
b=[[0,0]]
for i in range(n+1):
rooms. append([]) #在列表 rooms 末尾追加一个元素[]
rnum=0
for i in range(n): #处理装袋数量超过 m 的食品
while data[i][1]>=m:
rnum+=1
b. append([0, data[i][2]])
____________________
rooms[k]. append(rnum)
data[i][1]-=m
#根据各类食品的剩余袋数,对data 进行降序排序,代码略
i=0
while i<n:
rest= data[i][1]
marker= data[i][2]
dyroom= getroom(b, rest, marker)
if ____________________:
rnum+=1
b. append([m-rest, data[i][2]])
rooms[data[i][0]]. append(rnum)
else:
______________________
rooms[data[i][0]]. append(dyroom)
data[i][1]=0
i+=1
#输出各类食品放置的货柜编号,代码略
"
读取货柜的最大容量存入m; 读取编号为1~n食品数据, 依次存入列表 data的 data[0]至 data[n-1]。
data[i]包含3个数据项, data[i][0], data[i][1], data[i][2]分别存放类别编号、装袋数量以及储存条件(0常温, 1 冷藏),如示例: data=[[1,110,0],[2,90,1]...],即编号为2的食品装袋数量为90, 需放置冷藏货柜。
"
group(data, m)
第1页/共1页
学科网(北京)股份有限公司
$
2024年12月嵊州市高(选)考科目适应性考试
技术试题
第一部分 信息技术(50分)
1. MedGPT 是中国首个大模型驱动的AI医生。诊前,它可以根据与患者的交流进行疾病预测,并分诊导诊。诊中,它可通过分析患者的病历、症状和疾病历史等数据,为医生提供辅助诊断、指导治疗方案和预后方案。关于 MedGPT 中数据与信息的说法,正确的是( )
A. MedGPT 处理的数据都是结构化数据
B. 患者的病例数据只能以同一种数据表现形式呈现
C. 通过数据分析为医生提供辅助诊断,体现了数据的价值性
D. MedGPT产生的数据是以十六进制的形式存储在计算机中
【答案】C
【解析】
【详解】本题考查的是数据与信息相关知识。MedGPT 处理的数据不仅包括结构化数据(如数值、表格),还包括非结构化数据(如文本、图像);患者的病例数据可以以多种数据表现形式呈现,包括文本、图像、音频等;通过数据分析为医生提供辅助诊断,能够提高诊断的准确性和效率,体现数据的价值性;MedGPT 产生的数据在计算机中最终以二进制形式存储。故本题应选C。
2. MedGPT 是中国首个大模型驱动的AI医生。诊前,它可以根据与患者的交流进行疾病预测,并分诊导诊。诊中,它可通过分析患者的病历、症状和疾病历史等数据,为医生提供辅助诊断、指导治疗方案和预后方案。下列关于 MedGPT 的说法,正确的是( )
A. MedGPT 是跨领域人工智能的应用
B. MedGPT 发展一定不会威胁人类安全
C. 训练数据的规模不会影响 MedGPT 的学习效果
D. 完善语料库可以提高 MedGPT 分诊导诊的准确率
【答案】D
【解析】
【详解】本题考查的人工智能应用。选项A错误,MedGPT为医生提供辅助诊断、指导治疗方案和预后方案,是混合增强人工智能应用;选项B错误,因为任何技术的发展都有可能存在潜在的安全威胁,不可笼统地认为一定不会威胁人类安全;选项C错误,因为训练数据的规模往往会影响机器学习模型的学习效果,数据规模越大,模型的表现通常越好;选项D正确,完善语料库意味着能提供更丰富和准确的数据,这有助于提高MedGPT在分诊导诊上的表现准确率。故选D。
3. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列关于该系统的组成与功能的说法正确的是( )
A. 该系统中的点餐软件属于系统软件
B. 该系统中的用户包括系统维护人员
C. 完成订餐操作必须依赖于计算机网络
D. 该系统的硬件由移动终端、自助点餐屏和服务器组成
【答案】B
【解析】
【详解】本题考查的是信息系统组成与功能。点餐软件属于应用软件;学生和家长可利用手机登移动终端进行订餐充值等操作,可以借助计算机网络,也可以使用移动通信网络;该系统的硬件除了移动终端、自助点餐屏、服务器,还有相关的交换机、路由器、管理员的电脑等其他看得见摸得着的设备。故选B。
4. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列有关信息安全与保护的做法,合理的是( )
A. 为该系统的服务器安装防火墙
B. 以明文方式保存学生的账号信息
C. 为系统不同的用户设置相同的权限
D. 使用手机订餐时连接免费的WiFi
【答案】A
【解析】
【详解】本题考查的是信息安全与防护。服务器安装防火墙是保护系统安全的合理做法,可以抵御外部攻击,保护数据安全。而以明文方式保存账号信息容易导致信息泄露,不同用户设置相同权限会导致权限控制不合理,使用免费的WiFi则可能导致数据被窃取,这些做法都不合理。故选A。
5. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。下列关于该系统中网络技术的说法,正确的是( )
A. 该系统中可以共享的资源是订餐软件和数据
B. 使用移动终端订餐时不需要遵循网络协议
C 移动终端之间可通过移动通信网络进行通信
D. 服务器网络故障不影响订餐和充值操作的完成
【答案】C
【解析】
【详解】本题考查的是网络技术。共享的资源不仅包括订餐软件和数据,还包括服务器、网络带宽等资源;使用移动终端订餐需要遵循网络协议以确保数据传输的正确性和安全性;移动终端可以通过移动通信网络(如4G、5G)进行通信,从而访问订餐系统;服务器网络故障会影响到数据的传输,从而影响订餐和充值的操作。故选C。
6. 某校的智慧点餐系统:学生和家长可利用手机等移动终端进行订餐和充值等操作,也可借助校内的自助点餐屏完成订餐。用餐时,学生仅需刷脸即可便捷取餐。该系统通过摄像头采集人脸图像进行识别,以下正确的是( )
A. 人脸图像的采集是数模转换的过程
B. 图像数字化的一般过程是采样与编码
C. 人脸图像的采集过程并不包含传感技术的应用
D. 采集到的人脸图像在取值上是离散的,不连续的
【答案】D
【解析】
【详解】本题考查的是图像编码。人脸图像的采集是一个由模拟信号(光信号)转换为数字信号的过程,称为模数转换(A/D转换),不是数模转换;图像数字化的一般过程是采集、量化与编码;人脸图像采集使用到了传感技术;采集到的人脸图像数据是数字图像,在取值上是离散的、不连续的。故选D。
7. “数组元素 a[0]至 a[n-1]依次存放 n个数据,现将元素 a[n-1]插入到下标为x(0≤x≤n-1) 的位置”的算法部分流程图,如图所示,则图中①②处应填入( )
A. ①i≥x ②a[i-1]=a[i] B. ①i≥x ②a[i+1]=a[i]
C. ①i≥x+1 ②a[i-1]=a[i] D. ①i≥x+1 ②a[i+1]=a[i]
【答案】B
【解析】
【详解】本题考查的是数组的基本操作。将元素 a[n-1]插入到下标为x的位置,i的初始值为n-2,先从n-2开始,将当前元素后移,故②处应为:a[i+1]=a[i],循环最后将下标x元素后移,故①处为:i≥x。故选B。
8. 某二叉树中序遍历为ABCDE,其任意非叶子节点的度为2,则关于该二叉树说法正确的是( )
A. 该二叉树有4层 B. 该二叉树可能有3种形态
C. 节点A 不可能是叶子节点 D. 该二叉树有3个叶子节点
【答案】D
【解析】
【详解】本题考查的是二叉树。中序遍历为 ABCDE,且节点度仅为2和0,二叉树的可能性如下:
根据上述2图,二叉树有3层,故A错误,二叉树形态有2种,故B错误,C如图所示,A可能是叶子节点,故D项是正确的。
9. 栈和队列初始为空,数据均经历进栈→出栈→入队→出队操作后,栈和队列又为空。若数据进栈顺序是:“礼”“乐”“射”“御”“书”“数”,出队依次为:“乐”“射”“书”“数”“御”“礼”,则栈的容量最小为( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查的是栈、队列的操作。队列是先进先出,即出队顺序即为出栈顺序。依据题干可知栈变化情况如下:
栈
出栈
栈容量
[礼、乐]
乐
2
[礼、射]
射
2
[礼、御、书]
书
3
[礼、御、数]
数
3
[礼、御]
御
2
[礼]
礼
1
故栈的容量最小为3,选B。
10. 定义如下函数:
def f(x):
if x==1 or x==2:
return l
else:
return f(x-1)+f(x-2)
s=0
for i in range(1,5):
s+=f(i)
执行该程序段后,函数f被调用的次数是( )
A. 10 B. 9 C. 8 D. 7
【答案】A
【解析】
【详解】本题考查的是递归函数。各函数调用次数:
f(1)调用1次
f(2)调用1次
f(3)=f(1)+f(2)调用3次
f(4)=f(2)+f(3)调用5 次
总计 10次 。故选A。
11. 有如下 python程序段:
a=[100,90,15,40,72,65,32,81,6];b=[8,2,6,3,5,4,7,1,0]
i=0
j= len(a)-1
c=0
key=72
while i<=j:
m=(i+j)//2
if a[b[m]]== key:
break
elif a[b[m]]< key:
i=m+1
else:
j=m-l
c+=1
程序执行结束后变量c的值为( )
A. 4 B. 3 C. 2 D. 1
【答案】C
【解析】
【详解】本题考查的是二分查找。由于key值是定值,我们可以采用列表法。
i
j
m=(i+j)//2
a[b[m]]
c
0
8
4
a[b[4]]=65
1
5
8
6
a[b[6]]=81
2
5
5
5
a[b[5]]=72
找到执行 break
最后c值为2,故选C。
12. 列表 a 存储了两个升序链表的节点,每个节点包含数据区域和指针区域,头指针分别为 ha、hb,且a[ha][0]<a[hb][0],如图a所示。现要将其合并为一个升序链表并进行去重操作,结果如图b所示,头指针为h。实现功能的程序段如下,方框内应填入的正确代码是( )
p=h=ha
q=a[ha][1]
r= hb; lst=[]
while p!=-1:
lst. append(a[p][0]) #添加一个元素到 lst中
p=a[p][1]
p=h
while q!=-1 and r!=-1:
if a[r][0] not in lst:
if a[q][0]<a[r][0]:
p=q
q=a[q][l]
else:
else:
r=a[r][1]
if r!=-1:
a[p][1]=r
A.
a[q][1]=r
q=r
r=a[q][1]
a[q][l]=p
B.
a[q][1]=r
r=a[q][1]
q=r
a[q][l]=p
C.
a[p][1]=r
r=a[p][1]
p=r
a[q][1]=p
D.
a[p][1]=r
p=r
r=a[p][1]
a[p][1]=q
A. A B. B C. C D. D
【答案】D
【解析】
【详解】本题考查的是链表操作。首先分析题干中各个变量或指针的作用,lst 在第一个循环中存储了 ha 链表的所有元素值,易得 lst 用于去重。p、q 分别遍历为 ha 链表的前驱后继指针,r 是遍历 hb 链表的指针。因为题干已经说了 a[ha][0]<a[hb][0],所以代码中省去了链表头插入的判断和操作,q也从 ha 链表的第2个节点开始与r作比较。若 a[q][0]<a[r][0],则 p,q同时向后移动。若 a[q][0]>a[r][0],则需要将r节点插入到p,q之间,即 a[p][1]=r,先排除 A,B项。同时需要使 r=a[r][1],选项D:p=r,r=a[p][1]完成了该功能。故答案选 D。
13. 某研究小组拟采集博物馆的温湿度、光线值、空气质量等数据,以实现对展品环境监测。该小组在实验室搭建一个模拟系统,该系统的智能终端获取温湿度传感器数据,并传输至 web服务器。智能终端根据从服务器获取的阈值判断出异常情况后,控制执行器进行干预。请回答下列问题。
(1)该系统配置了多个智能终端,下列说法正确的是_____(单选,填字母:A. 传感器采集的数据只能存储于服务器的数据库; B. 传感器采集的数据可存储于连接的智能终端)
(2)下列功能需要在服务器程序中实现的是_____(单选,填字母)
A. 采集和提交传感器数据 B. 根据阈值控制执行器 C. 存储传感器数据至数据库
(3)下列关于该系统设计的说法,正确的有___(多选,填字母)。
A. 智能终端可以通过无线网络连接服务器
B. 支撑该系统运行的所有软件,都必须在搭建过程中开发完成
C. 温度、湿度等数据的采集时间间隔不能相同
D. 智能终端与服务器的数据传输是双向的
(4)智能终端上的程序具有如下功能:每分钟获取1次湿度值并将湿度值和除湿机状态数据传输到服务器:除湿机处于关闭状态时,若最近5次的湿度值中有3次高于阈值 h,则打开除湿机; 除湿过程中,若连续5次湿度值均不高于 h,则关闭除湿器;部分 Python程序如下,请在程序中划线处填入合适的代码。#导入相关库,并从服务器获取阈值,保存在 h 中,代码略
lasth=[0,0,0,0,0] #保存最近5 次湿度值, 初始状态为均不高于 h
s=0
while True:
#从传感器获取湿度值,保存 newh 中,代码略
________
if newh<=h:
lasth[-1]=0
else:
lasth[-1]=1
if s==0:
if _____________:
s=1
#打开除湿机,代码略
else:
if sum(lasth)==0:
s=0
#关闭除湿机,代码略
#将newh,s 等数据传输到服务器。代码略
sleep(1000*60) #延时1 分钟
(5)为进一步完善该模拟系统功能,请你写出一种扩展方案并详细阐述实现的功能及所需增设的传感器与执行器的名称。_____
【答案】 ①. B ②. C ③. AD ④. lasth[:4]=lasth[1:] 或 lasth=lasth[1:]+lasth[0:1] 或 lasth=lasth[1:]+[0] ⑤. sum(lasth)>2 或 lasth==3 或 lasth>=3 ⑥.
拓展的功能
增加传感器
执行器
光线达到阈值, 关闭窗帘
光线(光敏)传感器
舵机(电机)
有异味开窗, 无异味关窗
气体(气敏) 传感器
舵机(电机)
烟雾达到阈值报警
烟雾传感器
蜂鸣器
闭馆期间未关门就报警
霍尔传感器
蜂鸣器
有人靠近展品自动开灯
人体红外传感器LED
灯(继电器)
空气中 PM2.5 超标自动报警
PM2.5 传感器
蜂鸣器
【解析】
【详解】本题考查的是信息系统搭建。
(1)传感器采集的数据可以存储在智能终端中(智能终端可以存储数据,可以处理数据)。故选B。
(2)A.采集和提交传感器数据由智能终端完成;B.根据阈值控制执行器由智能终端完成;C.存储数据到数据 库由服务器完成。故选C。
(3)A.智能终端可以通过IOT模块连接无线网络,传输数据给服务器;B.系统软件无需开发;C.采集时间间隔由自己进行程序编写,因此可以相同也可以不相同;D.智能终端和服务器之间的数据传输本身就是双向的。故选AD。
(4)①lasth 由最近获取的五次湿度值构成,现在新获取一项湿度值,需要将后四项前移到前四项,把第五个位置空出来放新值。因此该空答案为lasth[0:4]=lasth[1:5] ②由提示打开除湿机可知,当前要打开除湿机,其需要近 5 次有三次超过阈值,因此答案可以为 sum(lasth)>2。
(5)参考答案即可
14. 某社区开展“我运动,我健康”趣味保龄球活动,比赛规则为:每人投掷3个球,击打15米外的10个瓶子,按照三次击倒总个数累计得分,击倒1个瓶子计1分。请回答下列问题。
(1)定义 cal函数,score为得分,返回该得分在 list 数组中的排名。例如: 则返回得分3的排名为3。则划线处应填入的代码为_____(单选:填字母)
def cal(score, list):
for i in list:
if :
rank+=1
return rank
(2)参加活动的部分数据如图a所示,根据得分计算排名,并找出排名前三的选手。实现上述功能的部分 Python程序如下:
import pandas as pd
import matplotlib. pyplot as plt
#读取数据, 保存到 DataFrame 对象 df中
df. 得分= df. sum(axis=1) #按行求和
for i in df. index:
df. at[i, "排名"]=_______________
dfl=
①请在程序中划线处填入合适的代码。
②程序方框中应填入的正确代码为 _____(单选,填字母)
A. df. 排名<=3 B. df[df. 排名]<=3 C. df[df["排名"]]<=3 D. df[df. 排名<=3]
(3)根据上述 df中的得分数据,统计男子和女子的平均得分,绘制如图b所示的柱形图,实现该功能的部分 Python程序如下,请在程序中划线处填入合适的代码。
df _g= df. groupby("组别", as index= False). mean()
_________________
y= df _g. 得分
plt. bar(x,y)
#设置绘图参数,代码略
【答案】 ①. C ②. cal(df.at[i,"得分"],df.得分)或其它等价答案 ③. D ④. x=df_g.组别或其它等价答案
【解析】
【详解】本题考查的是pandas数据分析。
(1)由题意可知,按照得分降序进行排名,也就是说,当 score 遇到比它大的值,需要rank+=l,故答案选 C。
(2)①处,逐一计算排名并存储。cal函数中,score为得分,功能是返回该得分在 list 数组中的排名,故此处应为:cal(df.at[i,"得分"],df.得分)。②处,筛选排名小于等于3的(考虑到同排名情况),即可找出排名前三的记录,故选D。
(3)由图b可知,x轴的数据为组别,故此处应为:x=df_g.组别。
15. 某机构采购了n类(编号1~n)紧急救援食品,所有食品均采用统一的包装袋进行封装,食品储存条件分冷藏和常温。现将食品存放在若干货柜内,每个货柜的最大容量为m袋,货柜编号从1开始。存放时,首先按类别编号依次在各类食品内处理,将每m袋存放于一个新的货柜,装袋数量不足 m的暂不处理; 然后按剩余食品袋数由多到少的顺序,依次为各类食品按照储存条件分配存放的货柜。
若某类食品的剩余袋数为k,则存放过程为:在已存放食品的货柜内寻找空余空间不少于k的货柜,且满足已存食品与当前食品的储存条件相同(冷藏或常温)。若存在多个这样的货柜,则挑选空余空间最小的来存放,若不存在,则存放于新的货柜。
设n为4,m为100,当食品袋数超过m时,货柜的安排过程如图a所示,各类剩余食品的放置过程如图b所示。其中编号为2的食品需冷藏。
编写程序:给定各食品类别编号及装袋数量,根据上述方法进行放置,按食品类别编号次序输出各类食品所放置的货柜编号。请回答下列问题:
(1)由题意可知,若仅将图 a 中类别3的装袋数量改为 185,然后对图中4类食品重新放置,则类别3所放置的货柜编号为_____。
(2)定义getroom(a, key,f)函数,参数a中每个元素由货柜的空位数和储存条件(0常温,1冷藏)两个数据项构成。函数的功能是为各类剩余食品寻找储存的货柜编号。
def getroom(a, key,f):
flag= True
i=0
while i< len(a):
if a[i][0] >= key and a[i][1]==f:
if flag or a[i]<= a[m]:
m=i
flag= False
i+=1
if flag== False:
return m
else:
return len(a)
若a为[[0,0],[25,1],[30,0],[20,1],[15,0]], key为15,f为1,调用 getroom(a, key,f)后,返回的值为______。
(3)实现上述功能的部分 Python程序如下,请在程序中划线处填入合适的代码。
def group(data, m):
n= len(data)
rooms=[] # rooms[i]存放i类食品放置的货柜编号
b=[[0,0]]
for i in range(n+1):
rooms. append([]) #在列表 rooms 末尾追加一个元素[]
rnum=0
for i in range(n): #处理装袋数量超过 m 食品
while data[i][1]>=m:
rnum+=1
b. append([0 data[i][2]])
____________________
rooms[k]. append(rnum)
data[i][1]-=m
#根据各类食品的剩余袋数,对data 进行降序排序,代码略
i=0
while i<n:
rest= data[i][1]
marker= data[i][2]
dyroom= getroom(b, rest, marker)
if ____________________:
rnum+=1
b. append([m-rest, data[i][2]])
rooms[data[i][0]]. append(rnum)
else:
______________________
rooms[data[i][0]]. append(dyroom)
data[i][1]=0
i+=1
#输出各类食品放置的货柜编号,代码略
"
读取货柜的最大容量存入m; 读取编号为1~n食品数据, 依次存入列表 data的 data[0]至 data[n-1]。
data[i]包含3个数据项, data[i][0], data[i][1], data[i][2]分别存放类别编号、装袋数量以及储存条件(0常温, 1 冷藏),如示例: data=[[1,110,0],[2,90,1]...],即编号为2的食品装袋数量为90, 需放置冷藏货柜。
"
group(data, m)
【答案】 ①. 2,6 ②. 3 ③. k=data[i][0] ④. dyroom==len(b) ⑤. b[dyroom][0]=b[dyrooml[0]-rest
【解析】
【详解】本题考查的是数组应用。
(1)若仅将图 a 中类别3的装袋数量改为 185,则在图 b 中剩余袋数为85比类别4多,要先处理,故类别3所放置的货柜编号为:2,6。
(2)当 key 为 15,f为 1,此时需要查找空位数大于等于 15 且储存条件为冷藏的空位。结合题意和程序,若存在多个这样的货柜,则挑选空余空间最小的来存放。当a为[[0,0],[25,1],[30,0],[20,1],[15,0]]时,符合要求的空位为索引为3 的数据元素[20,1],故调用函数 getroom 后,返回的值为 3。
(3)③ 依题意,当前食品的袋装数量超过m时,则新增货柜数,并在列表b中追加货柜使用信息,此处获取当前食品的类别编号k,并将当前食品的货柜编号更新,故③空填 k=data[i][0];④从题意分析,剩余食品已找到最优货柜编号,若未找到,则新增加一个货柜,若找到则将该类别剩余食品放置进该货柜。本处为增加货柜,故自定义函数 getroom(b,rest,marker)返回值 dyroom==len(b)。⑤若找到最优货柜,更新b数组中的剩余食品空位数,故⑤空填b[dyroom][0]=b[dyroom][0]-rest。
第1页/共1页
学科网(北京)股份有限公司
$