2026届浙江省普通高校招生信息技术选考模拟卷(九)(含解析)

资源下载
  1. 二一教育资源

2026届浙江省普通高校招生信息技术选考模拟卷(九)(含解析)

资源简介

浙江省普通高校招生信息技术选考模拟卷(九)
                  
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至6题:
某校为有效提升学校人员的科学化、精准化管理,建有校园智慧人脸门禁识别系统。系统管理员将师生的人脸、校园卡等信息录入系统,并将相关数据下发到各终端设备(同时具备刷脸和刷卡功能)。学校师生通过刷脸或刷卡进出学校、教室、宿舍等场地。系统终端设备支持脱机工作,无网络时也可以使用。学校管理员、师生及家长可通过浏览器登录该系统,查看相关人员的各项考勤数据及分析报告。
1.关于该智慧人脸门禁识别系统中数据与信息的叙述,正确的是(  )
A.管理员仅需录入师生人脸和校园卡数据就可以使该系统正常运行
B.该系统数据只包括人脸、校园卡等图像数据,没有其他格式的数据
C.信息技术教师利用Python编程对考勤数据进行可视化展示是知识的体现
D.对各项考勤刷脸数据进行分析后形成报告,主要体现了信息的时效性
2.关于该系统功能与组成的叙述,正确的是(  )
A.访问该系统只能通过计算机上的浏览器实现
B.该系统无法在局域网里面正常使用
C.人脸信息已存储在系统中,刷脸过程中无需再采集人脸信息
D.系统使用过程中还会产生新的数据,后期需考虑增加服务器存储空间
3.关于该系统刷脸和刷卡过程的叙述,正确的是(  )
A.录入照片的清晰度对刷脸识别准确率几乎没有影响
B.更换校园卡后应及时更新该系统中的相关信息,否则会影响刷脸效果
C.刷卡与刷脸的算法一致,都需要通过数据训练来不断提升识别准确率
D.刷脸和刷卡终端设备脱机工作时,系统查询结果信息不一定是完整的
4.下列关于数据处理和系统管理的做法,不合适的是(  )
A.为防止数据丢失,定期备份数据,并将备份数据拷贝到移动硬盘中
B.为方便数据导入,将师生、家长各类数据发给系统开发公司协助处理
C.为保证密码强度,要求用户设置的密码包含三种不同类型的字符
D.为保障系统安全,在服务器端设置防火墙,并安装杀毒软件
5.下列关于系统数据编码和存储的叙述,不正确的是(  )
A.卡号和人脸数据都以二进制形式在计算机中存储
B.将BMP格式的人脸数据转换为JPEG格式更容易在系统内传输
C.系统中所有的数据都必须存储在数据库中
D.改变系统中数据的编码方式,相关数据存储容量也会发生变化
6.下列设备或网络出现故障,会导致整个系统无法正常运行的是(  )
A.宿舍里的一台刷脸刷卡终端设备
B.学校中心机房安装有该系统程序的服务器
C.管理员办公室管理系统的计算机
D.校门口其中一台刷脸刷卡终端设备的网络
7.某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为57,80,60,75,50,90,-1则输出结果为(  )
A.4,60 B.3,75
C.3,90 D.4,100
8.二叉树的中序遍历是BAC,它的前序遍历不可能是(  )
A.ABC B.CBA
C.ACB D.BAC
9.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。元素a,b,c,d,e,f依次入栈,在第2个出栈为元素d的序列中,则第3个出栈的元素个数为(  )
A.2 B.3
C.4 D.5
10.执行如下Python程序,输出结果为(  )
def f(s,i):
  if i+2>len(s):
    return s
  if s[i]==s[i+1]:
    s=s[:i]+s[i+2:]
    return f(s,max(i-1,0)) #max(a,b)返回a和b中的较大值
  return f(s,i+1)
s="PPTTPAPPTATAAT"
print(f(s,2))
A.PATATT B.PPPATA
C.PATA D.PTA
11.某二分查找算法的Python程序如下:
import random
key=random.randint(0,4)*2+5
n=10;ans=0
a=[4,5,5,8,9,11,11,13,15,17]
i=0;j=n-1
while i<=j:
  m=(i+j) // 2
  if a[m]<=key:
    i=m+1
  else:
    j=m-1
  ans+=a[m]
print(ans)
程序运行后,输出ans的值不可能是(  )
A.19 B.27
C.37 D.44
12.使用列表Ink模拟链表结构,head为头指针,每个节点包括性别、身高和后续指针。原链表按先男生再女生升序排列(如图a所示),现要修改各节点的链接关系,使得链表按先女生再男生升序排列(如图b所示),实现该功能的代码如下:
Ink=[["男",178,1],["男",180,2],["男",185,3],["女",160,4],["女",172,5],["女",174,-1]]
head=0;t=head
pre=cur=Ink[head][2]
while Ink[cur][2]!=-1:
  if Ink[cur][0]=="男":
    pre=cur;cur=Ink[cur][2]
        
Ink[cur][2]=t
方框处应填入正确的代码为(  )
A.elif t==head:
  head=cur
  Ink[pre][2]=-1
  break
B.elif t==head:
  head=pre
  Ink[cur][2]=-1
  break
C.elif t==head:
  head=cur
  Ink[pre][2]=-1
else:
  cur=Ink[cur][2]
D.elif t==head:
  head=pre
  Ink[cur][2]=-1
else:
  p=Ink[pre][2]
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13.某港口安排摆渡车将旅客从码头送往停靠在附近的游轮。港口规定:摆渡车满载或最早到达的乘客等待超过120秒时安排摆渡车出发。摆渡车往返一次需要10分钟,港口会优先安排已经返回的摆渡车运送旅客,摆渡车荷载10人。
每批旅客的到达信息表示为[时刻,人数],其中第1项表示这批旅客到达的时刻(单位:秒),第2项表示旅客数。编写程序,计算在给定时间段内所需摆渡车总数。
(1)某时间段内旅客的到达数据为[[0,2],[120,8],[150,5],[200,22],[500,8]],港口需要安排的摆渡车数量是    (注:所有旅客需安排上车)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取旅客的到达数据,按到达时刻升序存入列表d
goback,waitlim=600,120 #摆渡车往返时长goback,旅客最大等待时长waitlim
bus=[] #摆渡车返回时刻
①     
w=0;p=0
for i in range(len(d)):
  t=d[i][0] #让前面等待人员上车,以免超时
  if ②      :
    if len(bus)>0 and bus[0]<=d[p][0]+waitlim: #安排已返回的摆渡车运送
      bus.pop(0)
    else:
      s+=1
    bus.append(d[p][0]+waitlim+goback) #记录该摆渡车的返回时刻
    w=0;p=i
w+=d[i][1] #满载发车
  if w>=10:
    for j in range(w//10):
      bus.append(t+goback)
    while len(bus)>0 and bus[0]<=t and w>=10: #安排已经返回的摆渡车
      bus.pop(0)
      ③     
    s+=w//10;w=w%10
    if w==0:
      p=i+1
    else:
      p=i
#剩余的乘客安排摆渡车,代码略
#输出所需的摆渡车数量,代码略
14.某小区使用microbit板构建一个“噪声检测系统”,在5个区域分别安装了1个声音传感器,并通过5G信号连接在同1个智能终端上。传感器每隔1分钟采集一次噪声数据,智能终端通过网络将采集的噪声数据发送到服务器并保存到数据库,服务器根据数据判断噪声是否超标(大于55分贝),若噪声超标,则通过智能终端控制报警器报警。工作人员可通过浏览器查询历史噪声数据。请回答下列问题:
(1)以下可由智能终端完成的是    (单选,填字母:A.将采集到的数据保存到数据库/B.处理浏览器的访问请求/C.设置数据采集时间间隔)。
(2)智能终端程序采用read_analog()函数读取传感器的数据,是由于智能终端程序中导入的Python库是    (单选,填字母:A.Flask/B.sqlite3/C.microbit)。
(3)下列关于该系统的说法,正确的有    (多选,填字母)。(注:全部选对得2分,选对但不全的得1分,不选或有错的得0分)
A.智能终端和服务器之间的通信是单向的
B.传感器和智能终端可以通过无线方式通信
C.报警器通过互联网直接接收服务器的控制信号
D.可通过设置传感器编号区分噪声数据所在的区域
(4)为了检测小区的空气质量,可对已有系统进行功能扩充,请提供一种解决方案(从添加硬件和增加系统功能两个角度简要阐述)。
(5)将系统中2024年的数据导出到data.xlsx中,部分数据如图a所示。现要统计2024年区域3出现噪声报警天数最多的4个月,并根据分析结果绘制柱形图(如图c所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
#导入模块和图表字体设置,代码略
df=pd.read_excel("data.xlsx")
df1=df[df["区域"]==3]
df1=①     
df1=②     
df1["月份"]=""
for i in df1.index:
  df1.at[i,"月份"]=df1.at[i,"日期"][5:7]
df1=③     
df1=④     
print(df1) #显示结果如图b所示
plt.bar(df1.月份,df1.噪声,label="天数")
#设置绘图参数,并显示如图c所示的柱形图,代码略
①②③④处可选代码有:
A.df1.sort_values("噪声",ascending=False).head(4)
B.df1.sort_values("噪声").tail(4)
C.df1[df1["噪声"]>55]
D.df1.groupby("月份",as_index=False).噪声.sum()
E.df1.groupby("月份",as_index=False).噪声.count()
F.df1.groupby("区域",as_index=False).count()
G.df1.groupby("日期",as_index=False).count()
15.某校在8时至18时举办素养达人竞赛,活动设有A、B、C三个区域,每个区域同一时刻只进行一项任务,学生需在任务开始时刻进入区域,任务完成后获得相应的素养积分,之后可继续完成其他任务或者休息。小明编写程序,计算该竞赛能获得的最高积分。任务数据如图所示,例如图中A1:6表示在8时到11时完成任务A1后获得6分。
列表data依次存储入各区域数据,各区域数据分别按结束时刻升序,每个元素包含任务编号、开始时刻、结束时刻、积分值4个数据项,如data[0]的值为['A1',8,11,6].
(1)16时的最佳任务路径为C1→B2→B3→A4,可获得的最高积分为16,17时的最佳任务路径为Cl→B2→B3→C3,可获得的最高积分为17,则18时可以获得的最高积分为    。
(2)定义如下函数merge(a,st,ed),实现在按结束时刻升序的某区域数据索引列表a中,添加st至ed间(包含st和ed)的索引列表,使得data[a[0]],data[a[1]]……按结束时刻升序,返回索引列表a。如列表a为[0,1,2,3,4],代表A区域任务在data中的索引。st为5、ed为9代表B区域任务在data中的起止索引,则merge(a,st,ed)返回结果为[5,0,1,6,7,2,3,8,4,9]。
def merge(a,st,ed):
  i,j=len(a)-1,ed
  a+=[0]*(ed-st+1)
  k=len(a)-1
  while j>=st:
    if i>=0 and data[a[i]][2]>data[j][2]:
      a[k]=a[i] #①
      i-=1
    else:
      a[k]=a[j] #②
      j-=1
    k-=1
  return a
代码加框①②处中    (单选,填:①/②)处有误,应修改为    。
(3)部分Python程序如下,请在划线处填入合适的代码。
#依次读取每个区域的任务编号、开始时刻、结束时刻、积分值数据,存储data列表中,各区域数据分别按结束时刻升序,代码略。
num=[5,5,4] #代表A、B、C区域任务分别为5个,5个,4个
st,n=0,3
a=[]
for i in range(n):
  ①     
  a=merge(a,st,ed)
  st=ed+1
res=[0]*24 #存储每个时刻的积分最大值
start,end=8,18
pos=0
for cur in range(start+1,end+1):
  ②     
  while pos=data[a[pos]][2]:
    info=data[a[pos]]
    if ③      :
      pre,r=info[1],info[3]
      if mr        mr=res[pre]+r
    pos+=1
  res[cur]=mr
#输出最高积分,代码略浙江省普通高校招生信息技术选考模拟卷(九)
                  
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至6题:
某校为有效提升学校人员的科学化、精准化管理,建有校园智慧人脸门禁识别系统。系统管理员将师生的人脸、校园卡等信息录入系统,并将相关数据下发到各终端设备(同时具备刷脸和刷卡功能)。学校师生通过刷脸或刷卡进出学校、教室、宿舍等场地。系统终端设备支持脱机工作,无网络时也可以使用。学校管理员、师生及家长可通过浏览器登录该系统,查看相关人员的各项考勤数据及分析报告。
1.关于该智慧人脸门禁识别系统中数据与信息的叙述,正确的是(  )
A.管理员仅需录入师生人脸和校园卡数据就可以使该系统正常运行
B.该系统数据只包括人脸、校园卡等图像数据,没有其他格式的数据
C.信息技术教师利用Python编程对考勤数据进行可视化展示是知识的体现
D.对各项考勤刷脸数据进行分析后形成报告,主要体现了信息的时效性
答案 C
解析 A选项还需要服务器地址等其他数据的支持。B选项还有系统配置等结构化数据。D选项主要体现对数据的加工处理。
2.关于该系统功能与组成的叙述,正确的是(  )
A.访问该系统只能通过计算机上的浏览器实现
B.该系统无法在局域网里面正常使用
C.人脸信息已存储在系统中,刷脸过程中无需再采集人脸信息
D.系统使用过程中还会产生新的数据,后期需考虑增加服务器存储空间
答案 D
解析 A选项可以用手机等移动终端上的浏览器实现。B选项只要网络支持就可以。C选项采集人脸信息是为了系统中数据进行比对。
3.关于该系统刷脸和刷卡过程的叙述,正确的是(  )
A.录入照片的清晰度对刷脸识别准确率几乎没有影响
B.更换校园卡后应及时更新该系统中的相关信息,否则会影响刷脸效果
C.刷卡与刷脸的算法一致,都需要通过数据训练来不断提升识别准确率
D.刷脸和刷卡终端设备脱机工作时,系统查询结果信息不一定是完整的
答案 D
解析 A选项图像质量将影响识别正确率。B选项数据及时更新后,才能进行其他的操作。C选项刷卡是识别卡的ID,刷脸是人脸识别的算法,算法肯定不一致;D选项终端智能存储部分客户的部分数据。
4.下列关于数据处理和系统管理的做法,不合适的是(  )
A.为防止数据丢失,定期备份数据,并将备份数据拷贝到移动硬盘中
B.为方便数据导入,将师生、家长各类数据发给系统开发公司协助处理
C.为保证密码强度,要求用户设置的密码包含三种不同类型的字符
D.为保障系统安全,在服务器端设置防火墙,并安装杀毒软件
答案 B
解析 B选项涉及数据的隐私。
5.下列关于系统数据编码和存储的叙述,不正确的是(  )
A.卡号和人脸数据都以二进制形式在计算机中存储
B.将BMP格式的人脸数据转换为JPEG格式更容易在系统内传输
C.系统中所有的数据都必须存储在数据库中
D.改变系统中数据的编码方式,相关数据存储容量也会发生变化
答案 C
解析 C选项系统终端设备支持脱机工作,因此肯定会存储部分数据。
6.下列设备或网络出现故障,会导致整个系统无法正常运行的是(  )
A.宿舍里的一台刷脸刷卡终端设备
B.学校中心机房安装有该系统程序的服务器
C.管理员办公室管理系统的计算机
D.校门口其中一台刷脸刷卡终端设备的网络
答案 B
解析 B选项服务器是信息系统的核心,服务器故障肯定会影响系统的运行。
7.某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为57,80,60,75,50,90,-1则输出结果为(  )
A.4,60 B.3,75
C.3,90 D.4,100
答案 B
解析 程序的功能是统计大于60的数字个数,以及这些数中的最小数字。80,75,90大于60,最小的为75。
8.二叉树的中序遍历是BAC,它的前序遍历不可能是(  )
A.ABC B.CBA
C.ACB D.BAC
答案 C
解析 若根节点为B,前序遍历为BAC;根节点为C,前序遍历为CBA;根节点为A,前序遍历ABC,不可能为ACB。
9.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。元素a,b,c,d,e,f依次入栈,在第2个出栈为元素d的序列中,则第3个出栈的元素个数为(  )
A.2 B.3
C.4 D.5
答案 C
解析 本题考查栈的性质。若第1个出栈的元素为e,则栈中有元素a,b,c,d,第3个出栈的元素为c或f;若第1个出栈的元素为f,则d不可能是第2个出栈的元素。若第1个出栈的元素为a,栈中有元素b,c,d,第3个出栈的元素可能为c或e。若第1个出栈的元素为b,栈中有元素a,c,d,第3个出栈的元素不可能是a。若第1个出栈的元素为c,栈中有元素a,b,c,第3个出栈的元素不可能是b。因此第3个出栈的元素可能是b,c,e,f。
10.执行如下Python程序,输出结果为(  )
def f(s,i):
  if i+2>len(s):
    return s
  if s[i]==s[i+1]:
    s=s[:i]+s[i+2:]
    return f(s,max(i-1,0)) #max(a,b)返回a和b中的较大值
  return f(s,i+1)
s="PPTTPAPPTATAAT"
print(f(s,2))
A.PATATT B.PPPATA
C.PATA D.PTA
答案 C
解析 当条件i+2>len(s)成立时,即字符串s只有一个字符时,递归终止返回当前s;当条件s[i]==s[i+1]成立时,删除相同的2个相邻字符,同时i前移一位,若i出了边界,回到字符开始。函数的功能是将字符串中相邻相同的字符串删除。
11.某二分查找算法的Python程序如下:
import random
key=random.randint(0,4)*2+5
n=10;ans=0
a=[4,5,5,8,9,11,11,13,15,17]
i=0;j=n-1
while i<=j:
  m=(i+j) // 2
  if a[m]<=key:
    i=m+1
  else:
    j=m-1
  ans+=a[m]
print(ans)
程序运行后,输出ans的值不可能是(  )
A.19 B.27
C.37 D.44
答案 A
解析 本题考查二分查找算法。变量key的值可能是[5,7,9,11,13],ans是查找值的累加和。当找到key时,还要向右边界继续查找。当key=5、7时,a[m]分别是:9、5、5、8,ans=27,由此可以推断不可能是19。
12.使用列表Ink模拟链表结构,head为头指针,每个节点包括性别、身高和后续指针。原链表按先男生再女生升序排列(如图a所示),现要修改各节点的链接关系,使得链表按先女生再男生升序排列(如图b所示),实现该功能的代码如下:
Ink=[["男",178,1],["男",180,2],["男",185,3],["女",160,4],["女",172,5],["女",174,-1]]
head=0;t=head
pre=cur=Ink[head][2]
while Ink[cur][2]!=-1:
  if Ink[cur][0]=="男":
    pre=cur;cur=Ink[cur][2]
        
Ink[cur][2]=t
方框处应填入正确的代码为(  )
A.elif t==head:
  head=cur
  Ink[pre][2]=-1
  break
B.elif t==head:
  head=pre
  Ink[cur][2]=-1
  break
C.elif t==head:
  head=cur
  Ink[pre][2]=-1
else:
  cur=Ink[cur][2]
D.elif t==head:
  head=pre
  Ink[cur][2]=-1
else:
  p=Ink[pre][2]
答案 C
解析 程序需要更改女生最后元素的下一个指针到男生的第一个元素的指针,还需要更新头节点为女生的第一个元素。更新男生最后一个元素的下一个节点指针为-1,表示最后一个节点。A选项不能正确更新女生最后元素的下一个指针到男生的第一个元素的指针。B选项应该更新cur指针到头节点。pre此时指向的是男生。D选项与B选项类似,pre此时指向的是男生,头节点要更新到女生位置上。
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13.某港口安排摆渡车将旅客从码头送往停靠在附近的游轮。港口规定:摆渡车满载或最早到达的乘客等待超过120秒时安排摆渡车出发。摆渡车往返一次需要10分钟,港口会优先安排已经返回的摆渡车运送旅客,摆渡车荷载10人。
每批旅客的到达信息表示为[时刻,人数],其中第1项表示这批旅客到达的时刻(单位:秒),第2项表示旅客数。编写程序,计算在给定时间段内所需摆渡车总数。
(1)某时间段内旅客的到达数据为[[0,2],[120,8],[150,5],[200,22],[500,8]],港口需要安排的摆渡车数量是    (注:所有旅客需安排上车)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#获取旅客的到达数据,按到达时刻升序存入列表d
goback,waitlim=600,120 #摆渡车往返时长goback,旅客最大等待时长waitlim
bus=[] #摆渡车返回时刻
①     
w=0;p=0
for i in range(len(d)):
  t=d[i][0] #让前面等待人员上车,以免超时
  if ②      :
    if len(bus)>0 and bus[0]<=d[p][0]+waitlim: #安排已返回的摆渡车运送
      bus.pop(0)
    else:
      s+=1
    bus.append(d[p][0]+waitlim+goback) #记录该摆渡车的返回时刻
    w=0;p=i
w+=d[i][1] #满载发车
  if w>=10:
    for j in range(w//10):
      bus.append(t+goback)
    while len(bus)>0 and bus[0]<=t and w>=10: #安排已经返回的摆渡车
      bus.pop(0)
      ③     
    s+=w//10;w=w%10
    if w==0:
      p=i+1
    else:
      p=i
#剩余的乘客安排摆渡车,代码略
#输出所需的摆渡车数量,代码略
答案 (1)5 (2)①s=0 ②t-d[p][0]>waitlim ③w=w-10
解析 (1)第一批旅客达到时间为0,人数为2,则需要在第120秒时出发,此时第二批到达旅客为8人,则第一批第二批旅客乘坐第1辆车出发;第三批旅客150秒到达5人,则需要在270秒时出发,此时第四批旅客在200秒时到达,符合一起出发的时间,则此时共27人,需要3辆车;第五批旅客500秒到达8人,则乘坐1辆车,则共需要5辆。(2)结合代码可知,变量w记录当前共需要出发的旅客人数,变量p记录上一批旅客在列表d中的位置。变量t记录当前批次旅客达到时间。if语句功能为让前面等待人员上车,以免超时,当上一批旅客需要上车出发,说明不能与当前批次旅客一起出发,即当前批量旅客到达时间大于上一批次旅客最长等待时间,则②处答案为d[p][0]+waitlimwaitlim。第二个if语句为安排已返回的摆渡车运送,则else对应没有空闲摆渡车,则摆渡车数量+1,即s+=1,此时s未赋值,则推断①处答案为s=0。if w>=10功能为安排当前批次人数满载出发,while语句功能为安排已经返回的摆渡车出发,每次循环表示出发一辆车,则该车出发后,剩余人数需要减掉满载人数,则③处答案为w=w-10。
14.某小区使用microbit板构建一个“噪声检测系统”,在5个区域分别安装了1个声音传感器,并通过5G信号连接在同1个智能终端上。传感器每隔1分钟采集一次噪声数据,智能终端通过网络将采集的噪声数据发送到服务器并保存到数据库,服务器根据数据判断噪声是否超标(大于55分贝),若噪声超标,则通过智能终端控制报警器报警。工作人员可通过浏览器查询历史噪声数据。请回答下列问题:
(1)以下可由智能终端完成的是    (单选,填字母:A.将采集到的数据保存到数据库/B.处理浏览器的访问请求/C.设置数据采集时间间隔)。
(2)智能终端程序采用read_analog()函数读取传感器的数据,是由于智能终端程序中导入的Python库是    (单选,填字母:A.Flask/B.sqlite3/C.microbit)。
(3)下列关于该系统的说法,正确的有    (多选,填字母)。(注:全部选对得2分,选对但不全的得1分,不选或有错的得0分)
A.智能终端和服务器之间的通信是单向的
B.传感器和智能终端可以通过无线方式通信
C.报警器通过互联网直接接收服务器的控制信号
D.可通过设置传感器编号区分噪声数据所在的区域
(4)为了检测小区的空气质量,可对已有系统进行功能扩充,请提供一种解决方案(从添加硬件和增加系统功能两个角度简要阐述)。
(5)将系统中2024年的数据导出到data.xlsx中,部分数据如图a所示。现要统计2024年区域3出现噪声报警天数最多的4个月,并根据分析结果绘制柱形图(如图c所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
#导入模块和图表字体设置,代码略
df=pd.read_excel("data.xlsx")
df1=df[df["区域"]==3]
df1=①     
df1=②     
df1["月份"]=""
for i in df1.index:
  df1.at[i,"月份"]=df1.at[i,"日期"][5:7]
df1=③     
df1=④     
print(df1) #显示结果如图b所示
plt.bar(df1.月份,df1.噪声,label="天数")
#设置绘图参数,并显示如图c所示的柱形图,代码略
①②③④处可选代码有:
A.df1.sort_values("噪声",ascending=False).head(4)
B.df1.sort_values("噪声").tail(4)
C.df1[df1["噪声"]>55]
D.df1.groupby("月份",as_index=False).噪声.sum()
E.df1.groupby("月份",as_index=False).噪声.count()
F.df1.groupby("区域",as_index=False).count()
G.df1.groupby("日期",as_index=False).count()
答案 (1)C (2)C (3)BD (4)传感器包括SO2、NO2、PM10、PM2.5、CO、O3等传感器,功能需要与传感器类型自洽。 (5)①C ②G ③E ④A
解析 (1)服务器负责接收并保存采集到的数据,还可以接收浏览器的访问请。设置数据采集时间间隔由智能终端完成。(2)Flask框架和sqlite3数据库模块导入到服务器,microbit板采集数据需导入该模块。(3)A选项智能终端和服务器之间的通信是双向的。C选项报警器属于执行器,需与智能终端连接。(4)略。(5)求2024年区域3出现噪声报警天数最多的4个月。先筛选出区域3的数据,再筛选有报警(分贝数大于55)的数据。在此基础上,按日期进行分统计报警次数,再按报警次数降序排列,最后筛选前4行数据。
15.某校在8时至18时举办素养达人竞赛,活动设有A、B、C三个区域,每个区域同一时刻只进行一项任务,学生需在任务开始时刻进入区域,任务完成后获得相应的素养积分,之后可继续完成其他任务或者休息。小明编写程序,计算该竞赛能获得的最高积分。任务数据如图所示,例如图中A1:6表示在8时到11时完成任务A1后获得6分。
列表data依次存储入各区域数据,各区域数据分别按结束时刻升序,每个元素包含任务编号、开始时刻、结束时刻、积分值4个数据项,如data[0]的值为['A1',8,11,6].
(1)16时的最佳任务路径为C1→B2→B3→A4,可获得的最高积分为16,17时的最佳任务路径为Cl→B2→B3→C3,可获得的最高积分为17,则18时可以获得的最高积分为    。
(2)定义如下函数merge(a,st,ed),实现在按结束时刻升序的某区域数据索引列表a中,添加st至ed间(包含st和ed)的索引列表,使得data[a[0]],data[a[1]]……按结束时刻升序,返回索引列表a。如列表a为[0,1,2,3,4],代表A区域任务在data中的索引。st为5、ed为9代表B区域任务在data中的起止索引,则merge(a,st,ed)返回结果为[5,0,1,6,7,2,3,8,4,9]。
def merge(a,st,ed):
  i,j=len(a)-1,ed
  a+=[0]*(ed-st+1)
  k=len(a)-1
  while j>=st:
    if i>=0 and data[a[i]][2]>data[j][2]:
      a[k]=a[i] #①
      i-=1
    else:
      a[k]=a[j] #②
      j-=1
    k-=1
  return a
代码加框①②处中    (单选,填:①/②)处有误,应修改为    。
(3)部分Python程序如下,请在划线处填入合适的代码。
#依次读取每个区域的任务编号、开始时刻、结束时刻、积分值数据,存储data列表中,各区域数据分别按结束时刻升序,代码略。
num=[5,5,4] #代表A、B、C区域任务分别为5个,5个,4个
st,n=0,3
a=[]
for i in range(n):
  ①     
  a=merge(a,st,ed)
  st=ed+1
res=[0]*24 #存储每个时刻的积分最大值
start,end=8,18
pos=0
for cur in range(start+1,end+1):
  ②     
  while pos=data[a[pos]][2]:
    info=data[a[pos]]
    if ③      :
      pre,r=info[1],info[3]
      if mr        mr=res[pre]+r
    pos+=1
  res[cur]=mr
#输出最高积分,代码略
答案 (1)21 (2)②a[k]=j
(3)①ed=st+num[i]-1或ed=len(a)+num[i]-1
②mr=res[cur-1] ③cur==info[2]
解析 (1)16时最高积分为16,执行任务A5或B5,得到积分21。(2)每个区域的任务编号、开始时刻、结束时刻、积分值数据,存储data列表中,各区域数据分别按结束时刻升序,如图中A区域的索引依次为0-4,B区域的索引依次为5-9,AB区域合并得到一个升序的区域的索引为[5,0,1,6,7,2,3,8,4,9]。变量j,st,ed为B区域data的索引,i和k是列表a的索引。若A区域未遍历完且当前遍历A区域任务结束时间晚于B区域任务,则将a列表i位置的值存放a[k]。否则将j存放a[k]。(3)①依次读取每个区域的值并存储在data,遍历每个区域,每个区域的任务存储在num中,确定每个区域的开始位置和结束位置,并调用merge将这个区域合并到其他区域,使得data中所有数据升序排列。②模拟生成9时-18时之间每个时刻的积分最大值。语句mr=res[pre]+r的功能是更新当前时刻的积分最大值,需初始化当前时刻积分最大值为前一个时刻的积分值。③pos初值为0,是a中下标,data[a[pos]][2]表示结束任务的时间。找出比当前时间cur小的结束时间的任务,取出当前遍历到的任务元素info,如果当前时刻为该任务的结束时刻,计算完全这个任务的积分,如果积分比前一个时刻的积分值mr大,则更新mr为当前时间的积分。

展开更多......

收起↑

资源列表