2026届高中信息技术二轮选择+大题专项训练(三)学案(含解析)

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

2026届高中信息技术二轮选择+大题专项训练(三)学案(含解析)

资源简介

选择题专项训练(三)
                  
一、选择题(本大题共13小题,每小题2分,共26分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至3题:
某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。
1.关于该数字图书馆中数据和信息的说法,正确的是(  )
A.通过平板查阅时不需要载体
B.不同格式的数据必须保存在不同的存储设备中
C.学生优秀作品仅支持电子文本格式展示
D.电子文本、图像、音频等均为数字资源的表现形式
2.下列符合信息安全与保护要求的措施是(  )
A.仅数据丢失后进行备份操作
B.定期维护并升级数字图书馆安全系统
C.实时监控并公开读者聊天记录
D.未经授权公开发布学生原创作品
3.某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列对数字图书馆资源的处理方式中,不合理的是(  )
A.通过声卡上的数模转换器,对声音进行采样、量化、编码后存储到计算机中
B.为电子书籍生成封面缩略图以便预览
C.将BMP图像转换为JPEG格式以节省存储空间
D.将纸质期刊扫描成图像后识别出文字保存便于检索
阅读以下材料,回答第4至7题:
2023年3月,中办、国办印发《关于进一步完善医疗卫生服务体系的意见》,提出“积极运用互联网、人工智能等技术,持续优化服务流程”“建设智慧医院”。搭建互联网医院平台、推出手术机器人、建设智慧药房……近年来,各地不断丰富智慧医院应用场景,为群众带来了更加优质的医疗服务。
4.利用互联网医院平台,患者可以在手机APP上选择医生和科室自主挂号,以减少现场排队等待的时间,在APP上也能查看实时排队信息和各种检验化验报告。关于该信息系统的说法,不正确的是(  )
A.该信息系统的用户包括患者,医生,系统管理人员等
B.该信息系统中的挂号信息等数据存储在患者的手机中
C.该信息系统应该具有数据的收集与输入、存储、查询、加工处理等功能
D.该信息系统使用过程中产生的数据信息能为医院的决策提供支持
5.智慧药房里,就诊者缴费后,医生开出的处方会自动流转到药房,扫描带有就诊者信息的条形码,发药机即自动发药。关于上述过程,下列说法正确的是(  )
A.发药机的运行无需软件的配合
B.条形码应用了RFID技术,需要使用读写器对信息进行解码
C.扫描条形码的过程用到了图形识别,是人工智能的应用场景之一
D.条形码是将宽度不等的多个黑条和白条,按照一定的编码规则排列,用以表达一组信息的图形标识符
6.在手术室中,主刀医生可在离患者近5米的控制台前操控手术机器人进行手术,手术机器人的成像系统最大可放大40倍,手术时视野更清晰,下刀更果断。手术机器人能突破人手操作极限,也能大大缩短手术时间。下列关于手术机器人的说法,正确的是(  )
A.手术机器人与医生合作手术,属于混合增强智能
B.在智能叠加协调的回路中,机器智能是智能回路的总开关
C.手术机器人的成像系统中使用的数字化增强技术属于符号主义人工智能
D.随着技术的发展,可以完全由人工智能完成医疗诊断工作
7.在智慧医院的建设过程中,网络的作用不言而喻。下列关于网络的说法,正确的是(  )
A.智慧医院系统中使用的网络为局域网
B.网际协议(IP)管理被传送信息的完整性
C.作为客户端的计算机也可以用作服务器
D.信息系统连接万维网一定需要光调制解调器(俗称“光猫”)
8.某算法的部分流程图如图所示,若列表a的值为[162,184,171,166,177,179],key的值为170,执行这部分流程后,f、k的值分别为(  )
A.False 0 B.True 1
C.True 2 D.True 3
9.某二叉树有三个节点,其前序遍历序列是“ABC”,后序遍历序列是“CBA”,那么这棵二叉树的中序遍历序列不可能是(  )
A.BCA B.CBA
C.ABC D.BAC
10.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“金”“木”“水”“火”“土”。在所有可能的出栈序列中,“土”比“金”提前两步出栈的序列个数是(  )
A.3 B.4
C.5 D.6
11.有如下Python程序段:
#产生一个2至4之间的随机数k
for i in range(1,k):
  for j in range(i,0,-1):
    if a[j]      a[j],a[j-1]=a[j-1],a[j]
若a为[14,11,2,1,20,16]时,运行该程序段后,a的结果不可能是(  )
A.[11,14,2,1,20,16]
B.[2,11,14,1,20,16]
C.[1,2,11,14,20,16]
D.[1,2,11,14,16,20]
12.在列表s中,从索引位置1开始依次存入若干个整数。现要寻找一个长度不超过m的连续数据序列,使其和尽可能大。实现上述功能的Python程序段如下:
#在列表s索引位置1开始存入若干个整数,如:s=[0,9,3,5,7,-9,2,6],代码略
for i in range(1,len(s)):
  s[i]+=s[i-1]
q=[0]*len(s)
head,tail=0,1
ans=s[1]
for i in range(1,len(s)):
  while       :
    head+=1
  ans=max(ans,s[i]-s[q[head]]) #max()用于返回最大值
  while head    tail-=1
  q[tail]=i
  tail+=1
print("长度不超过"+str(m)+"的最大连续数据序列和为:"+str(ans))
加框处的代码依次是(  )
①i-q[head]>m ②s[i]-s[q[head]]>s[m] ③q[tail-1]>=i ④s[q[tail-1]]>=s[i]
A.①③ B.②③
C.②④ D.①④
13.使用列表d模拟结构(节点数大于0),每个节点包含数据区域和指针区域,h为头指针,如图a所示。现要删除数据区域中数值为偶数的节点,结果如图b所示。实现该功能的程序段如下:
h=0;q=p=h
while ①      :
  if ②      :
    if p==h:
      h=d[h][1]
    else:
      ③     
  else:
    q=p
  p=d[p][1]
划线处依次填入的代码为(  )
A.①p!=-1 ②d[p][0]%2==0 ③d[q][1]=d[p][1]
B.①p!=-1 ②d[p][0]%2!=0 ③d[q][1]=p
C.①d[p][1]!=-1 ②d[p][0]%2==0 ③d[q][1]=d[p][1]
D.①d[p][1]!=-1 ②d[p][0]%2!=0 ③d[q][1]=p
非选择题专项训练(三)
                               
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13.某系统可记录实验室中n台设备的开关机数据,数据格式记为[a,b],其中a由字母A与数字0~n-1组合表示设备名,如“A0”;b表示设备a开机或关机的时刻,为正整数。系统按开关机时刻依次记录。编写Python程序读取某天t时刻前系统记录的数据,计算实验室中当天截止到t时刻所有设备开机的总时长(每天开始时所有设备都是关机状态)。请回答下列问题:
(1)若系统某天t=50时刻前记录的数据为:["A1",10],["A2",20],["A1",30],["A3",30],["A1",40],则当天t时刻前实验室所有设备开机的总时长为    。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取设备的数量n及时刻t,并读取当天t时刻系统记录的数据存储到列表data中,data每个元素包含两个数据项,分别为设备名和开机或关机时刻,如[["A1",10],["A2",20]]。
ans=[]
for i in range(n):
  ans.append([0,-1]) #为ans追加一个元素[0,-1]
for i in range(len(data)):
  cname=data[i][0]
  ①     
  if ans[num][1]==-1:
    ans[num][1]=data[i][1]
  else:
    ②     
    ans[num][1]=-1
sum=0
for i in range(n):
  if ③      :
    ans[i][0]+=t-ans[i][1]
  sum+=ans[i][0]
print("开机总时长:",sum)
14.某研究小组搭建了羊圈监控系统。该系统不仅可以监测环境的指标,还可以识别出每只羊并监测每只羊的健康指标。智能终端连接传感器,通过IoT模块将采集的数据传输到服务器的数据库中。服务器根据数据判断出异常情况时,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)为高效稳定的识别每只羊,以下哪个标签更合理    (单选,填字母:A.RFID电子标签/B.二维码标签)。
(2)研究小组通过浏览器访问采集的历史数据,处理研究小组访问请求的设备是    (单选,填字母)。
A.传感器 B.服务器
C.智能终端 D.执行器
(3)关于该系统的功能,以下说法正确的有    (多选,填字母)。
A.IoT模块仅能将数据从智能终端传输到服务器
B.可通过多个传感器采集数据来提高数据采集准确度
C.编写智能终端代码时无需知道服务器IP地址
D.系统数据采集的时间间隔可以根据实际需求进行调整
(4)随着养羊规模的扩大,发现原有的数据库在处理日益增长的羊圈空气质量监测数据时,性能逐渐下降,响应时间变长。为了提升数据库处理数据的性能和效率,请从软件的角度提出两种优化方案。
_________________________________________________________________________________。
(5)现将系统中2024年7月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出该月份各监测点温度过高(超过30 ℃)的异常次数,将温度过高异常次数最多的监测点的温度过高数据按照时间点进行统计,并绘制线形图(如图b所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
#在df后加入一列“小时”,获取每行记录的“小时”数据并记录,代码略
df1=①     
df2=②     
df2=df2.sort_values("温度",ascending=False) #降序排序
#依次输出df2中各监测点编号及其温度过高的异常次数,如图b所示,代码略
#将df2中首行的监测点编号存入uid,代码略
df2=③     
df2=④     
plt.plot(df2.index,df2["温度"]) #绘制线形图
#设置绘图参数:并显示如图c所示的线形图,代码略
①②③④处可选代码有:
A.df2.groupby("小时").count() #分组计数
B.df[df"监测点"]==uid] #筛选
C.df[df["温度"]>30]
D.df[df["温度"]]>30
E.df.groupby("监测点",as_index=False).count()
F.df1[dfi["监测点"]==uid]
G.df1.sort_values("监测点",ascending=False)
15.为加强基础学科拔尖创新人才选拔培养,某校采用综合招生模式录取,在高考之外,额外进行校测,其中校测包括学科基础素质测试和综合素质测试。
考生综合成绩=高考成绩(按满分85分折算)+学科基础素质测试成绩(按满分10分折算)+综合素质测试成绩(按满分5分折算)。
考生在报名时可以选择两种类型,若作为第1类考生报名,根据各省份的招生计划数的6倍按高考成绩从高到低(末位同分同入围)确定入围综合招生的考生名单,入围后参加各项测试,根据各省份招生计划数,按综合成绩由高到低择优确定录取名单,若考生综合成绩相同,则按以下单项顺序及分数高低排序进行录取:高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩。若作为第2类考生报名,提交特长申请后经审核入围,2类考生有单独的全国统一招生计划数,按照考生综合成绩相对值在全国范围内降序排序录取,综合成绩相对值=考生综合成绩一所在省份1类考生最低录取综合成绩,若相对值相同,则按以下单项顺序及分数高低进行排序:校测总分、学科基础素质测试成绩、综合素质测试成绩。为简化问题,假设不存在两个成绩一模一样的考生。请回答下列问题:
(1)若A省和B省的1类生招生计划各1人,2类生的全国招生计划为1人,有以下5位同学入围综合招生,则录取的同学为    (填考生报名号)。
报名号 省份 考生类型 综合成绩 高考成绩
9 A 1类生 97 79
11 A 1类生 97 81
16 A 2类生 96 78
18 B 1类生 93 79.5
25 B 2类生 93 75
(2)列表rec存储某省的1类生报名记录,每个元素包含报名号、高考成绩2个数据项,有如下Python程序:
def select(rec,cnt):
  #根据某省的报名记录返回成功入围的考生名单
  n=len(rec);Im=cnt*6 #按6倍招生计划确定入围基准
  i=0
  while i    for j in range(n-1,i,-1):
      if rec[j][1]>rec[j-1][1]:
        rec[j],rec[j-1]=rec[j-1],rec[j]
    if i>=Im and rec[i][1]      break
    i+=1
  return rec[:i]
①若调用上述select函数,其中参数rec=[[1,693],[2,691],[3,688],[4,700],[5,683],[6,688],[7,694],[8,682],[9,696],[10,680]],参数cnt=1,则加框处代码执行次数为    。
②将下划线处代码改为下列选项中的一项    (单选,填字母),对程序行为没有影响。
A.rec[i][1]<=rec[i-1][1] B.rec[i][1]>rec[i-1][1]
C.rec[i][1]>=rec[lm-1][1] D.rec[i][1]!=rec[lm-1][1]
(3)下面的Python程序模拟了考生录取过程,最终输出录取的考生信息,请在划线处填入合适的代码。
info={"浙江":[-1,-1,80],"江苏":[-1,-1,60],...} #80为浙江省1类生的招生计划数,依次类推
plan=200 #2类生招生计划数
shortlist=[]
for prv in info:
  #读取该省1类生报名数据至rec列表中,代码略
  pass_rec=select(rec,info[prv][2])
  shortlist+=pass_rec
  #读取该省2类生审核后入围考生信息存入shortlist列表中,代码略
#读取shortlist中的每一位考生测试成绩存入列表data中,data每个元素包括9个数据项,依次为:报名号、姓名、省份、考生类型(0表示1类生,1表示2类生)、综合成绩、高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩,代码略
def compare(x,y):
  for i in range(5+x[3],9):
    if x[i]!=y[i]:
      return x[i]>y[i]
def rel_value(prv):
  return data[info[prv][1]][4]-data[info[prv][0]][4]
def greater(p,q):
  if q=="":
    return True
  if p=="":
    return False
  vp=rel_value(p)
  vq=rel_value(q)
  if vp!=vq:
    return vp>vq
  else:
    return compare(data[info[p][1]],data[info[q][1]])
n=len(data)
for i in range(n):
  data[i].append(-1)
  prv,tp=data[i][2],data[i][3]
  if info[prv][tp]==-1:
    info[prv][tp]=i
  else:
    pre=info[prv][tp]
    p=pre
    while p!=-1:
      if data[p][4]        break
      elif data[p][4]==data[i][4] and ①       :
        break
      pre=p
      p=data[p][-1]
    if p==pre:
      info[prv][tp]=i
    else:
      data[pre][-1]=i
    data[i][-1]=p
for prv in info:
  p=info[prv][0]
  while p!=-1 and info[prv][2]>0:
    print(data[p][0],data[p][1],"恭喜录取。")
    info[prv][2]-=1
    ②     
    p=data[p][-1]
while plan>0:
  p1=p2=""
  for prv in info:
    if info[prv][1]!=-1:
      if greater(prv,p1):
        p2=p1;p1=prv
      elif greater(prv,p2):
        p2=prv
  if p1=="":
    break
  while ③       and plan>0 and greater(p1,p2):
    print(data[info[p1][1]][0],data[info[p1][1]][1],"恭喜录取。")
    info[p1][1]=data[info[p1][1]][-1]
    plan-=1选择题专项训练(三)
                  
一、选择题(本大题共13小题,每小题2分,共26分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至3题:
某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。
1.关于该数字图书馆中数据和信息的说法,正确的是(  )
A.通过平板查阅时不需要载体
B.不同格式的数据必须保存在不同的存储设备中
C.学生优秀作品仅支持电子文本格式展示
D.电子文本、图像、音频等均为数字资源的表现形式
答案 D
解析 A选项查阅过程往往要依赖网络等载体。B选项多种格式数据可以共存在同一存储设备;C选项资源可存储为电子文本、图像、音频等多种格式。
2.下列符合信息安全与保护要求的措施是(  )
A.仅数据丢失后进行备份操作
B.定期维护并升级数字图书馆安全系统
C.实时监控并公开读者聊天记录
D.未经授权公开发布学生原创作品
答案 B
解析 A选项定期备份才能确保数据完整性。B选项定期维护能有效防范攻击。
3.某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列对数字图书馆资源的处理方式中,不合理的是(  )
A.通过声卡上的数模转换器,对声音进行采样、量化、编码后存储到计算机中
B.为电子书籍生成封面缩略图以便预览
C.将BMP图像转换为JPEG格式以节省存储空间
D.将纸质期刊扫描成图像后识别出文字保存便于检索
答案 A
解析 声卡上的数模转换器用于将数字信号转换为模拟信号(如播放音频),而声音的数字化处理(采样、量化、编码)应由模数转换器完成。
阅读以下材料,回答第4至7题:
2023年3月,中办、国办印发《关于进一步完善医疗卫生服务体系的意见》,提出“积极运用互联网、人工智能等技术,持续优化服务流程”“建设智慧医院”。搭建互联网医院平台、推出手术机器人、建设智慧药房……近年来,各地不断丰富智慧医院应用场景,为群众带来了更加优质的医疗服务。
4.利用互联网医院平台,患者可以在手机APP上选择医生和科室自主挂号,以减少现场排队等待的时间,在APP上也能查看实时排队信息和各种检验化验报告。关于该信息系统的说法,不正确的是(  )
A.该信息系统的用户包括患者,医生,系统管理人员等
B.该信息系统中的挂号信息等数据存储在患者的手机中
C.该信息系统应该具有数据的收集与输入、存储、查询、加工处理等功能
D.该信息系统使用过程中产生的数据信息能为医院的决策提供支持
答案 B
解析 B选项该信息系统中的挂号信息等数据存储在患者的手机和系统服务器的数据库中。C选项该信息系统应该具有数据的收集与输入、存储、查询、加工处理等功能。D选项该信息系统使用过程中产生的数据信息能为医院的决策提供支持。
5.智慧药房里,就诊者缴费后,医生开出的处方会自动流转到药房,扫描带有就诊者信息的条形码,发药机即自动发药。关于上述过程,下列说法正确的是(  )
A.发药机的运行无需软件的配合
B.条形码应用了RFID技术,需要使用读写器对信息进行解码
C.扫描条形码的过程用到了图形识别,是人工智能的应用场景之一
D.条形码是将宽度不等的多个黑条和白条,按照一定的编码规则排列,用以表达一组信息的图形标识符
答案 D
解析 A选项发药机的运行需要软件的配合。B选项条形码应用的技术原理包括编码规则、光学扫描、解码算法和容错能力等,并未应用RFID技术。C选项条形码的识别是对信息的解码,没有涉及人工智能。D选项条形码是将宽度不等的多个黑条和白条,按照一定的编码规则排列,用以表达一组信息的图形标识符。
6.在手术室中,主刀医生可在离患者近5米的控制台前操控手术机器人进行手术,手术机器人的成像系统最大可放大40倍,手术时视野更清晰,下刀更果断。手术机器人能突破人手操作极限,也能大大缩短手术时间。下列关于手术机器人的说法,正确的是(  )
A.手术机器人与医生合作手术,属于混合增强智能
B.在智能叠加协调的回路中,机器智能是智能回路的总开关
C.手术机器人的成像系统中使用的数字化增强技术属于符号主义人工智能
D.随着技术的发展,可以完全由人工智能完成医疗诊断工作
答案 A
解析 A选项手术机器人属于混合增强智能,选项正确。B选项人类智能是该智能的总开关。C选项手术机器人的成像系统中使用的数字化增强技术属于联结主义人工智能。
7.在智慧医院的建设过程中,网络的作用不言而喻。下列关于网络的说法,正确的是(  )
A.智慧医院系统中使用的网络为局域网
B.网际协议(IP)管理被传送信息的完整性
C.作为客户端的计算机也可以用作服务器
D.信息系统连接万维网一定需要光调制解调器(俗称“光猫”)
答案 C
解析 A选项某区域内由多台计算机互联组成局域网。B选项网际协议是将信息从一个地方传送至另一个地方,传输控制协议管理被传送信息的完整性。C选项一台计算机既可以作客户端,也可以作服务器。D选项具有光纤接口的路由器可以将光信号转换为电信号。
8.某算法的部分流程图如图所示,若列表a的值为[162,184,171,166,177,179],key的值为170,执行这部分流程后,f、k的值分别为(  )
A.False 0 B.True 1
C.True 2 D.True 3
答案 C
解析 本题考查算法的表示。该流程图遍历列表a中的元素,寻找大于key(170)的最小值的索引号,即171的索引号2,flag用于标记列表a中是否存在大于key的数据。
9.某二叉树有三个节点,其前序遍历序列是“ABC”,后序遍历序列是“CBA”,那么这棵二叉树的中序遍历序列不可能是(  )
A.BCA B.CBA
C.ABC D.BAC
答案 D
解析 本题考查二叉树三种遍历方式的理解与应用。先根据前序遍历画出二叉树,
后序遍历分别为CBA、CBA、CBA、BCA,判断是否符合中序遍历。中序遍历分别为BCA、CBA、ABC、BAC。D选项的后序遍历不符合要求。
10.栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“金”“木”“水”“火”“土”。在所有可能的出栈序列中,“土”比“金”提前两步出栈的序列个数是(  )
A.3 B.4
C.5 D.6
答案 C
解析 最后3个元素出栈顺序有3种,分别是土木金,土水金,土火金这三种。加上前面2个元素出栈顺序,依次有水火土木金,火水土木金,木火土水金,木水土火金,水木土火金共5种可能性。
11.有如下Python程序段:
#产生一个2至4之间的随机数k
for i in range(1,k):
  for j in range(i,0,-1):
    if a[j]      a[j],a[j-1]=a[j-1],a[j]
若a为[14,11,2,1,20,16]时,运行该程序段后,a的结果不可能是(  )
A.[11,14,2,1,20,16]
B.[2,11,14,1,20,16]
C.[1,2,11,14,20,16]
D.[1,2,11,14,16,20]
答案 D
解析 该程序的本质是插入排序,使得i前面的数据有序,共排k趟。若k的值为2,排序后的结果为[11,14,2,1,20,16]。若k的值为3,排序后的结果为[2,11,14,1,20,16]。若k的值为4,排序后的结果为[1,2,11,14,20,16]。
12.在列表s中,从索引位置1开始依次存入若干个整数。现要寻找一个长度不超过m的连续数据序列,使其和尽可能大。实现上述功能的Python程序段如下:
#在列表s索引位置1开始存入若干个整数,如:s=[0,9,3,5,7,-9,2,6],代码略
for i in range(1,len(s)):
  s[i]+=s[i-1]
q=[0]*len(s)
head,tail=0,1
ans=s[1]
for i in range(1,len(s)):
  while       :
    head+=1
  ans=max(ans,s[i]-s[q[head]]) #max()用于返回最大值
  while head    tail-=1
  q[tail]=i
  tail+=1
print("长度不超过"+str(m)+"的最大连续数据序列和为:"+str(ans))
加框处的代码依次是(  )
①i-q[head]>m ②s[i]-s[q[head]]>s[m] ③q[tail-1]>=i ④s[q[tail-1]]>=s[i]
A.①③ B.②③
C.②④ D.①④
答案 D
解析 第一个循环将s转换为前i项的累加和,s的值为[0,9,12,17,24,15,17,23]。s[4]-s[1]的值为15,可见是s[2]至s[4]的和。队列q初始值为0,若s[t]-s[q[head]]的值即为q[head]+1至t的连续和,因此可以存储每个连续段的开始位置。ans存储连续序列的最大值,初值为前2个数之和。①从s的第2个元素开始遍历,若位置i至q[head]+1之间的数据个数i-q[head]超过m时,计算该区间的和为s[i]-s[q[head]],并将最大值保存到ans中。q[head]将出队,计算新一段的和。②当条件s[q[tail-1]]>=s[i]成立时,表示该序列s[q[tail-1]]原始值是0或负数,这些位置不可能是最大连续序列的开始位置,需要从队列中删除。
13.使用列表d模拟结构(节点数大于0),每个节点包含数据区域和指针区域,h为头指针,如图a所示。现要删除数据区域中数值为偶数的节点,结果如图b所示。实现该功能的程序段如下:
h=0;q=p=h
while ①      :
  if ②      :
    if p==h:
      h=d[h][1]
    else:
      ③     
  else:
    q=p
  p=d[p][1]
划线处依次填入的代码为(  )
A.①p!=-1 ②d[p][0]%2==0 ③d[q][1]=d[p][1]
B.①p!=-1 ②d[p][0]%2!=0 ③d[q][1]=p
C.①d[p][1]!=-1 ②d[p][0]%2==0 ③d[q][1]=d[p][1]
D.①d[p][1]!=-1 ②d[p][0]%2!=0 ③d[q][1]=p
答案 A
解析 原链表20→15→24→23→42,删除后15→23,把数值为偶数的节点删除了。当前节点p遍历整个链表每节点,因此①为p!=-1。语句h=d[h][1]的功能是删除头节点,当前节点数据为偶数,因此②为d[p][0]%2==0。若不是头节点,用d[q][1]=d[p][1]实现删除当前节点。
非选择题专项训练(三)
                               
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13.某系统可记录实验室中n台设备的开关机数据,数据格式记为[a,b],其中a由字母A与数字0~n-1组合表示设备名,如“A0”;b表示设备a开机或关机的时刻,为正整数。系统按开关机时刻依次记录。编写Python程序读取某天t时刻前系统记录的数据,计算实验室中当天截止到t时刻所有设备开机的总时长(每天开始时所有设备都是关机状态)。请回答下列问题:
(1)若系统某天t=50时刻前记录的数据为:["A1",10],["A2",20],["A1",30],["A3",30],["A1",40],则当天t时刻前实验室所有设备开机的总时长为    。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取设备的数量n及时刻t,并读取当天t时刻系统记录的数据存储到列表data中,data每个元素包含两个数据项,分别为设备名和开机或关机时刻,如[["A1",10],["A2",20]]。
ans=[]
for i in range(n):
  ans.append([0,-1]) #为ans追加一个元素[0,-1]
for i in range(len(data)):
  cname=data[i][0]
  ①     
  if ans[num][1]==-1:
    ans[num][1]=data[i][1]
  else:
    ②     
    ans[num][1]=-1
sum=0
for i in range(n):
  if ③      :
    ans[i][0]+=t-ans[i][1]
  sum+=ans[i][0]
print("开机总时长:",sum)
答案 (1)80 (2)①num=int(cname[1:]) ②ans[num][0]+=data[i][1]-ans[num][1] ③ans[i][1]!=-1
解析 (1)A1设备开机时长:10至30,40至50,共30分钟;A2设备:20至50共30分钟;A3设备:30至50共20分钟。总开机时长为80分钟。(2)①data[i][0]表示当前的设备名cname,设备名固定以“A”开头,编号为cname第2位及后面的数字。②ans数组每个元素的2个值分别是设备累计开机时长和设备上一次开机时间。ans[num][1]记录设备上一次开机时间,若ans[num][1]为-1,则说明设备处于关机状态,需统计本次开机的时长data[i][1]-ans[num][1]并累加到ans[num][0]中。③在t时刻,若设备ans[i]仍处于开机状态(满足条件ans[i][1]!=-1),则需要累加从开机到t时刻的开机时长。
14.某研究小组搭建了羊圈监控系统。该系统不仅可以监测环境的指标,还可以识别出每只羊并监测每只羊的健康指标。智能终端连接传感器,通过IoT模块将采集的数据传输到服务器的数据库中。服务器根据数据判断出异常情况时,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)为高效稳定的识别每只羊,以下哪个标签更合理    (单选,填字母:A.RFID电子标签/B.二维码标签)。
(2)研究小组通过浏览器访问采集的历史数据,处理研究小组访问请求的设备是    (单选,填字母)。
A.传感器 B.服务器
C.智能终端 D.执行器
(3)关于该系统的功能,以下说法正确的有    (多选,填字母)。
A.IoT模块仅能将数据从智能终端传输到服务器
B.可通过多个传感器采集数据来提高数据采集准确度
C.编写智能终端代码时无需知道服务器IP地址
D.系统数据采集的时间间隔可以根据实际需求进行调整
(4)随着养羊规模的扩大,发现原有的数据库在处理日益增长的羊圈空气质量监测数据时,性能逐渐下降,响应时间变长。为了提升数据库处理数据的性能和效率,请从软件的角度提出两种优化方案。
_________________________________________________________________________________。
(5)现将系统中2024年7月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出该月份各监测点温度过高(超过30 ℃)的异常次数,将温度过高异常次数最多的监测点的温度过高数据按照时间点进行统计,并绘制线形图(如图b所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
#在df后加入一列“小时”,获取每行记录的“小时”数据并记录,代码略
df1=①     
df2=②     
df2=df2.sort_values("温度",ascending=False) #降序排序
#依次输出df2中各监测点编号及其温度过高的异常次数,如图b所示,代码略
#将df2中首行的监测点编号存入uid,代码略
df2=③     
df2=④     
plt.plot(df2.index,df2["温度"]) #绘制线形图
#设置绘图参数:并显示如图c所示的线形图,代码略
①②③④处可选代码有:
A.df2.groupby("小时").count() #分组计数
B.df[df"监测点"]==uid] #筛选
C.df[df["温度"]>30]
D.df[df["温度"]]>30
E.df.groupby("监测点",as_index=False).count()
F.df1[dfi["监测点"]==uid]
G.df1.sort_values("监测点",ascending=False)
答案 (1)A (2)B (3)BD (4)①智能终端代码中添加功能,延长数据获取的时间间隔,或若一段时间内数据无明显变化则合并上传,减少数据上传量过大给数据库造成的处理压力;②服务器代码中添加功能,及时清理过期的历史数据,仅保留近3个月的数据,降低数据库存储和查找时的处理压力。
(5)①C ②E ③F ④A
解析 (1)每个电子标签具有电子编码,与二维码相比,无须直线对准扫描,读写速度更快,可多目标识别、运动识别。(2)访问采集的历史数据,应通过服务器连接到数据库。(3)A选项IoT模块可以进行数据的双向传输;B选项通过多个传感器计算平均值来减少误差,提高数据准确度;C选项智能终端向服务器发送采集的数据,需要知道服务器IP地址。(4)略。(5)先筛选温度异常数据;再统计各监测点温度异常次数;然后从筛选后的表格 df1中筛选监测点uid;最后统计各时间点温度异常次数。
15.为加强基础学科拔尖创新人才选拔培养,某校采用综合招生模式录取,在高考之外,额外进行校测,其中校测包括学科基础素质测试和综合素质测试。
考生综合成绩=高考成绩(按满分85分折算)+学科基础素质测试成绩(按满分10分折算)+综合素质测试成绩(按满分5分折算)。
考生在报名时可以选择两种类型,若作为第1类考生报名,根据各省份的招生计划数的6倍按高考成绩从高到低(末位同分同入围)确定入围综合招生的考生名单,入围后参加各项测试,根据各省份招生计划数,按综合成绩由高到低择优确定录取名单,若考生综合成绩相同,则按以下单项顺序及分数高低排序进行录取:高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩。若作为第2类考生报名,提交特长申请后经审核入围,2类考生有单独的全国统一招生计划数,按照考生综合成绩相对值在全国范围内降序排序录取,综合成绩相对值=考生综合成绩一所在省份1类考生最低录取综合成绩,若相对值相同,则按以下单项顺序及分数高低进行排序:校测总分、学科基础素质测试成绩、综合素质测试成绩。为简化问题,假设不存在两个成绩一模一样的考生。请回答下列问题:
(1)若A省和B省的1类生招生计划各1人,2类生的全国招生计划为1人,有以下5位同学入围综合招生,则录取的同学为    (填考生报名号)。
报名号 省份 考生类型 综合成绩 高考成绩
9 A 1类生 97 79
11 A 1类生 97 81
16 A 2类生 96 78
18 B 1类生 93 79.5
25 B 2类生 93 75
(2)列表rec存储某省的1类生报名记录,每个元素包含报名号、高考成绩2个数据项,有如下Python程序:
def select(rec,cnt):
  #根据某省的报名记录返回成功入围的考生名单
  n=len(rec);Im=cnt*6 #按6倍招生计划确定入围基准
  i=0
  while i    for j in range(n-1,i,-1):
      if rec[j][1]>rec[j-1][1]:
        rec[j],rec[j-1]=rec[j-1],rec[j]
    if i>=Im and rec[i][1]      break
    i+=1
  return rec[:i]
①若调用上述select函数,其中参数rec=[[1,693],[2,691],[3,688],[4,700],[5,683],[6,688],[7,694],[8,682],[9,696],[10,680]],参数cnt=1,则加框处代码执行次数为    。
②将下划线处代码改为下列选项中的一项    (单选,填字母),对程序行为没有影响。
A.rec[i][1]<=rec[i-1][1] B.rec[i][1]>rec[i-1][1]
C.rec[i][1]>=rec[lm-1][1] D.rec[i][1]!=rec[lm-1][1]
(3)下面的Python程序模拟了考生录取过程,最终输出录取的考生信息,请在划线处填入合适的代码。
info={"浙江":[-1,-1,80],"江苏":[-1,-1,60],...} #80为浙江省1类生的招生计划数,依次类推
plan=200 #2类生招生计划数
shortlist=[]
for prv in info:
  #读取该省1类生报名数据至rec列表中,代码略
  pass_rec=select(rec,info[prv][2])
  shortlist+=pass_rec
  #读取该省2类生审核后入围考生信息存入shortlist列表中,代码略
#读取shortlist中的每一位考生测试成绩存入列表data中,data每个元素包括9个数据项,依次为:报名号、姓名、省份、考生类型(0表示1类生,1表示2类生)、综合成绩、高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩,代码略
def compare(x,y):
  for i in range(5+x[3],9):
    if x[i]!=y[i]:
      return x[i]>y[i]
def rel_value(prv):
  return data[info[prv][1]][4]-data[info[prv][0]][4]
def greater(p,q):
  if q=="":
    return True
  if p=="":
    return False
  vp=rel_value(p)
  vq=rel_value(q)
  if vp!=vq:
    return vp>vq
  else:
    return compare(data[info[p][1]],data[info[q][1]])
n=len(data)
for i in range(n):
  data[i].append(-1)
  prv,tp=data[i][2],data[i][3]
  if info[prv][tp]==-1:
    info[prv][tp]=i
  else:
    pre=info[prv][tp]
    p=pre
    while p!=-1:
      if data[p][4]        break
      elif data[p][4]==data[i][4] and ①       :
        break
      pre=p
      p=data[p][-1]
    if p==pre:
      info[prv][tp]=i
    else:
      data[pre][-1]=i
    data[i][-1]=p
for prv in info:
  p=info[prv][0]
  while p!=-1 and info[prv][2]>0:
    print(data[p][0],data[p][1],"恭喜录取。")
    info[prv][2]-=1
    ②     
    p=data[p][-1]
while plan>0:
  p1=p2=""
  for prv in info:
    if info[prv][1]!=-1:
      if greater(prv,p1):
        p2=p1;p1=prv
      elif greater(prv,p2):
        p2=prv
  if p1=="":
    break
  while ③       and plan>0 and greater(p1,p2):
    print(data[info[p1][1]][0],data[info[p1][1]][1],"恭喜录取。")
    info[p1][1]=data[info[p1][1]][-1]
    plan-=1
答案 (1)11、18、25 (2)①8 ②D (3)①compare(data[i],data[p]) ②info[prv][0]=p ③info[p1][1]!=-1
解析 (1)A省有9号(综合 97,高考 79)和11号(综合 97,高考81)考生,录取11号。B省录取18号。2 类生综合成绩相对值=考生综合成绩-所在省份1类生最低录取综合成绩,16号成绩:96-97=-1:25号成绩:93-93=0,录取25 号。(2)①函数实现从后往前冒泡降序排序,每次外循环i将当前最大值放到i位置,第3趟排序后,rec数组已经有序,但i=rec[lm-1][1]也可能漏掉同分考生;D选项需满足条件i>Im,高分同学不会漏掉,且同分情况不满足break的条件。(3)compare函数功能是当考生综合成绩相同时,需要根据高考成绩、校测总分等项目依次比较。rel_value函数用于计算2类生的综合成绩相对值,info[prv][0]指向prv省份的最后一名。greater函数用于比较p,q两个省份的2类生的成绩(包括综合成绩相对值和校测总分等成绩的比较)。①当节点p与新节点i的综合成绩相同时,需要调用compare(data[i],data[p])函数比较其他各项成绩,即data[i]>data[p]时退出遍历。②info[prv][0]指向prv省的最后一名,通过循环录取二类生,p1为最高分省份,p2为次高分省份。若pl=""则无人可录取。③p1省份还有2类生可录取。

展开更多......

收起↑

资源列表