精品解析:浙江省绍兴市2026-2027学年高三上学期11月一模科目诊断技术试题-高中信息技术

标签:
精品解析文字版答案
| 2份
| 26页
| 10人阅读
| 0人下载

内容正文:

2026年11月绍兴市选考科目诊断性考试 技术试题 注意事项: 1.本试卷分两部分,第一部分信息技术,第二部分通用技术。全卷共14页,第一部分1至8页,第二部分9至14页; 2.考试时间90分钟,满分100分。 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求) 阅读下列材料,完成下面小题: “浙里良田”农业智能体依托大语言模型,接入卫星遥感影像,多维度采集土壤检测数据,融合空间智能计算等技术,对农田相关海量数据进行处理,可实现农田智能选址、土壤精准诊断与改良方案智能生成。 1. 下列关于该农业智能体中数据的说法,正确的是( ) A. 卫星遥感影像无需数字化即可直接存储 B. 遥感影像和土壤检测数据属于结构化数据 C. 土壤检测数据在改良方案生成后失去价值 D. 海量农田数据为农田选址提供决策依据 2. 下列关于该农业智能体的描述,正确的是( ) A. 增加土壤检测数据量可能提升改良方案质量 B. 农田智能选址时需调取大语言模型的训练数据 C. 提高空间智能计算能力不影响土壤诊断结果 D. 理解用户需求主要依靠人工编写的语法规则 3. 某地块实时遥感影像为2048×2048像素、24位色的BMP图像,转换为1024×1024像素、256级灰度的BMP图像后,存储容量约为原来的( ) A. 8/3 B. 1/4 C. 1/6 D. 1/12 阅读下列材料,完成下面小题: 某物流公司在仓库组建局域网,通过RFID读写器识别货物电子标签,并将货物信息建上传内部服务器;分拣机器人通过仓库Wi-Fi接收服务器指令,并按指令分拣货物。运输车辆的车载终端将北斗定位获得的位置信息经互联网发回服务器,客户通过手机APP查看配送进度。 4. 下列关于该系统组成与功能的说法,正确的是( ) A. 电子标签中的货物信息通过Wi-Fi传送给读写器 B. 车载终端兼有数据采集和数据传输功能 C. 该系统的数据只在服务器中进行处理 D. 客户和分拣机器人都属于该系统的用户 5. 若仓库与互联网的连接中断,仓库局域网工作正常,则下列功能会受到影响的是( ) ①读写器把货物信息传给服务器 ②分拣机器人接收服务器的指令 ③服务器接收车辆实时位置 ④客户在APP中查看配送进度 A. ①② B. ②③ C. ③④ D. ①④ 6. 为防止客户个人信息泄露,下列措施中不能起到作用的是( ) A. 快递面单上隐去收件人手机号的中间4位 B. 客户登录手机APP时增加短信验证码验证 C. 对客户地址信息进行加密存储 D. 定期备份订单数据 7. 某算法的部分流程图如图所示。输入以下的n值,运行结果与其他三项不同的是( ) A. 4 B. 6 C. 12 D. 28 8. 定义操作:比较两个队列的队首元素,较大的元素出队后重新加入原队列队尾,较小的元素直接出队。若两队列中的元素从队首到队尾分别为1、4、6、7和7、10、5、2,重复上述操作,直至任一队列为空或两队首元素相等。此时两队列中剩余的元素总数为( ) A. 1 B. 2 C. 3 D. 5 9. 某二叉树共7个节点,根节点为A,中序遍历序列为CDABEFG。若该二叉树深度为4,则该二叉树的叶子节点数为( ) A. 1 B. 2 C. 3 D. 4 10. 有如下Python程序段: def ring(s, k): if s == "": return "" i=k% len(s) return s[i] +ring(s[:i]+s[i+1:], k) 则运行语句print(ring("abcde", 3))后,输出的结果为( ) A. deacb B. dabce C. bcaed D. becda 11. 有如下Python程序段: from random import randint a=[3, 1, 4, 12, 6, 5, 9, 7] s=randint(0,1)*2-1 #randint(0,1)随机生成0或1 i=0 while i <len(a): if i=0 or(a[i] - a[i-1])*s>=0: i+=1 else: a[i], a[i-1]=a[i -1], a[i] i=1 执行该程序段后,a的值可能为( ) A. [3, 4, 12, 6, 5,9,7, 1] B. [1, 3,4, 6,5, 9,7, 12] C. [12, 9, 7, 6,5, 4,3, 1] D. [1,3,4, 5,6, 9, 12, 7] 12. 列表d的全部元素构成一个链表,元素形式为[a,b],a、b分别为节点的数据域和指针域,尾节点的b值为-1。函数findh(d)用于找回头指针,若列表d如图所示,函数返回4。 索引 数据域 指针域 0 7 3 1 18 5 2 12 -1 3 33 2 4 25 1 5 40 0 def findh(d): n= len(d) pre=[-1]*n h=-1 for k in range(n): if d[k][1] == -1: h=k else: pre[d[k][1]]=k return h 方框中应填入的代码为( ) A. while pre[h] !=-1: h=pre[h] B. for k in range(n): h=pre[h] C. while d[h][1]!=-1: h=pre[h] D. while pre[h]!=-1: h=d[h][1] A. A B. B C. C D. D 二、综合题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分。多选题中,全部选对得2分,选对但不全得1分,不选或有选错得0分) 13. 某校教学楼各层饮水机均配备流量计与TDS传感器(用于检测水质),并接入本层智能终端,智能终端每分钟采集本层各台饮水机的用水量与TDS值,其中用水量数据直接上传;TDS值按规则筛选后上传。数据经无线网络传至Web服务器后存入数据库。服务器按楼层汇总用水量,并在检测到有饮水机TDS值满足预警条件时,向管理员发送预警信息,管理员可通过浏览器查看数据。 请回答下列问题: (1)当服务器发送预警信息时,支持其决策的数据来源于___________(单选)( ) A. 传感器 B. 执行器 C. 浏览器 (2)下列关于该系统数据处理的说法,正确的有___________(多选)( ) A. TDS传感器可判断本次值是否需上传 B. 各楼层用水量的汇总在服务器端完成 C. 筛选TDS值后上传可减少传输数据量 D. 调整预警条件时需修改智能终端程序 (3)系统运行一段时间后,现场实测发现某台饮水机的TDS值已满足预警条件,但管理员一直未收到该机的预警信息,请从硬件和软件两个角度各写出一种可能的原因。 (4)将该系统3~6月各楼层每分钟的用水量(单位:L)导出到文件water.xisx中,部分数据如图a所示。找出3月总用水量最高的楼层(唯一),绘制该楼层3月每日总用水量柱形图,如图b所示。 月 日 时 分 楼层 用水量 3 2 8 0 1 0.8 3 2 8 0 2 1.2 3 2 8 0 3 0.5 3 2 8 0 4 0.6 … … … … … … 实现上述功能的部分Python程序如下,在各划线处填入相应选项的字母(每空单选) import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("water.xlsx") dfl= ① stat =df1.groupby("楼层",as_index=False).用水量.sum() #分组求和 stat =stat.sort_values("用水量", ascending=False) #降序排序 #将stat首行的楼层编号存入k,代码略 df2= ② df3= ③ plt.bar(df3["日"], df3["用水量"]) #设置绘图参数并显示图b,代码略 ①②③处可选的代码有: A.dfdf"月"]==3] B.df[df["日"]==3] C.df1[df1["楼层"]=k] D.df[df["楼层"]=k] E.df2.groupby("日", as_index=False).用水量.sum() F.df2.groupby("日", as_index=False).用水量.count() ①____、②____、③____。 (5)观察图b可见,该楼层3月每日总用水量呈现一定的周期性。为进一步分析,请在第(4)小题处理结果的基础上,筛选出该楼层3月每日总用水量低于110L的记录。请补全下列代码。 df4=_________ 14. 智能终端每分钟采集n台饮水机(编号0~n-1)的TDS值,对每台饮水机分别按以下规则决定是否上传本次采集值: ①第1次采集值直接上传; ②此后,本次采集值与最近上传值之差的绝对值达到d时,记为一次显著变化;若最近一次上传后已连续2次显著变化(含本次),或本次采集前已连续m次未上传,则上传。 请回答下列问题: (1)设d=20,m=3。某台饮水机开机后连续8次采集值依次为150、162、178、186、208、202、212、204,则上传的采集值个数为_____________。 (2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 #读取n、d、m的值,代码略 rec=[]for i in range(n)] #rec[i]按时间顺序存放i号饮水机的上传值 chg=[0]*n #chg[i]为i号饮水机最近一次上传后连续显著变化次数 cnt=[0]*n #cnt[i]为本次采集前i号饮水机连续未上传次数 while True: #采集值存入列表x, x[i]为i号饮水机的值,代码略 for i in range(n): up=0 if len(rec[i])==0: up=1 else: if abs(x[i]- ①____) >= d: chg[i] = chg[i] +1 else: chg[i]=0 if ②____: up=1 if up=1: #上传饮水机编号i和采集值x[i],代码略 rec[i].append(x[i]) #在列表rec[i]末尾追加元素x[i] chg[i]=0 cnt[i]=0 else: ③____ #延时1分钟,代码略 15. 某高校同一天安排了多个班次的送站校车,每名学生只能预约一个座位。学生填写最迟出发时刻,系统将发车时刻不晚于该时刻的最晚班次作为该学生的首选班次。发车前,系统分两轮分配座位,每轮均按预约提交顺序处理 ①第一轮:若首选班次有空位,则安排至该班次;否则暂不安排。 ②第二轮:对第一轮未安排的学生,从早于其首选班次且仍有空位的班次中,选择发车时刻最晚的一个班次进行安排;若无符合条件的班次,则不予安排。 例如,12:00、12:15、12:30、12:45四个班次各剩1个空位, 5名学生的预约及两轮结果见图a。 预约序号 0 1 2 3 4 最迟出发时刻 12:50 12:20 12:50 12:15 12:25 首选班次 12:45 12:15 12:45 12:15 12:25 第一轮安排后 12:45 12:15 未安排 未安排 未安排 第二轮安排后 12:45 12:15 12:30 12:00 未安排 图a 请回答下列问题: (1)若仅将图a中预约序号1的最迟出发时刻修改为12:45,然后重新进行两轮分配,则预约序号2所分配班次的发车时刻为_____________。 (2)为判断是否需加开班次,定义如下函数full(batches, k):找最早出现的连续k个无空位班次,找到就返回其中第一个班次的下标,找不到就返回-1。列表batches的每个元素包含两个数据项,依次为发车时刻和剩余空位,列表已按发车时刻升序排列;k为正整数。 def full(batches, k): c=0 for i in range(len(batches)): if batches[i][1]==0: c=c+1 if c=k: return i-k+1 else: c=0 return -1 ①各班次剩余空位依次为1,0,0,1,0,0,0,2,调用full(batches, 3)返回值为____________。 ②若batches长度为100,调用full(batches, 3)返回-1,则语句“c=c+1”最多执行___________次。 (3)以下程序实现两轮安排,请在划线处填入合适的代码。 班次序号 0 1 2 3 4 5 6 剩余空位 3 0 1 0 0 2 0 near 0 1 0 1 2 0 1 图b def update(near, q): """ 班次q的最后一个空位被预约后,调用update(near,q)更新near。 near[i]表示:从班次i起往前找到的第一个有空位的班次,与班次i的序号相差多少。班次i有空位时near[i]为0:班次i及更早的班次均无空位时,near[i]为-1。 如图b所示,班次2的最后一个空位被预约后,调用update(near, 2),near变为[0,1,2,3,4,0,1]. """ #代码略 def proc(batches, reqs): m, n=len(batches), len(reqs) fst=[-1]*n #fsti表示序号为i的预约所对应的首选班次序号,-1表示无首选班次 for i in range(n): q=m -1 while q >= 0 and ①____: q-=1 fst[i] = q for i in range(n): #第一轮安排 if fst[i] > 0 and batches[fst[i]][1] > 0: reqs[i][1]= fst[i] batches[fst[i]][1]-=1 near= [-1]*m p=-1 for q in range(m): if batches[q][1] > 0: p=q if p >= 0: ②____ for i in range(n): #第二轮安排 if reqs[i][1] == -1 and fst[i] >= 0: if near[fst[i]] != -1: ③____ batches[reqs[i][1]][1]-=1 if batches[reqs[i][1]][1] == 0: update(near, reqs[i][1]) """ 按发车时刻升序读取班次存入batches,每个元素包含两个数据项,依次为发车时刻和剩余空位;按提交顺序读取预约存入reqs,每个元素包含两个数据项,依次为最迟出发时刻和安排结果,安排结果为所安排班次的序号(班次序号从0开始),初值为-1,代码略 """ proc(batches, reqs) #按reqs输出安排班次,-1表示未安排,代码略 第1页/共1页 学科网(北京)股份有限公司 $ 2026年11月绍兴市选考科目诊断性考试 技术试题 注意事项: 1.本试卷分两部分,第一部分信息技术,第二部分通用技术。全卷共14页,第一部分1至8页,第二部分9至14页; 2.考试时间90分钟,满分100分。 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求) 阅读下列材料,完成下面小题: “浙里良田”农业智能体依托大语言模型,接入卫星遥感影像,多维度采集土壤检测数据,融合空间智能计算等技术,对农田相关海量数据进行处理,可实现农田智能选址、土壤精准诊断与改良方案智能生成。 1. 下列关于该农业智能体中数据的说法,正确的是( ) A. 卫星遥感影像无需数字化即可直接存储 B. 遥感影像和土壤检测数据属于结构化数据 C. 土壤检测数据在改良方案生成后失去价值 D. 海量农田数据为农田选址提供决策依据 2. 下列关于该农业智能体的描述,正确的是( ) A. 增加土壤检测数据量可能提升改良方案质量 B. 农田智能选址时需调取大语言模型的训练数据 C. 提高空间智能计算能力不影响土壤诊断结果 D. 理解用户需求主要依靠人工编写的语法规则 3. 某地块实时遥感影像为2048×2048像素、24位色的BMP图像,转换为1024×1024像素、256级灰度的BMP图像后,存储容量约为原来的( ) A. 8/3 B. 1/4 C. 1/6 D. 1/12 【答案】1. D 2. A 3. D 【解析】 【详解】1.本题考查数据相关知识。A选项错误,卫星遥感影像属于模拟信号,必须数字化之后才可以在计算机中存储。B选项错误,遥感影像属于非结构化数据。C选项错误,土壤检测数据生成改良方案之后仍然具备其他方面的价值,并不会失去价值。D选项正确,海量农田数据分析之后能够提取有效信息,给农田选址提供决策依据。因此,本题选择D选项。 2.本题考查人工智能智能体相关知识。A选项正确,更多的土壤检测数据,可以让模型掌握更多地块情况,有可能提升改良方案的质量。B选项错误,农田智能选址调用采集到的农田业务数据,不是大模型原始训练数据。C选项错误,空间智能计算能力提高,会改变运算分析结果,会影响土壤诊断结果。D选项错误,大语言模型理解用户需求依靠机器学习训练,不是主要依靠人工编写语法规则。因此,本题选择A选项。 3.本题考查BMP图像存储容量计算相关知识。原图容量:2048×2048×24 bit;新图:256级灰度是8位,容量为1024×1024×8 bit;比值 = (1024×1024×8) ÷ (2048×2048×24) = 1/12。因此,本题选择D选项。 阅读下列材料,完成下面小题: 某物流公司在仓库组建局域网,通过RFID读写器识别货物电子标签,并将货物信息建上传内部服务器;分拣机器人通过仓库Wi-Fi接收服务器指令,并按指令分拣货物。运输车辆的车载终端将北斗定位获得的位置信息经互联网发回服务器,客户通过手机APP查看配送进度。 4. 下列关于该系统组成与功能的说法,正确的是( ) A. 电子标签中的货物信息通过Wi-Fi传送给读写器 B. 车载终端兼有数据采集和数据传输功能 C. 该系统的数据只在服务器中进行处理 D. 客户和分拣机器人都属于该系统的用户 5. 若仓库与互联网的连接中断,仓库局域网工作正常,则下列功能会受到影响的是( ) ①读写器把货物信息传给服务器 ②分拣机器人接收服务器的指令 ③服务器接收车辆实时位置 ④客户在APP中查看配送进度 A. ①② B. ②③ C. ③④ D. ①④ 6. 为防止客户个人信息泄露,下列措施中不能起到作用的是( ) A. 快递面单上隐去收件人手机号的中间4位 B. 客户登录手机APP时增加短信验证码验证 C. 对客户地址信息进行加密存储 D. 定期备份订单数据 【答案】4. B 5. C 6. D 【解析】 【4题详解】 本题考查物联网应用系统的组成与功能辨析。选项A,电子标签和RFID读写器之间是通过RFID射频信号传输数据,并非Wi-Fi,该说法错误。选项B,车载终端可以通过北斗定位采集位置信息,还能将位置信息经互联网传回服务器,同时兼有数据采集和数据传输功能,该说法正确。选项C,该系统的数据并非只在服务器中处理,比如车载终端的北斗定位数据采集环节、分拣机器人的指令执行环节也会涉及对应数据处理,该说法错误。选项D,分拣机器人是系统的执行设备,不属于系统用户,该说法错误。故答案为:B。 【5题详解】 本题考查网络环境对物联网系统功能的影响。已知仓库局域网工作正常但和互联网连接中断,逐一分析功能,①读写器和内部服务器都在仓库局域网内,货物信息传输不受影响。②分拣机器人通过仓库Wi-Fi也就是局域网接收服务器指令,该功能不受影响。③运输车辆的位置信息需要经互联网传回服务器,互联网中断后服务器无法接收车辆实时位置,功能受影响。④客户通过手机APP查看配送进度需要借助互联网访问服务器数据,互联网中断后该功能无法实现,受影响。因此受影响的是③④。故答案为:C。 【6题详解】 本题考查个人信息安全防护措施的作用辨析。选项A,隐去快递面单手机号中间4位,可以避免个人手机号直接泄露,能起到防护作用。选项B,登录时增加短信验证码验证,可以防止非本人账号登录查看个人信息,能起到防护作用。选项C,对客户地址信息加密存储,即使数据被非法获取也无法直接读取明文地址,能起到防护作用。选项D,定期备份订单数据的作用是防止数据丢失,和防止个人信息泄露没有关联,不能起到信息防泄露的作用。故答案为:D。 7. 某算法的部分流程图如图所示。输入以下的n值,运行结果与其他三项不同的是( ) A. 4 B. 6 C. 12 D. 28 【答案】B 【解析】 【详解】本题考查流程图的执行逻辑与数值运算分析能力。 输入n=4:初始result=0,判断4%2>0不成立,执行n=4//2=2,result变为1;回到判断,2%2>0不成立,执行n=2//2=1,result变为2;回到判断,1%2>0成立,result变为3,输出3。 输入n=6:初始result=0,判断6%2>0不成立,执行n=6//2=3,result变为1;回到判断,3%2>0成立,result变为2,输出2。 输入n=12:初始result=0,判断12%2>0不成立,执行n=12//2=6,result变为1;回到判断,6%2>0不成立,执行n=6//2=3,result变为2;回到判断,3%2>0成立,result变为3,输出3。 输入n=28:初始result=0,判断28%2>0不成立,执行n=28//2=14,result变为1;回到判断,14%2>0不成立,执行n=14//2=7,result变为2;回到判断,7%2>0成立,result变为3,输出3。可见输入6的运行结果为2,其余三项结果均为3,和其他三项不同。故答案为:B 8. 定义操作:比较两个队列的队首元素,较大的元素出队后重新加入原队列队尾,较小的元素直接出队。若两队列中的元素从队首到队尾分别为1、4、6、7和7、10、5、2,重复上述操作,直至任一队列为空或两队首元素相等。此时两队列中剩余的元素总数为( ) A. 1 B. 2 C. 3 D. 5 【答案】B 【解析】 【详解】本题考查队列的基本操作与模拟运算能力。我们先初始化两个队列,队列A为1、4、6、7,队列B为7、10、5、2,逐次执行定义的操作: 第1次操作,队首元素1和7比较,1更小,1直接出队,队列A更新为4、6、7,队列B将较大的7出队后加到队尾,更新为10、5、2、7; 第2次操作,队首元素4和10比较,4更小,4直接出队,队列A更新为6、7,队列B将较大的10出队后加到队尾,更新为5、2、7、10; 第3次操作,队首元素6和5比较,5更小,5直接出队,队列B更新为2、7、10,队列A将较大的6出队后加到队尾,更新为7、6; 第4次操作,队首元素7和2比较,2更小,2直接出队,队列B更新为7、10,队列A将较大的7出队后加到队尾,更新为6、7; 第5次操作,队首元素6和7比较,6更小,6直接出队,队列A更新为7,队列B将较大的7出队后加到队尾,更新为10、7; 第6次操作,队首元素7和10比较,7更小,7直接出队,队列A变为空,此时停止操作,队列A剩余0个元素,队列B剩余2个元素,剩余元素总数为2。故答案为:B 9. 某二叉树共7个节点,根节点为A,中序遍历序列为CDABEFG。若该二叉树深度为4,则该二叉树的叶子节点数为( ) A. 1 B. 2 C. 3 D. 4 【答案】C 【解析】 【详解】本题考查二叉树的遍历与结构特性分析。首先根据中序遍历序列CDABEFG,根节点A将序列划分为左子树部分CD和右子树部分BEFG,可知左子树共2个节点,右子树共4个节点。已知整棵二叉树深度为4,左子树只有2个节点,高度最多为2,因此要使整棵树深度达到4,右子树高度必须为3。左子树有2个节点,无论结构如何,叶子节点数为 1;右子树有4个节点且高度为3,其叶子节点数为 2。所以整棵树的叶子节点数为:1+2=3。故答案为:C 10. 有如下Python程序段: def ring(s, k): if s == "": return "" i=k% len(s) return s[i] +ring(s[:i]+s[i+1:], k) 则运行语句print(ring("abcde", 3))后,输出的结果为( ) A. deacb B. dabce C. bcaed D. becda 【答案】A 【解析】 【详解】本题考查Python递归函数的执行逻辑与字符串切片操作的理解应用。 第1层调用:s="abcde",长度5,i=3%5=3 → 取字符s[3]='d',剩余新串是去掉'd'的"abce",递归调用ring("abce",3) 第2层调用:s="abce",长度4,i=3%4=3 → 取字符s[3]='e',剩余新串是去掉'e'的"abc",递归调用ring("abc",3) 第3层调用:s="abc",长度3,i=3%3=0 → 取字符s[0]='a',剩余新串是去掉'a'的"bc",递归调用ring("bc",3) 第4层调用:s="bc",长度2,i=3%2=1 → 取字符s[1]='c',剩余新串是去掉'c'的"b",递归调用ring("b",3) 第5层调用:s="b",长度1,i=3%1=0 → 取字符s[0]='b',剩余新串为空,递归终止返回空串 最后逐层拼接字符,得到最终结果d + e + a + c + b = "deacb"。故答案为:A 11. 有如下Python程序段: from random import randint a=[3, 1, 4, 12, 6, 5, 9, 7] s=randint(0,1)*2-1 #randint(0,1)随机生成0或1 i=0 while i <len(a): if i=0 or(a[i] - a[i-1])*s>=0: i+=1 else: a[i], a[i-1]=a[i -1], a[i] i=1 执行该程序段后,a的值可能为( ) A. [3, 4, 12, 6, 5,9,7, 1] B. [1, 3,4, 6,5, 9,7, 12] C. [12, 9, 7, 6,5, 4,3, 1] D. [1,3,4, 5,6, 9, 12, 7] 【答案】C 【解析】 【详解】本题考查Python冒泡排序变体的程序运行分析能力。randint(0,1)生成0或1,因此s的可能取值为-1或1。当s=1时,条件(a[i]-a[i-1])*s>=0等价于a[i]>=a[i-1],程序会通过交换逆序对并重置i为1,最终将数组调整为非递减序列;当s=-1时,条件等价于a[i]<=a[i-1],程序最终将数组调整为非递增序列。逐一验证选项:第一个选项既非非递减也非非递增,不符合;第二个选项存在6>5的逆序,不是合法的非递减序列;第三个选项是完全的非递减序列的反向,也就是非递增序列,对应s=-1时的运行结果,符合要求;第四个选项存在12>7的逆序,不是合法的非递减序列。故答案为:C 12. 列表d的全部元素构成一个链表,元素形式为[a,b],a、b分别为节点的数据域和指针域,尾节点的b值为-1。函数findh(d)用于找回头指针,若列表d如图所示,函数返回4。 索引 数据域 指针域 0 7 3 1 18 5 2 12 -1 3 33 2 4 25 1 5 40 0 def findh(d): n= len(d) pre=[-1]*n h=-1 for k in range(n): if d[k][1] == -1: h=k else: pre[d[k][1]]=k return h 方框中应填入的代码为( ) A. while pre[h] !=-1: h=pre[h] B. for k in range(n): h=pre[h] C. while d[h][1]!=-1: h=pre[h] D. while pre[h]!=-1: h=d[h][1] A. A B. B C. C D. D 【答案】A 【解析】 【详解】本题考查链表的前驱数组构建与头指针查找算法。首先分析给定代码的执行逻辑:循环遍历所有节点时,先找到尾节点的索引赋值给h,同时构建pre数组,pre数组的作用是记录每个节点的前驱节点索引,即pre[当前节点索引] = 指向它的节点的索引,本题示例中构建完成的pre数组为pre[3]=0、pre[5]=1、pre[2]=3、pre[1]=4、pre[0]=5,其余位置为-1,初始h是尾节点索引2。接下来需要从尾节点沿着前驱关系反向遍历,直到找到pre值为-1的节点,该节点就是链表的头节点,题目要求最终返回头节点索引4。逐一分析选项:选项A,当pre[h]不等于-1时,不断将h更新为pre[h],遍历过程为h从2开始,依次变为3、0、5、1、4,此时pre[4]为-1,循环终止,最终h的值为4,符合要求。选项B,执行n次h=pre[h],示例中n为6,遍历6次后h会超出头节点指向无效值,结果错误。选项C,循环条件是d[h][1]!=-1,初始h是尾节点,d[h][1]为-1,循环根本不会执行,直接返回尾节点索引2,不符合要求。选项D,循环内将h更新为d[h][1],也就是沿着节点的后继指针遍历,会回到尾节点形成死循环,逻辑错误。故答案为:A 二、综合题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分。多选题中,全部选对得2分,选对但不全得1分,不选或有选错得0分) 13. 某校教学楼各层饮水机均配备流量计与TDS传感器(用于检测水质),并接入本层智能终端,智能终端每分钟采集本层各台饮水机的用水量与TDS值,其中用水量数据直接上传;TDS值按规则筛选后上传。数据经无线网络传至Web服务器后存入数据库。服务器按楼层汇总用水量,并在检测到有饮水机TDS值满足预警条件时,向管理员发送预警信息,管理员可通过浏览器查看数据。 请回答下列问题: (1)当服务器发送预警信息时,支持其决策的数据来源于___________(单选)( ) A. 传感器 B. 执行器 C. 浏览器 (2)下列关于该系统数据处理的说法,正确的有___________(多选)( ) A. TDS传感器可判断本次值是否需上传 B. 各楼层用水量的汇总在服务器端完成 C. 筛选TDS值后上传可减少传输数据量 D. 调整预警条件时需修改智能终端程序 (3)系统运行一段时间后,现场实测发现某台饮水机的TDS值已满足预警条件,但管理员一直未收到该机的预警信息,请从硬件和软件两个角度各写出一种可能的原因。 (4)将该系统3~6月各楼层每分钟的用水量(单位:L)导出到文件water.xisx中,部分数据如图a所示。找出3月总用水量最高的楼层(唯一),绘制该楼层3月每日总用水量柱形图,如图b所示。 月 日 时 分 楼层 用水量 3 2 8 0 1 0.8 3 2 8 0 2 1.2 3 2 8 0 3 0.5 3 2 8 0 4 0.6 … … … … … … 实现上述功能的部分Python程序如下,在各划线处填入相应选项的字母(每空单选) import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("water.xlsx") dfl= ① stat =df1.groupby("楼层",as_index=False).用水量.sum() #分组求和 stat =stat.sort_values("用水量", ascending=False) #降序排序 #将stat首行的楼层编号存入k,代码略 df2= ② df3= ③ plt.bar(df3["日"], df3["用水量"]) #设置绘图参数并显示图b,代码略 ①②③处可选的代码有: A.dfdf"月"]==3] B.df[df["日"]==3] C.df1[df1["楼层"]=k] D.df[df["楼层"]=k] E.df2.groupby("日", as_index=False).用水量.sum() F.df2.groupby("日", as_index=False).用水量.count() ①____、②____、③____。 (5)观察图b可见,该楼层3月每日总用水量呈现一定的周期性。为进一步分析,请在第(4)小题处理结果的基础上,筛选出该楼层3月每日总用水量低于110L的记录。请补全下列代码。 df4=_________ 【答案】(1)A (2)BC (3)硬件:TDS传感器故障(如老化),或智能终端、通信模块等设备故障,导致数据未能正确采集或上传;软件:上传规则参数设置不当导致新值长期未上传,或服务器端预警判断程序、预警阈值设置有误(其他合理答案也可) (4) ①. A ②. C ③. E (5)df3[df3["用水量"]<110]或df3[df3.用水量<110] 【解析】 【详解】(1)本题考查系统组成中数据来源的辨析。解释分析:服务器发送预警信息是依据饮水机TDS值是否满足预警条件作出的判断,而TDS值由TDS传感器采集获得,执行器负责执行动作、浏览器用于管理员查看数据,均不能提供决策依据,因此选A。 (2)本题考查系统数据处理流程的分析。解释分析:TDS传感器只负责采集数据,判断本次值是否需上传由智能终端程序完成,A错误;材料明确"服务器按楼层汇总用水量",B正确;TDS值按规则筛选后只上传满足条件的数据,可减少传输数据量,C正确;预警条件由服务器端判断,调整预警条件应修改服务器端程序而非智能终端程序,D错误,因此选BC。 (3)本题考查系统故障原因的分析。解释分析:硬件角度,可能是该台饮水机的TDS传感器损坏,或智能终端、通信模块等设备发生故障,导致数据无法正常采集或上传;软件角度,可能是智能终端中TDS值筛选规则设置错误,使满足预警条件的数据被过滤而未上传,或服务器端预警判断与信息发送程序出错,导致预警信息未能发出。 (4)本题考查pandas数据筛选、分组汇总与绘图数据的处理。解释分析:①处应先筛选出3月的数据,用df[df["月"]==3],选A;②处应在3月数据中按楼层编号k筛选出该楼层的记录,用df1[df1["楼层"]==k],选C;③处应按"日"分组对用水量求和,得到该楼层3月每日总用水量,用df2.groupby("日",as_index=False).用水量.sum(),选E,因此①选A、②选C、③选E。 (5)本题考查DataFrame的条件筛选。解释分析:要在第(4)小题得到的df3中筛选每日总用水量低于110L的记录,可使用布尔索引,因此答案为df3[df3["用水量"]<110]或df3[df3.用水量<110]。 14. 智能终端每分钟采集n台饮水机(编号0~n-1)的TDS值,对每台饮水机分别按以下规则决定是否上传本次采集值: ①第1次采集值直接上传; ②此后,本次采集值与最近上传值之差的绝对值达到d时,记为一次显著变化;若最近一次上传后已连续2次显著变化(含本次),或本次采集前已连续m次未上传,则上传。 请回答下列问题: (1)设d=20,m=3。某台饮水机开机后连续8次采集值依次为150、162、178、186、208、202、212、204,则上传的采集值个数为_____________。 (2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。 #读取n、d、m的值,代码略 rec=[]for i in range(n)] #rec[i]按时间顺序存放i号饮水机的上传值 chg=[0]*n #chg[i]为i号饮水机最近一次上传后连续显著变化次数 cnt=[0]*n #cnt[i]为本次采集前i号饮水机连续未上传次数 while True: #采集值存入列表x, x[i]为i号饮水机的值,代码略 for i in range(n): up=0 if len(rec[i])==0: up=1 else: if abs(x[i]- ①____) >= d: chg[i] = chg[i] +1 else: chg[i]=0 if ②____: up=1 if up=1: #上传饮水机编号i和采集值x[i],代码略 rec[i].append(x[i]) #在列表rec[i]末尾追加元素x[i] chg[i]=0 cnt[i]=0 else: ③____ #延时1分钟,代码略 【答案】(1)3 (2) ①. rec[i][-1]或rec[i][len(rec[i])-1] ②. chg[i]>=2 or cnt[i]>=m或chg[i]==2 or cnt[i]==m等价表达式 ③. cnt[i] = cnt[i] +1或cnt[i] +=1 【解析】 【小问1详解】 本题考查根据规则模拟数据上传过程的逻辑分析能力。第1次采集值150,是首次采集直接上传;第2次162,和最近上传的150差值绝对值12小于20,无显著变化,连续未上传次数变为1;第3次178,和150差值绝对值28大于等于20,是第1次显著变化,连续未上传次数变为2;第4次186,和150差值绝对值36大于等于20,但和最近上传值对比的显著变化这里,当前连续显著变化次数为1,连续未上传次数变为3,满足连续m=3次未上传的条件,上传186;第5次208,和最近上传的186差值绝对值22大于等于20,是第1次显著变化,连续未上传次数变为1;第6次202,和186差值绝对值16小于20,连续显著变化次数清零,连续未上传次数变为2;第7次212,和186差值绝对值26大于等于20,是第1次显著变化,连续未上传次数变为3,满足连续3次未上传的条件,上传212;第8次204,和212差值绝对值8小于20,不满足上传条件。最终上传的采集值为150、186、212,总个数为3。故答案为:3。 【小问2详解】 本题考查Python程序逻辑补全,结合业务规则理解变量含义的代码实现能力。①处需要获取i号饮水机最近一次的上传值,rec[i]存储的是该饮水机所有已上传的值,取列表最后一个元素即可,对应代码为rec[i][-1]或rec[i][len(rec[i])-1]。②处判断是否满足上传条件,规则要求最近一次上传后连续2次显著变化,或者本次采集前已连续m次未上传,对应条件为chg[i]>=2 or cnt[i]>=m,也可以写等价的chg[i]==2 or cnt[i]==m。③处当本次不执行上传时,本次采集前的连续未上传次数需要累加1,对应代码为cnt[i] +=1或cnt[i] = cnt[i] +1。 15. 某高校同一天安排了多个班次的送站校车,每名学生只能预约一个座位。学生填写最迟出发时刻,系统将发车时刻不晚于该时刻的最晚班次作为该学生的首选班次。发车前,系统分两轮分配座位,每轮均按预约提交顺序处理 ①第一轮:若首选班次有空位,则安排至该班次;否则暂不安排。 ②第二轮:对第一轮未安排的学生,从早于其首选班次且仍有空位的班次中,选择发车时刻最晚的一个班次进行安排;若无符合条件的班次,则不予安排。 例如,12:00、12:15、12:30、12:45四个班次各剩1个空位, 5名学生的预约及两轮结果见图a。 预约序号 0 1 2 3 4 最迟出发时刻 12:50 12:20 12:50 12:15 12:25 首选班次 12:45 12:15 12:45 12:15 12:25 第一轮安排后 12:45 12:15 未安排 未安排 未安排 第二轮安排后 12:45 12:15 12:30 12:00 未安排 图a 请回答下列问题: (1)若仅将图a中预约序号1的最迟出发时刻修改为12:45,然后重新进行两轮分配,则预约序号2所分配班次的发车时刻为_____________。 (2)为判断是否需加开班次,定义如下函数full(batches, k):找最早出现的连续k个无空位班次,找到就返回其中第一个班次的下标,找不到就返回-1。列表batches的每个元素包含两个数据项,依次为发车时刻和剩余空位,列表已按发车时刻升序排列;k为正整数。 def full(batches, k): c=0 for i in range(len(batches)): if batches[i][1]==0: c=c+1 if c=k: return i-k+1 else: c=0 return -1 ①各班次剩余空位依次为1,0,0,1,0,0,0,2,调用full(batches, 3)返回值为____________。 ②若batches长度为100,调用full(batches, 3)返回-1,则语句“c=c+1”最多执行___________次。 (3)以下程序实现两轮安排,请在划线处填入合适的代码。 班次序号 0 1 2 3 4 5 6 剩余空位 3 0 1 0 0 2 0 near 0 1 0 1 2 0 1 图b def update(near, q): """ 班次q的最后一个空位被预约后,调用update(near,q)更新near。 near[i]表示:从班次i起往前找到的第一个有空位的班次,与班次i的序号相差多少。班次i有空位时near[i]为0:班次i及更早的班次均无空位时,near[i]为-1。 如图b所示,班次2的最后一个空位被预约后,调用update(near, 2),near变为[0,1,2,3,4,0,1]. """ #代码略 def proc(batches, reqs): m, n=len(batches), len(reqs) fst=[-1]*n #fsti表示序号为i的预约所对应的首选班次序号,-1表示无首选班次 for i in range(n): q=m -1 while q >= 0 and ①____: q-=1 fst[i] = q for i in range(n): #第一轮安排 if fst[i] > 0 and batches[fst[i]][1] > 0: reqs[i][1]= fst[i] batches[fst[i]][1]-=1 near= [-1]*m p=-1 for q in range(m): if batches[q][1] > 0: p=q if p >= 0: ②____ for i in range(n): #第二轮安排 if reqs[i][1] == -1 and fst[i] >= 0: if near[fst[i]] != -1: ③____ batches[reqs[i][1]][1]-=1 if batches[reqs[i][1]][1] == 0: update(near, reqs[i][1]) """ 按发车时刻升序读取班次存入batches,每个元素包含两个数据项,依次为发车时刻和剩余空位;按提交顺序读取预约存入reqs,每个元素包含两个数据项,依次为最迟出发时刻和安排结果,安排结果为所安排班次的序号(班次序号从0开始),初值为-1,代码略 """ proc(batches, reqs) #按reqs输出安排班次,-1表示未安排,代码略 【答案】(1)12:00 (2) ①. 4 ②. 67 (3) ①. batches[q][0] > reqs[i][0]或reqs[i][0] <batches[q][0] ②. near[q]=q-p ③. reqs[i][1]= fst[i]-near[fst[i]] 【解析】 【详解】(1)本题考查两轮座位分配算法的模拟与推理。解释分析:将序号1的最迟出发时刻改为12:45后,序号1的首选班次变为12:45。第一轮按提交顺序处理,序号0先占用12:45的座位,序号1、2因首选班次12:45已无空位而暂不安排,序号3占用12:15的座位,序号4的首选班次12:15也无空位。第一轮后仅12:00和12:30各剩1个空位。第二轮按提交顺序处理,序号1在早于12:45且有剩余空位的班次中选发车时刻最晚的12:30,序号2只能安排在剩余的12:00,因此序号2所分配班次的发车时刻为12:00。 (2)本题考查full函数的执行过程及语句执行次数的极值分析。解释分析:①剩余空位依次为1,0,0,1,0,0,0,2,从下标0开始统计连续无空位的班次,下标1、2连续出现2个0后,遇到下标3的1使计数c清零;下标4、5、6连续出现3个0,当c达到k=3时返回i-k+1=6-3+1=4,因此返回值为4;②语句c=c+1只在班次无空位时执行,要使执行次数最多且full返回-1,序列中不能出现连续3个无空位班次,即每3个连续班次中最多有2个无空位,100个班次最多可排成33组“0,0,1”共66个无空位班次,末尾再安排1个无空位班次共67个,此时仍不存在连续3个0,因此c=c+1最多执行67次。 (3)本题考查程序中首选班次查找、near数组构建及第二轮安排的代码补全。解释分析:①q从最后一个班次向前查找,首选班次是发车时刻不晚于学生最迟出发时刻的最晚班次,当班次q的发车时刻晚于该生的最迟出发时刻时应继续向前查找,因此①处填batches[q][0]>reqs[i][0],也可写成等价的reqs[i][0]。②p记录最近的有空位班次序号,当batches[q][1] > 0时更新p = q,若p >= 0,则班次q与p的序号差为q - p,班次本身有空位时差值为0,因此②处填near[q]=q-p;③near[fst[i]]不等于-1说明首选班次之前存在有空位的班次,其值表示该空位班次与首选班次的序号差,第二轮应选择早于首选班次且发车时刻最晚的空位班次,其序号为fst[i]-near[fst[i]],因此③处填reqs[i][1]=fst[i]-near[fst[i]]。 第1页/共1页 学科网(北京)股份有限公司 $

资源预览图

精品解析:浙江省绍兴市2026-2027学年高三上学期11月一模科目诊断技术试题-高中信息技术-第1页
1
精品解析:浙江省绍兴市2026-2027学年高三上学期11月一模科目诊断技术试题-高中信息技术-第2页
2
精品解析:浙江省绍兴市2026-2027学年高三上学期11月一模科目诊断技术试题-高中信息技术-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。