内容正文:
绝密★使用前
高二技术学科练习
注意事项:
1.本题共14页,满分100分,考试时间90分钟。
2.答题前,在答题卡指定区域填写班级、姓名、考场号、座位号及准考证号。
3.所有答案必须写在答题卡上,写在试题上无效。
4.结束后,只需上交答题卡。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某校智慧校园门禁可本地缓存师生人脸、校园卡信息,并与服务器实时同步;刷脸或刷卡时由门禁终端完成身份核验,设备本地生成通行记录,联网后统一上传至中心服务器;服务器自动完成考勤统计、人流量分析、在校人员名单生成等工作。家长可通过手机APP查询学生到校、离校记录,安保安保人员可在终端查看实时通行数据与异常告警信息。阅读材料,回答下列小题。
1. 下列关于该信息系统中数据的说法,错误的是( )
A. 数据库中身份信息、时间等规整记录为结构化数据
B. 系统输出的考勤统计是数据处理后的有效数据
C. 系统实时不间断生成的门禁通行记录属于流数据
D. 采集到的全部数据都必须存入数据库后才可处理
2. 下列关于该信息系统中网络技术的说法,正确的是( )
A. 该系统仅依靠局域网即可实现全部功能
B. 手机APP查询数据,需要遵循TCP/IP协议
C. 门禁设备与中心服务器之间,只能使用有线介质通信
D. 为抵御外网攻击,服务器应当完全断开互联网
3. 下列关于该系统中人脸识别技术的说法,错误的是( )
A. 人脸识别依托大数据训练模型完成识别,属于联结主义人工智能应用
B. 光照、拍摄角度、人脸遮挡等外界干扰,会降低人脸识别的准确率
C. 系统仅识别已知师生人脸,说明该人脸识别系统不具备学习能力
D. 升级系统服务器CPU可以提升人脸识别的效率
4. 系统正常运行一段时间后,个别本校师生进出校门刷校园卡时门禁系统没有响应。下列原因中,最有可能的是( )
A. 服务器断电关机 B. 校园卡内置芯片损坏
C. 校园网络交换机故障 D. 未下载对应的手机APP
5. 下列关于该门禁信息系统组成与功能的说法,正确的是( )
A. 门禁摄像头、服务器、手机APP均属于系统硬件设备
B. 系统可完成数据采集、传输、处理、存储、输出,覆盖信息系统全流程
C. 安保人员仅作为使用者,不属于信息系统的组成部分
D. 系统的告警功能无法辅助校园安全管理工作
6. 下列关于该门禁系统网络安全与数据安全的说法,错误的是( )
A. 定期备份通行数据,可有效防范数据丢失风险
B. 对师生通行数据加密传输,可提升数据安全性
C. 为方便使用,服务器账户可设置简单密码并多人共享
D. 可结合访问控制策略,管控合法通行人员数据访问权限
7. 甲乙二人石头剪刀布游戏:数字0代表石头,数字1代表剪刀,数字2代表布。如图所示,一共玩5局输出num的值为甲胜出的局数,例如输入s1和s2的值分别为“01200”和“12121”分别模拟甲乙两人的出拳顺序,此时输出的num的值为3。则流程图①处的代码为( )
A. b==a+1 B. a==b+1
C. b==(a+1)%3 D. a==(b++1)%3
8. 栈S为空,队列Q中元素从队首到队尾依次为4、3、1、2。仅允许两种操作:操作①:队首元素出队并入栈;操作②:栈顶元素出栈并入队尾。要求最终队列队首到队尾依次为1、2、3、4且栈为空,最少操作次数为( )
A. 4 B. 5 C. 6 D. 7
9. 某完全二叉树有4个节点,分别标记为ABCD,已知A是D的父节点, B是C的父节点,则该二叉树的前序遍历序列可能为( )
A. BCAD B. BADC C. ACBD D. ABDC
10. 有如下Python程序段:
def f(n):
if n<=1:
return 1
return 1+f(n//2)
执行语句print(f(11)),输出的结果为( )
A. 2 B. 3 C. 4 D. 5
11. 有如下Python程序段,该程序利用二分法求的近似值:
x=10; L=0.0; R=x
while R-L>0.001:
if mid *mid >x:
R=mid
else:
L=mid
print(round(L,3))
下列说法正确的是( )
A. 输出结果为3.000
B. 加框处改为mid=(L+R)//2,程序仍能正常运行
C. 若把R的初值由x改为x/2,程序运行结果不变
D. 循环终止条件改为R-L>1,结果精度更高
12. 使用列表d模拟链表结构(节点数大于2),每个节点包含数据区域和指针区域,h为头指针。现要删除链表的倒数第k(k小于链表长度)个节点,部分程序代码如下。
f=h; s=h
for i in range(k):
①
while d[f][1]!=-1:
f=d[f][1]
②
③
则划线①②③处代码依次为( )
A. ①f=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[s][1]][1]
B. ①f=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[f][1]][1]
C. ①s=d[s][1] ②s=d[f][1] ③d[f][1]=d[d[s][1]][1]
D. ①s=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[s][1]][1]
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某校园环境监测系统智能终端采集气温时直接舍弃异常数据,仅采用正常数值计算有效监测数据,首个有效数据采用原始采集值,第二个、第三个有效数据分别取累计前两个、前三个正常数据的平均值,从第四个有效数据开始均选取最新四个正常数据求取平均值,所有计算结果经四舍五入保留一位小数后上传至云服务器。程序部分代码如下,请回答下列问题。
(1)智能终端依次采集到前10组气温数据:13.6,15.2,-5.0,14.8,16.4,15.9,17.1,NaN,16.5,18.2,若负数和NaN视为异常数据,则第5次上传到服务器的有效数值为___(单选,填字母:A.9.7/ B.15.0/ C.15.6)。
(2)请在划线处填入合适代码。
s=0; i=0
①___
q=[0, 0, 0, 0]
while True:
#读取传感器数据t
#check(t)函数判断t是否为异常数据,是返回True,否则返回False
if check(t):
continue
if c<4:
②___
s+=q[c]
c+=1
else:
s=③___
q[i]=t
i=(i+1)%4
p=round(s/c, 1)
#上传数据p至云服务器
#等待一段时间
14. 某校园环境监测系统部署了温湿度、PM2.5两类传感器。智能终端持续采集监测数据,根据第13题的计算规则计算有效数据后通过无线网络上传至云服务器。服务器根据阈值对数据进行判断,若数值超标,会向管理员推送告警信息,并通过智能终端控制指示灯闪烁。师生可通过网页端查看实时数据与报表。请回答下列问题。
(1)传感器采集环境数据到最终存入云端数据库的正确流向是____(单选,填字母)。
A.传感器→云服务器→智能终端→数据库
B.传感器→智能终端→云服务器→数据库
(2)下列关于该系统数据处理的描述正确的是____(单选,填字母)。
A.全部在智能终端完成 B.全部在云服务器完成
C.部分在智能终端完成,部分在云服务器完成
(3)若智能终端无线模块损坏无法联网,引发的问题有____(多选,填字母)。
A.网页端无法查看历史数据 B.云服务器无法向智能终端下发指令
C.智能终端无法上传有效数据 D.管理员收到的警告信息可能不准确
(4)现需增加噪声监测的功能,在智能终端接入声音传感器后,还需对软件部分作多处修改。请用文字描述其中1处修改建议。____
(5)现将部分PM2.5监测数据导出存于PM25.xlsx文件中,如图a所示。现要实现筛选出监测点2的PM2.5周均值超标(大于75)最严重的周数据,并按日期统计该周每日超标次数,最终绘制监测点2该周单日PM2.5超标次数柱状图。补全代码实现上述数据分析与可视化功能实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as po
import matplotlib.pyplot as plt
df = pd.read_excel(“PM25.xlsx”)
df1=①____
df2=②____
df2 = df2.sort_values(“PM2.5”, ascending=False)
week=df2.at[df2.index[0], “周”] #获取PM2.5周均值最高的周编号week
df3=df1[df1[“周”]==week]]
df3=df3[df3[“PM2.5”]>75]
df3=③____
④____
#设置绘图参数,显示如图b所示的柱形图,代码略
程序中①②③④处可选的代码有:
A. plt.plot(df3[“日”], df3[“PM2.5”])
B. df3.groupby(“日”, as_index=False)[“PM2.5”].count()
C. df.groupby(“监测点”, as_index=False)[“PM2.5”].mean()
D. df[df[“监测点”]== “监测点2”]
E. plt.bar(df3[“日”], df3[“PM2.5”])
F. df1.groupby(“周”, as_index=False)[“PM2.5”].mean()
15. 某物流仓库有m辆叉车用于货物搬运,每辆叉车单次最多装载10件货物,装载1件货物耗时1个单位时间,每完成一趟搬运额外增加3个单位时间;订单按照到达先后顺序处理,前一个订单全部分配给叉车后再执行下一个订单,同一订单货物超出单车装载上限时优先将叉车装满,再分配其余叉车继续作业。叉车需在自身处于空闲状态且对应订单已到达后方可开始作业,分配叉车时优先选择最早空闲的叉车,若多台叉车空闲时间相同,则选择编号更小的叉车,请计算所有订单全部完成所需的最少单位时间。
例如,叉车数量m=2(叉车1、叉车2),订单1在0时刻到达,共12件货物,订单2在5时刻到达,共7件货物,订单3在14时刻到达,共15件货物,具体处理过程见下表和示意图。
趟数
处理订单
到货时刻
执行叉车
处理货物数量
耗时
叉车完成时间
第1趟
订单1
0
叉车1
10
13
13
第2趟
订单1
0
叉车2
2
5
5
第3趟
订单2
5
叉车2
7
10
15
第4趟
订单3
14
叉车1
10
13
27
第5趟
订单3
14
叉车2
5
8
23
(1)若叉车数量为2,订单依次为0时刻12件、5时刻15件、14时刻7件,则完成任务至少需要消耗______单位时间。
(2)请完善my_sort函数。该函数功能:将新的空闲叉车信息(空闲时间t_end、叉车编号no)插入链式队列;队列排序规则为:按叉车空闲时间升序排列,若空闲时间相等,则按叉车编号升序排列。加框处代码有错请改正。____
def my_sort (d, fr, t_end, no):
new_idx = len(d)
d.append([t_end, no, -1])
pre=-1
cur = fr[0]
while cur !=-1:
if :
break
pre = cur
cur=d[cur][2]
if pre == -1:
d[new_idx][2]=fr[0]
fr[0]= new_idx
else:
d[new_idx][2]=d[pre][2]
d[pre][2]=new_idx
if cur == -1:
fr[1]=new_idx
(3)实现计算上述功能的部分Python程序如下,请在划线处填入合适的代码
d=[]; fr=[-1, -1]
m=2; limit =10
for no in range(1, m+1): #初始化叉车
my_sort(d, fr, 0, no)
orders=[[0, 12],[5, 15],[14, 7]]
t_fin= 0
for i in range(len(orders)):
t_arr, cnt = orders[i]
while cnt >0:
t_free =d[fr[0]][0]
no=d[fr[0]][1]
fr[0]=①____
# 单趟最多装载limit件,取货物数量与装载上限的较小值
num= min(limit, cnt)
# 叉车必须空闲、订单必须到达才能开工,取两个时刻中较大值
t_st=max(t_free, t_arr)
t_end②____
if t_end>t_fin:
t_fin = t_end
my_sort(d, fr, t_end, no)
③____
print(t_fin)
第1页/共1页
学科网(北京)股份有限公司
$
绝密★使用前
高二技术学科练习
注意事项:
1.本题共14页,满分100分,考试时间90分钟。
2.答题前,在答题卡指定区域填写班级、姓名、考场号、座位号及准考证号。
3.所有答案必须写在答题卡上,写在试题上无效。
4.结束后,只需上交答题卡。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
某校智慧校园门禁可本地缓存师生人脸、校园卡信息,并与服务器实时同步;刷脸或刷卡时由门禁终端完成身份核验,设备本地生成通行记录,联网后统一上传至中心服务器;服务器自动完成考勤统计、人流量分析、在校人员名单生成等工作。家长可通过手机APP查询学生到校、离校记录,安保安保人员可在终端查看实时通行数据与异常告警信息。阅读材料,回答下列小题。
1. 下列关于该信息系统中数据的说法,错误的是( )
A. 数据库中身份信息、时间等规整记录为结构化数据
B. 系统输出的考勤统计是数据处理后的有效数据
C. 系统实时不间断生成的门禁通行记录属于流数据
D. 采集到的全部数据都必须存入数据库后才可处理
2. 下列关于该信息系统中网络技术的说法,正确的是( )
A. 该系统仅依靠局域网即可实现全部功能
B. 手机APP查询数据,需要遵循TCP/IP协议
C. 门禁设备与中心服务器之间,只能使用有线介质通信
D. 为抵御外网攻击,服务器应当完全断开互联网
3. 下列关于该系统中人脸识别技术的说法,错误的是( )
A. 人脸识别依托大数据训练模型完成识别,属于联结主义人工智能应用
B. 光照、拍摄角度、人脸遮挡等外界干扰,会降低人脸识别的准确率
C. 系统仅识别已知师生人脸,说明该人脸识别系统不具备学习能力
D. 升级系统服务器CPU可以提升人脸识别的效率
4. 系统正常运行一段时间后,个别本校师生进出校门刷校园卡时门禁系统没有响应。下列原因中,最有可能的是( )
A. 服务器断电关机 B. 校园卡内置芯片损坏
C. 校园网络交换机故障 D. 未下载对应的手机APP
5. 下列关于该门禁信息系统组成与功能的说法,正确的是( )
A. 门禁摄像头、服务器、手机APP均属于系统硬件设备
B. 系统可完成数据采集、传输、处理、存储、输出,覆盖信息系统全流程
C. 安保人员仅作为使用者,不属于信息系统的组成部分
D. 系统的告警功能无法辅助校园安全管理工作
6. 下列关于该门禁系统网络安全与数据安全的说法,错误的是( )
A. 定期备份通行数据,可有效防范数据丢失风险
B. 对师生通行数据加密传输,可提升数据安全性
C. 为方便使用,服务器账户可设置简单密码并多人共享
D. 可结合访问控制策略,管控合法通行人员数据访问权限
【答案】1. D 2. B 3. C 4. B 5. B 6. C
【解析】
【详解】1.本题考查信息系统数据相关知识。A选项正确,规整的身份、时间记录属于结构化数据;B选项正确,考勤统计是原始数据经过处理得到的有效数据;C选项正确,持续不断产生的通行记录属于流数据;D选项错误,门禁终端可本地核验、本地生成通行记录,无需全部存入数据库再处理。因此,本题选择D选项。
2.本题考查网络技术相关知识。A选项错误,家长手机APP查询需要外网,仅局域网无法实现全部功能;B选项正确,网络通信均遵循TCP/IP协议;C选项错误,门禁和服务器可有线或无线通信,并非只能有线;D选项错误,服务器完全断网则家长APP无法查询数据,不可完全断开互联网。因此,本题选择B选项。
3.本题考查人脸识别与人工智能相关知识。A选项正确,基于大数据训练的深度学习人脸识别属于联结主义AI;B选项正确,光照、遮挡等干扰会降低识别准确率;C选项错误,系统仅识别校内人脸只是训练数据集限定师生,系统本身具备迭代学习能力;D选项正确,更强的CPU算力能加快人脸数据分析速度,提升识别效率。因此,本题选择C选项。
4.本题考查门禁故障排查相关知识。A选项错误,服务器断电则所有人脸、刷卡通行都会无响应,不会仅个别师生;B选项正确,单张校园卡芯片损坏只会导致该师生刷卡无响应;C选项错误,交换机故障会造成整片门禁设备全部失效;D选项错误,刷卡通行不需要家长手机APP,二者无关。因此,本题选择B选项。
5.本题考查信息系统组成与功能相关知识。A选项错误,手机APP属于软件,不是硬件;B选项正确,系统采集人脸/卡信息、网络传输、服务器处理、本地与云端存储、输出考勤/告警,覆盖信息系统完整流程;C选项错误,人员是信息系统重要组成部分;D选项错误,异常告警能够及时发现外来人员、违规进出,辅助校园安全管理。因此,本题选择B选项。
6.本题考查网络与数据安全相关知识。A选项正确,定期备份可以防止数据丢失;B选项正确,加密传输避免数据被窃取篡改;C选项错误,简单密码、多人共用账号极易造成数据泄露,存在严重安全隐患;D选项正确,访问控制可以限制不同人员查看对应数据,保障数据权限安全。因此,本题选择C选项。
7. 甲乙二人石头剪刀布游戏:数字0代表石头,数字1代表剪刀,数字2代表布。如图所示,一共玩5局输出num的值为甲胜出的局数,例如输入s1和s2的值分别为“01200”和“12121”分别模拟甲乙两人的出拳顺序,此时输出的num的值为3。则流程图①处的代码为( )
A. b==a+1 B. a==b+1
C. b==(a+1)%3 D. a==(b++1)%3
【答案】C
【解析】
【详解】本题考查流程图逻辑分析与分支条件判断。a为甲当前局的出拳数字,b为乙当前局的出拳数字,根据游戏规则,甲胜出的情况为:甲出0(石头)胜乙的1(剪刀)、甲出1(剪刀)胜乙的2(布)、甲出2(布)胜乙的0(石头),整理可得甲胜出时满足关系b等于(a+1)对3取模,即条件为b==(a+1)%3;其余选项中,b==a+1无法适配甲出2胜乙出0的情况,a==b+1和a==(b+1)%3都是乙胜出的条件,均不符合要求。故答案为:C。
8. 栈S为空,队列Q中元素从队首到队尾依次为4、3、1、2。仅允许两种操作:操作①:队首元素出队并入栈;操作②:栈顶元素出栈并入队尾。要求最终队列队首到队尾依次为1、2、3、4且栈为空,最少操作次数为( )
A. 4 B. 5 C. 6 D. 7
【答案】A
【解析】
【详解】本题考查栈和队列的基本操作。初始状态为栈S为空,队列Q从队首到队尾依次为4、3、1、2,要得到最终队首到队尾为1、2、3、4且栈为空的结果,操作步骤如下:
执行操作①,将队首元素4出队并入栈,此时操作次数为1,Q剩余元素从队首到队尾为3、1、2,栈内从栈底到栈顶为4;
继续执行操作①,将队首元素3出队并入栈,此时操作次数为2,Q剩余元素从队首到队尾为1、2,栈内从栈底到栈顶为4、3;
执行操作②,将栈顶元素3出栈并入队尾,此时操作次数为3,Q元素从队首到队尾为1、2、3,栈内仅剩4;
执行操作②,将栈顶元素4出栈并入队尾,此时操作次数为4,Q元素从队首到队尾为1、2、3、4,栈S为空,完全符合题目要求,因此最少操作次数为4。故答案为:A。
9. 某完全二叉树有4个节点,分别标记为ABCD,已知A是D的父节点, B是C的父节点,则该二叉树的前序遍历序列可能为( )
A. BCAD B. BADC C. ACBD D. ABDC
【答案】B
【解析】
【详解】本题考查的是二叉树的遍历。明确完全二叉树结构4个节点的完全二叉树结构固定:第一层1个根节点,第二层2个节点(根的左右孩子,除最后一层外必须满),第三层1个节点,且第三层节点一定是根左孩子的左孩子(完全二叉树最后一层节点靠左排列,不可能出现在根右孩子下方)。题干要求:A是D的父节点,B是C的父节点,因此:C、D是子节点,A、B是父节点,根只能是A或B(C、D已有父,不可能是根),且唯一的第三层节点(只有一个)一定在根的左孩子下方。其二叉树图形如下:
或
故该二叉树的前序遍历序列可能为:BADC 或ABCD。故选B。
10. 有如下Python程序段:
def f(n):
if n<=1:
return 1
return 1+f(n//2)
执行语句print(f(11)),输出的结果为( )
A. 2 B. 3 C. 4 D. 5
【答案】C
【解析】
【详解】本题考查Python递归函数的执行过程。首先调用f(11),11大于1,11整除2得到5,因此f(11)=1+f(5);接着调用f(5),5大于1,5整除2得到2,因此f(5)=1+f(2);再调用f(2),2大于1,2整除2得到1,因此f(2)=1+f(1);调用f(1)时满足n<=1,返回1;最后回代计算得到f(2)=1+1=2,f(5)=1+2=3,f(11)=1+3=4。故答案为:C。
11. 有如下Python程序段,该程序利用二分法求的近似值:
x=10; L=0.0; R=x
while R-L>0.001:
if mid *mid >x:
R=mid
else:
L=mid
print(round(L,3))
下列说法正确的是( )
A. 输出结果为3.000
B. 加框处改为mid=(L+R)//2,程序仍能正常运行
C. 若把R的初值由x改为x/2,程序运行结果不变
D. 循环终止条件改为R-L>1,结果精度更高
【答案】C
【解析】
【详解】本题考查二分法求近似值与Python程序的理解。第一,根号10约等于3.162,该程序精度要求为0.001,输出结果四舍五入后为3.162,不是3.000,该选项错误;第二,将语句改为mid=(L+R)//2后,//是Python中的整数整除运算符,运算后mid只能得到整数,无法得到高精度的小数近似结果,程序不能正常运行,该选项错误;第三,根号10约为3.162,R初值改为x/2也就是5,5仍然大于正确结果,二分查找区间依然包含正确结果,最终迭代得到的程序运行结果不变,该选项正确;第四,循环终止条件改为R-L>1后,允许的区间误差更大,循环次数更少,结果精度更低,该选项错误。故答案为:C。
12. 使用列表d模拟链表结构(节点数大于2),每个节点包含数据区域和指针区域,h为头指针。现要删除链表的倒数第k(k小于链表长度)个节点,部分程序代码如下。
f=h; s=h
for i in range(k):
①
while d[f][1]!=-1:
f=d[f][1]
②
③
则划线①②③处代码依次为( )
A. ①f=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[s][1]][1]
B. ①f=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[f][1]][1]
C. ①s=d[s][1] ②s=d[f][1] ③d[f][1]=d[d[s][1]][1]
D. ①s=d[f][1] ②s=d[s][1] ③d[s][1]=d[d[s][1]][1]
【答案】A
【解析】
【详解】本题考查列表模拟链表的操作以及双指针算法的应用。本题使用快慢双指针法查找并删除链表倒数第k个节点,初始快慢指针f和s都指向头指针h,首先需要让快指针f提前移动k步,因此①处为f=d[f][1];之后快指针继续移动直到走到链表末尾,这个过程中慢指针s同步每次移动一步,因此②处为s=d[s][1];循环结束后,慢指针s停在待删除节点的前驱位置,删除节点只需修改前驱节点的指针,指向待删除节点的下一个节点,因此③处为d[s][1]=d[d[s][1]][1],对应第一个选项。故答案为:A。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某校园环境监测系统智能终端采集气温时直接舍弃异常数据,仅采用正常数值计算有效监测数据,首个有效数据采用原始采集值,第二个、第三个有效数据分别取累计前两个、前三个正常数据的平均值,从第四个有效数据开始均选取最新四个正常数据求取平均值,所有计算结果经四舍五入保留一位小数后上传至云服务器。程序部分代码如下,请回答下列问题。
(1)智能终端依次采集到前10组气温数据:13.6,15.2,-5.0,14.8,16.4,15.9,17.1,NaN,16.5,18.2,若负数和NaN视为异常数据,则第5次上传到服务器的有效数值为___(单选,填字母:A.9.7/ B.15.0/ C.15.6)。
(2)请在划线处填入合适代码。
s=0; i=0
①___
q=[0, 0, 0, 0]
while True:
#读取传感器数据t
#check(t)函数判断t是否为异常数据,是返回True,否则返回False
if check(t):
continue
if c<4:
②___
s+=q[c]
c+=1
else:
s=③___
q[i]=t
i=(i+1)%4
p=round(s/c, 1)
#上传数据p至云服务器
#等待一段时间
【答案】(1)C (2) ①. c=0 ②. q[c]=t ③. s-q[i]+t
【解析】
【小问1详解】
本题考查算法逻辑的理解与计算能力。先筛选出正常数据,给定10个数据中,异常数据是-5.0和NaN,剩余正常数据按顺序为13.6、15.2、14.8、16.4、15.9、17.1、16.5、18.2。根据上传规则,第1次上传首个有效数据,第2次上传前两个的平均值,第3次上传前三个的平均值,第4次开始每次上传最新四个的平均值,第5次上传对应第5个有效数据,取最新四个正常数据15.2、14.8、16.4、15.9,计算得平均值约为15.6,对应选项C。故答案为:C。
【小问2详解】
本题考查算法逻辑理解与程序补全能力。①处需要初始化统计有效数据数量的变量c,初始值应为0,因此填c=0;②处当有效数据数量小于4时,需要将当前正常数据t存入q数组对应下标位置,因此填q[c]=t;③处当有效数据数量大于等于4时,采用滑动窗口维护最新四个数据的总和,需要减去即将移出窗口的旧值q[i],加上当前新的正常数据t,因此填s-q[i]+t。
14. 某校园环境监测系统部署了温湿度、PM2.5两类传感器。智能终端持续采集监测数据,根据第13题的计算规则计算有效数据后通过无线网络上传至云服务器。服务器根据阈值对数据进行判断,若数值超标,会向管理员推送告警信息,并通过智能终端控制指示灯闪烁。师生可通过网页端查看实时数据与报表。请回答下列问题。
(1)传感器采集环境数据到最终存入云端数据库的正确流向是____(单选,填字母)。
A.传感器→云服务器→智能终端→数据库
B.传感器→智能终端→云服务器→数据库
(2)下列关于该系统数据处理的描述正确的是____(单选,填字母)。
A.全部在智能终端完成 B.全部在云服务器完成
C.部分在智能终端完成,部分在云服务器完成
(3)若智能终端无线模块损坏无法联网,引发的问题有____(多选,填字母)。
A.网页端无法查看历史数据 B.云服务器无法向智能终端下发指令
C.智能终端无法上传有效数据 D.管理员收到的警告信息可能不准确
(4)现需增加噪声监测的功能,在智能终端接入声音传感器后,还需对软件部分作多处修改。请用文字描述其中1处修改建议。____
(5)现将部分PM2.5监测数据导出存于PM25.xlsx文件中,如图a所示。现要实现筛选出监测点2的PM2.5周均值超标(大于75)最严重的周数据,并按日期统计该周每日超标次数,最终绘制监测点2该周单日PM2.5超标次数柱状图。补全代码实现上述数据分析与可视化功能实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as po
import matplotlib.pyplot as plt
df = pd.read_excel(“PM25.xlsx”)
df1=①____
df2=②____
df2 = df2.sort_values(“PM2.5”, ascending=False)
week=df2.at[df2.index[0], “周”] #获取PM2.5周均值最高的周编号week
df3=df1[df1[“周”]==week]]
df3=df3[df3[“PM2.5”]>75]
df3=③____
④____
#设置绘图参数,显示如图b所示的柱形图,代码略
程序中①②③④处可选的代码有:
A. plt.plot(df3[“日”], df3[“PM2.5”])
B. df3.groupby(“日”, as_index=False)[“PM2.5”].count()
C. df.groupby(“监测点”, as_index=False)[“PM2.5”].mean()
D. df[df[“监测点”]== “监测点2”]
E. plt.bar(df3[“日”], df3[“PM2.5”])
F. df1.groupby(“周”, as_index=False)[“PM2.5”].mean()
【答案】(1)B (2)C (3)BCD
(4)智能终端程序里增加读取声音传感器的代码
智能终端程序里增加声音数据的计算规则(类似温湿度、PM2.5的有效数据处理)
智能终端程序里修改数据上传格式,增加声音字段
服务器接收程序,增加识别并存储声音数据的代码
修改网页显示模块,增加噪声监测数据显示
服务器端程序,修改阈值判断与告警规则,增加噪声超标告警或其他等价答案
(5) ①. D ②. F ③. B ④. E
【解析】
【详解】本题考查搭建信息系统。
(1)传感器采集原始数据先交给本地智能终端预处理,终端再通过网络上传至云服务器,最后存入服务器数据库。对应流向:传感器→智能终端→云服务器→数据库。 答案:B。
(2)题目说明智能终端先计算有效数据(终端本地处理),服务器负责阈值判断、告警、报表统计(云端处理),因此数据处理一部分在终端、一部分在服务器。 答案:C。
(1) A.网页端历史数据存云端数据库,不受终端断网影响,错误; B.终端断网,服务器下发的控制指令无法送达终端,正确; C.无线模块损坏无法联网,终端不能上传采集数据到服务器,正确; D.服务器收不到实时数据,无法准确判断超标,告警信息失真,正确。 答案:BCD。
(4)智能终端程序里增加读取声音传感器的代码 智能终端程序里增加声音数据的计算规则(类似温湿度、PM2.5的有效数据处理) 智能终端程序里修改数据上传格式,增加声音字段 服务器接收程序,增加识别并存储声音数据的代码 修改网页显示模块,增加噪声监测数据显示 服务器端程序,修改阈值判断与告警规则,增加噪声超标告警或其他等价答案.
(5)①处需求第一步先筛选所有监测点2的数据,D. df[df[“监测点”]== “监测点2”]过滤目标监测点数据,选D。②处对筛选出的监测点2数据按“周”分组求PM2.5均值,用于找到均值超标最严重的周,对应df1.groupby(“周”, as_index=False)[“PM2.5”].mean(),选F。③处筛选出该周所有PM2.5>75的超标记录后,按“日”分组统计每日超标条数(count计数),选B。④处绘制柱状图展示每日超标次数,柱状图函数plt.bar,x轴为星期“日”,y轴为统计出的超标计数值,选E。
15. 某物流仓库有m辆叉车用于货物搬运,每辆叉车单次最多装载10件货物,装载1件货物耗时1个单位时间,每完成一趟搬运额外增加3个单位时间;订单按照到达先后顺序处理,前一个订单全部分配给叉车后再执行下一个订单,同一订单货物超出单车装载上限时优先将叉车装满,再分配其余叉车继续作业。叉车需在自身处于空闲状态且对应订单已到达后方可开始作业,分配叉车时优先选择最早空闲的叉车,若多台叉车空闲时间相同,则选择编号更小的叉车,请计算所有订单全部完成所需的最少单位时间。
例如,叉车数量m=2(叉车1、叉车2),订单1在0时刻到达,共12件货物,订单2在5时刻到达,共7件货物,订单3在14时刻到达,共15件货物,具体处理过程见下表和示意图。
趟数
处理订单
到货时刻
执行叉车
处理货物数量
耗时
叉车完成时间
第1趟
订单1
0
叉车1
10
13
13
第2趟
订单1
0
叉车2
2
5
5
第3趟
订单2
5
叉车2
7
10
15
第4趟
订单3
14
叉车1
10
13
27
第5趟
订单3
14
叉车2
5
8
23
(1)若叉车数量为2,订单依次为0时刻12件、5时刻15件、14时刻7件,则完成任务至少需要消耗______单位时间。
(2)请完善my_sort函数。该函数功能:将新的空闲叉车信息(空闲时间t_end、叉车编号no)插入链式队列;队列排序规则为:按叉车空闲时间升序排列,若空闲时间相等,则按叉车编号升序排列。加框处代码有错请改正。____
def my_sort (d, fr, t_end, no):
new_idx = len(d)
d.append([t_end, no, -1])
pre=-1
cur = fr[0]
while cur !=-1:
if :
break
pre = cur
cur=d[cur][2]
if pre == -1:
d[new_idx][2]=fr[0]
fr[0]= new_idx
else:
d[new_idx][2]=d[pre][2]
d[pre][2]=new_idx
if cur == -1:
fr[1]=new_idx
(3)实现计算上述功能的部分Python程序如下,请在划线处填入合适的代码
d=[]; fr=[-1, -1]
m=2; limit =10
for no in range(1, m+1): #初始化叉车
my_sort(d, fr, 0, no)
orders=[[0, 12],[5, 15],[14, 7]]
t_fin= 0
for i in range(len(orders)):
t_arr, cnt = orders[i]
while cnt >0:
t_free =d[fr[0]][0]
no=d[fr[0]][1]
fr[0]=①____
# 单趟最多装载limit件,取货物数量与装载上限的较小值
num= min(limit, cnt)
# 叉车必须空闲、订单必须到达才能开工,取两个时刻中较大值
t_st=max(t_free, t_arr)
t_end②____
if t_end>t_fin:
t_fin = t_end
my_sort(d, fr, t_end, no)
③____
print(t_fin)
【答案】(1)28 (2)d[cur][0]>t_end or (d[cur][0]==t_end and d[cur][1]>no)
(3) ①. d[fr[0]][2] ②. t_st+num+3 ③. cnt-=num
【解析】
【详解】本题考查贪心算法模拟和Python链式队列操作的代码编写。
(1)按照题目规则计算最终完成时间:第一步处理0时刻12件的第一个订单,分为两趟,叉车1装10件,完成时间为0+10+3=13,叉车2装2件,完成时间为0+2+3=5;第二步处理5时刻15件的第二个订单,优先选择最早空闲的叉车2,开始时间为max(5,5)=5,装载10件后完成时间为5+10+3=18,剩余5件,选择下一个最早空闲的叉车1,开始时间为max(13,5)=13,装载5件后完成时间为13+5+3=21,第二个订单处理完成;第三步处理14时刻7件的第三个订单,选择最早空闲的叉车2,开始时间为max(18,14)=18,装载7件后完成时间为18+7+3=28,所有订单处理完成,最终总时间为28。
(2)排序规则是按空闲时间升序,空闲时间相同时按编号升序,因此遍历找插入位置时,当当前节点满足空闲时间大于新节点空闲时间,或者空闲时间相等但编号大于新节点编号时,停止遍历,因此修改条件为d[cur][0]>t_end or (d[cur][0]==t_end and d[cur][1]>no)。
(3)①取出队首叉车分配后,新队首应为原队首存储的下一个节点索引,因此填入d[fr[0]][2];②完成时间等于开始时间加上装载时间num,再加上额外的3个单位时间,因此t_end为t_st+num+3,填入t_st+num+3;③每处理num件货物,剩余货物数量需要减去num,因此填入cnt -= num。
第1页/共1页
学科网(北京)股份有限公司
$