精品解析:浙江杭州市2025-2026学年第二学期高二年级期末教学质量检测 技术试题-高中信息技术

标签:
精品解析文字版答案
切换试卷
2026-06-26
| 2份
| 22页
| 71人阅读
| 1人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高二
章节 -
类型 试卷
知识点 -
使用场景 同步教学-期末
学年 2026-2027
地区(省份) 浙江省
地区(市) 杭州市
地区(区县) -
文件格式 ZIP
文件大小 930 KB
发布时间 2026-06-26
更新时间 2026-06-26
作者 学科网试题平台
品牌系列 -
审核时间 2026-06-26
下载链接 https://m.zxxk.com/soft/58502030.html
价格 5.00储值(1储值=1元)
来源 学科网

摘要:

**基本信息** 以无人驾驶、雨伞共享等真实情境为载体,融合数据处理、系统设计与算法加密,考查信息意识与计算思维,适配高二期末教学评价需求。 **题型特征** |题型|题量/分值|知识覆盖|命题特色| |----|-----------|----------|----------| |选择题|12题24分|数据与信息、人工智能、网络技术、数据结构|以无人驾驶情境串联,如第1-6题考查数据处理与系统安全,第7-12题涉及编码、栈与Python程序分析| |综合题|3题26分|pandas数据统计、系统故障分析、加密算法实现|第13题结合学生消费数据处理考查数字化学习能力,第14题通过雨伞共享系统分析执行器与二分查找,第15题设计加密算法流程,体现问题解决与创新应用|

内容正文:

2025学年第二学期杭州市高二年级教学质量检测 技术试题卷 考生须知: 本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。 1.答题前,请核对考生条码信息,确认无误后,将条码贴在答题卡上的“条码粘贴处”,并将自己的学校、姓名、试场号、座位号填写在答题卡相应的位置上。 2.回答选择题时,用2B铅笔将答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。回答非选择题时,用黑色水笔将答案写在答题卡相应的答题区内。答案写在试题卷上一律无效。 3.考试结束,将答题卡交回。 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。) 某出行系统采用无人驾驶技术,每辆汽车搭载有雷达、摄像头等多种传感器,实时采集车辆周围环境数据,并通过车载计算单元结合高精度地图和深度学习实现无人驾驶。乘客通过手机App预约用车,系统根据实时路况和车辆位置智能调度最近车辆,并发送车辆信息给乘客。行驶过程中,车辆将关键行驶数据加密后通过5G上传至服务器,用于优化调度算法和生成交通报告。阅读材料,回答下列小题。 1. 下列关于该系统中数据和信息的说法,正确的是( ) A. 环境数据经数字化后车载计算单元才能处理 B. 系统中数据的表现形式都是相同的 C. 同一段道路拥堵的信息,对乘客和交通管理部门的价值是相同的 D. 服务器对行驶数据进行分析,不会产生新的数据 2. 下列有关该系统安全的措施,描述合理的是( ) A. 为提高数据的传输速率,系统对行驶数据进行加密 B. 为方便使用,乘客预约用车时不需要进行身份认证 C. 将乘客的行程轨迹公开,不会涉及安全问题 D. 定期备份车辆行驶数据与系统日志;有助于提升数据安全 3. 下列关于该系统中人工智能技术的描述,不正确的是( ) A. 车辆通过深度学习模型识别行人、车辆,属于基于数据驱动的人工智能方法 B. 系统采用基于规则的搜索方法进行路径规划,属于符号主义人工智能方法 C. 利用行驶数据优化自动驾驶算法,体现了人工智能从数据中学习的能力 D. 提升车载计算单元的性能,就能完全避免车辆在复杂路况下的感知错误 4. 下列关于该系统软件与硬件的说法,正确的是( ) A. 服务器中不需要安装应用软件 B. 摄像头是该系统的输出设备 C. 手机有操作系统后才能安装App D. 服务器关机后,硬盘中的数据会丢失 5. 下列关于该系统的功能与应用的说法,不正确的是( ) A. 系统发送车辆信息给乘客的过程体现了数据查询功能 B. 无人驾驶控制车辆转弯的过程体现了系统的输出功能 C. 该系统的运行依赖电力、网络等各种外部环境 D. 优化智能调度算法提高了系统的运行效率 6. 下列关于该系统中网络技术的说法,正确的是( ) A. 手机和服务器之间的通信需要遵循网络协议 B. 手机通过移动通信网络才能预约用车 C. 车辆上传行驶数据不需要传输介质 D. 车辆和服务器之间的通信是单向的 7. 某礼物兑换码编码方式如下:兑换码由1位类别标识和2位序号标识组成,标识可使用数字和大写英文字母。下列礼物规模中,可采用上述编码方式的是( ) A. 10种类别,每种2000份 B. 20种类别,每种1000份 C. 30种类别,每种1600份 D. 40种类别,每种500份 8. 某完全二叉树的前序遍历为ECADB,删除其中一个叶子节点,则新二叉树的中序遍历结果不可能是( ) A. ACDE B. ACEB C. CBEA D. CDEB 9. 栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“琴”“棋”“书”“画”,其中“书”第一个出栈,则下列说法正确的是( ) A. “画”一定在“棋”之后出栈 B. “琴”一定在“棋”之后出栈 C. “棋”可以最后一个出栈 D. “琴”可以第二个出栈 10. 有如下Python程序段: i, res = 0, "" while i < len(s): if "g" <= s[i] <= "j": res += chr(ord(s[i])+1) i += 2 else: res += s[i] i += 3 若s为"technology",执行该程序段后,res的值为( ) A. "tioh" B. "tcnlh" C. "uhpg" D. "udomg" 11. 有如下Python程序段: #获取d的初始值,代码略 n = len(d) for i in range(n//2): f = 1 for j in range( (1) ): if (2) : d[j], d[j+2] = d[j+2], d[j] f =- f 执行该程序段后,数组d中所有偶数索引(0,2,4,…)上的元素按升序排列,所有奇数索引(1,3,5,…)上的元素按降序排列,则(1)(2)处填入的正确代码顺序应为( ) ①n-(i+1)*2 ②n-i*2 ③f*d[j] > f*d[j+2] ④f*d[j] < f*d[j+2] A. ①③ B. ①④ C. ②③ D. ②④ 12. 定义如下函数: def judge(a): i = j = 0 t = 1 f = [-1] * 100 while j < len(a): k = a[j] if f[k] >= i: t = max(t, j - i) # max(a, b)返回a和b中的较大值 i = f[k]+1 f[k] = j j += 1 t = max(t, j - i) if t >= len(a)//2: return True return False 如果调用函数后返回的结果为True,则a的值可能为( ) A. [6, 1, 9, 6, 6, 9, 2, 9] B. [7, 7, 5, 3, 2, 2, 7, 3] C. [2, 6, 6, 2, 8, 8, 2, 4] D. [5, 2, 4, 2, 7, 2, 2, 3] 二、综合题(本大题共3题,其中第13题7分,第14题10分,第15题9分,共26分) 13. 某校将学生12月消费数据导出到文件data.xlsx中,并对其进行分析以引导理性消费,部分数据如图a所示。 现要分析当月学生在食堂的消费情况,计算出学生当月在食堂的日均消费额,并统计出该月消费天数满20天的学生中,日均消费额最高的前5名学生(名次的计算方法是:若有m人消费额高于该学生,则该学生的名次为m+1),绘制如图b所示的条形图。实现上述功能的部分Python程序如下: import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel(" data.xlsx") df = ① df2 = ② df3 = df.groupby("学号")["日期"].nunique() # 计算出每个学生当月的消费天数 # df3为Series结构,其中索引为学号,值为天数 df4 = pd.DataFrame({"学号":df2.index,"总消费额":df2.values,"消费天数":df3.values,"日均消费":0}) # 构建一个DataFrame对象 df4.日均消费 = df4.总消费额/df4.消费天数 df4 = df4[df4.消费天数 >= 20] #筛选 df5 = ③ plt.barh(x,y) #绘制条形图 #设置绘图参数,代码略 (1)程序中①②③处可选的代码有:______ _______ _______ A. df[df.地点 == "食堂"] B. df[df.地点 != "食堂"] C. df4. sort_values("日均消费", ascending = False) #降序排序 D. df4. sort_values("总消费额", ascending = False) E. df.groupby("学号")["消费金额"]. sum() #分类统计 F. df.groupby("日期")["消费金额"]. sum() 请选择合适的代码填入划线处(单选)。 (2)小华发现运行第(1)小题代码时,若第5位学生之后有日均消费额与第5位相同的学生,程序也只输出前5人。现要解决这个问题,可将方框处的代码修改为以下代码,请在划线处填入合适的代码。 data = df5. values.tolist() #将df5存储的数据转换为列表data #值如[['A23001',483.0,25,19.32],…] x,y = [],[] i = 0 k = 1 while k < 5 and i < len(data): x. append(data[i][0]) # x追加一个元素 y. append(data[i][3]) ①___ if i < len(data) and data[i][3] != data[i-1][3]: ②___ 14. 某高校开发了校园雨伞共享系统,在教学楼、食堂等场所设置了伞架,每个伞架上有多个伞位。借伞时,用户通过手机App扫描伞架上二维码,服务器验证用户信息后向智能终端发送借伞指令并存储借出数据,智能终端控制伞位电机转动,解锁雨伞。还伞时,用户将雨伞插入空闲伞位,伞位内的RFID读写器读取雨伞上电子标签中的信息,智能终端将归还数据上传至服务器,服务器发送指令使智能终端控制伞位电机转动,锁定雨伞。用户可通过App查看自己的借还信息。请回答下列问题: (1)该系统中,属于执行器的是________(单选:A.伞位电机/B.电子标签) (2)下列关于该系统可能出现的故障现象,说法正确的有________(多选)。 A.若RFID读写器故障,则无法采集到完整的归还数据 B.若伞位电机发生故障,则其连接的智能终端无法接收服务器指令 C.若服务器断网,则用户无法成功借伞 D.若智能终端断网,则用户无法查询到自己的历史借还信息 (3)数据表中存储的雨伞借还数据包含7个字段,如图所示,展示了“归还”和“借出”两种状态的示例数据各一条。 用户编号 雨伞编号 借出伞位编号 借出时间 归还伞位编号 归还时间 状态 10011 U001 A10 20260407 14:00 D21 20260407 14:50 归还 90232 U123 B08 20260407 14:20 借出 若将雨伞(编号为“U123”)归还到伞位(编号为“C03”),提交数据到Web服务器的URL为http://192.168.10.8:8080/return?sid=C03&umbid=U123,服务器中的部分Python程序如下,请在划线处填入合适的代码: @app.route("①___") def return_umb(): ’’’从URL中获取伞位编号和雨伞编号,分别存入sid和umbid; 读取数据表中状态为“借出”的所有记录存入records列表,每个元素为包含7个数据项(如图所示)的列表,并按照雨伞编号升序排列,代码略’’’ flag = False i, j = 0, len(records) - 1 while i <= j and not flag: m = (i + j) // 2 if records[m][1] == umbid: flag = True elif②___: i = m + 1 else: j = m - 1 if flag: #数据表中更新雨伞归还数据,代码略 return "归还成功!" else: return "归还失败:未找到该雨伞的借出记录!" (4)执行函数return_umb()时,若“借出”状态的雨伞编号为U001、U002、U003、U004、U005、U006、U007、U008,且循环结束时j的值等于i+1,则归还的雨伞编号为________。 (5)为避免损坏的雨伞在归还后被其他用户继续借用,写出一种解决该问题的合理方案。 15. 现要对长度为n的序列a进行加密,加密结果存入序列c中,处理过程如下: ①从a中的第1个元素开始计数(从1开始),每数到第k个(1<k<n),将该元素和a中的第1个元素,依次移动至c的末尾,然后从该元素的下一个元素重新开始计数,继续这一过程,直至遍历完a,完成一轮取数。重复以上操作,直到a中剩余元素个数小于k个。 ②若a中还有剩余元素,则逆序移动至c的尾部,结束加密过程。 如a为[1,2,3,4,5,6,7,8],k为3,加密处理过程如图所示,加密结果为[3,1,6,2,7,4,8,5]。 序列 初始值 第一轮取数 第二轮取数 剩余数 a [1,2,3,4,5,6,7,8] [4,5,7,8] [5,8] [] c [] [3,1,6,2] [3,1,6,2,7,4] [3,1,6,2,7,4,8,5] (1)若a为[1,2,3,4],k为3,按上述加密处理后,加密结果为________。 (2)定义如下函数cal(n,k),返回序列长度为n、计数为k时,取数的总轮数。 def cal(n, k): if n < k: return 0 return cal(n - n // k * 2, k) + 1 ①若n为12,k为4,执行语句t= cal(n, k)后,变量t的值为________。 ②对于任意的n和k,程序段________(单选)执行后,变量t的值与调用函数cal(n,k)的返回值相同。 A. t = 0 while n >= k: t += 1 n = n - n // k * 2 B. t = 1 while n > k: n = n - n // k * 2 t += 1 (3)实现加密功能的Python程序如下,请在划线处填入合适的代码。 def convert(data, head, k, t): ①___ qcpre =- 1 for i in range(t): num = 0 qa = qc while qa !=- 1: num += 1 if②___: qapre = qa qa = data[qa][1] else: data[qapre][1] = data[qa][1] data[qa][1] = qc if qc == head: head = qa else: ③___ qcpre = qc qc = data[qc][1] qa = data[qapre][1] num = 0 if qc != - 1: #将链表data中qc及其之后的节点逆序,代码略 return head ’’’读取待加密序列a存入data列表,并按原序列顺序建立链表,data模拟链表结构,data[i]包含两个元素,data[i][0]为数据区域,data[i][1]为指针区域,head为链表头指针;读取序列长度存入n;设置k,代码略’’’ t = cal(n, k) head = convert(data, head, k, t) #输出链表data中的加密结果,代码略 第1页/共1页 学科网(北京)股份有限公司 $ 2025学年第二学期杭州市高二年级教学质量检测 技术试题卷 考生须知: 本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。 1.答题前,请核对考生条码信息,确认无误后,将条码贴在答题卡上的“条码粘贴处”,并将自己的学校、姓名、试场号、座位号填写在答题卡相应的位置上。 2.回答选择题时,用2B铅笔将答题卡上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。回答非选择题时,用黑色水笔将答案写在答题卡相应的答题区内。答案写在试题卷上一律无效。 3.考试结束,将答题卡交回。 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。) 某出行系统采用无人驾驶技术,每辆汽车搭载有雷达、摄像头等多种传感器,实时采集车辆周围环境数据,并通过车载计算单元结合高精度地图和深度学习实现无人驾驶。乘客通过手机App预约用车,系统根据实时路况和车辆位置智能调度最近车辆,并发送车辆信息给乘客。行驶过程中,车辆将关键行驶数据加密后通过5G上传至服务器,用于优化调度算法和生成交通报告。阅读材料,回答下列小题。 1. 下列关于该系统中数据和信息的说法,正确的是( ) A. 环境数据经数字化后车载计算单元才能处理 B. 系统中数据的表现形式都是相同的 C. 同一段道路拥堵的信息,对乘客和交通管理部门的价值是相同的 D. 服务器对行驶数据进行分析,不会产生新的数据 2. 下列有关该系统安全的措施,描述合理的是( ) A. 为提高数据的传输速率,系统对行驶数据进行加密 B. 为方便使用,乘客预约用车时不需要进行身份认证 C. 将乘客的行程轨迹公开,不会涉及安全问题 D. 定期备份车辆行驶数据与系统日志;有助于提升数据安全 3. 下列关于该系统中人工智能技术的描述,不正确的是( ) A. 车辆通过深度学习模型识别行人、车辆,属于基于数据驱动的人工智能方法 B. 系统采用基于规则的搜索方法进行路径规划,属于符号主义人工智能方法 C. 利用行驶数据优化自动驾驶算法,体现了人工智能从数据中学习的能力 D. 提升车载计算单元的性能,就能完全避免车辆在复杂路况下的感知错误 4. 下列关于该系统软件与硬件的说法,正确的是( ) A. 服务器中不需要安装应用软件 B. 摄像头是该系统的输出设备 C. 手机有操作系统后才能安装App D. 服务器关机后,硬盘中的数据会丢失 5. 下列关于该系统的功能与应用的说法,不正确的是( ) A. 系统发送车辆信息给乘客的过程体现了数据查询功能 B. 无人驾驶控制车辆转弯的过程体现了系统的输出功能 C. 该系统的运行依赖电力、网络等各种外部环境 D. 优化智能调度算法提高了系统的运行效率 6. 下列关于该系统中网络技术的说法,正确的是( ) A. 手机和服务器之间的通信需要遵循网络协议 B. 手机通过移动通信网络才能预约用车 C. 车辆上传行驶数据不需要传输介质 D. 车辆和服务器之间的通信是单向的 【答案】1. A 2. D 3. D 4. C 5. A 6. A 【解析】 【详解】1.本题考查数据与信息基础相关知识。A选项正确,计算机类计算单元仅能处理数字化数据,环境模拟数据需数字化后才可被车载计算单元处理;B选项错误,系统包含图像、数值、文本等多种不同表现形式的数据;C选项错误,道路拥堵信息对乘客用于避峰出行,对交管部门用于疏导车流,二者价值不同;D选项错误,服务器分析行驶数据会生成交通报告、优化参数等新数据。因此,本题选择A选项。 2.本题考查信息安全相关知识。A选项错误,加密操作会增加运算开销,无法提升传输速率,加密目的是保障数据安全;B选项错误,乘客预约不进行身份认证存在冒用、安全追踪隐患;C选项错误,公开用户行程轨迹会泄露个人隐私,存在信息安全风险;D选项正确,定期备份行驶数据与系统日志,可防止数据丢失、便于故障追溯,提升数据安全。因此,本题选择D选项。 3.本题考查人工智能相关知识。A选项正确,深度学习依靠大量标注数据训练模型识别障碍物,属于数据驱动人工智能;B选项正确,固定规则路径规划依靠逻辑符号运算,属于符号主义人工智能;C选项正确,利用行驶数据迭代优化算法,是机器学习自主学习优化的体现;D选项错误,路况复杂、传感器干扰等因素无法仅凭提升硬件完全消除感知错误。因此,本题选择D选项。 4.本题考查计算机软硬件相关知识。A选项错误,服务器需安装调度、数据处理等应用软件才能实现业务功能;B选项错误,摄像头采集外部画面,属于输入设备而非输出设备;C选项正确,操作系统是底层基础,手机必须搭载操作系统才可安装运行App;D选项错误,硬盘属于断电非易失存储,服务器关机硬盘数据不会丢失。因此,本题选择C选项。 5.本题考查信息系统功能相关知识。A选项错误,系统向乘客推送车辆信息属于数据传输推送,并非数据查询功能;B选项正确,系统计算后输出转向指令控制车辆转弯,体现输出功能;C选项正确,车辆传感器、5G传输、服务器运行都依赖电力与网络环境;D选项正确,优化调度算法缩短派单等待时间,提升系统运行效率。因此,本题选择A选项。 6.本题考查网络通信相关知识。A选项正确,所有设备间网络通信都必须遵守统一网络协议才能正常交互;B选项错误,手机也可连接Wi-Fi无线网络完成预约用车,并非只能依靠移动通信网络;C选项错误,5G无线信号、基站等都属于无形传输介质,数据传输离不开传输介质;D选项错误,车辆上传数据、服务器下发调度指令,二者通信为双向传输。因此,本题选择A选项。 7. 某礼物兑换码编码方式如下:兑换码由1位类别标识和2位序号标识组成,标识可使用数字和大写英文字母。下列礼物规模中,可采用上述编码方式的是( ) A. 10种类别,每种2000份 B. 20种类别,每种1000份 C. 30种类别,每种1600份 D. 40种类别,每种500份 【答案】B 【解析】 【详解】本题考查编码容量计算。兑换码由1位类别标识和2位序号标识组成,每位可使用数字0-9和大写字母A-Z共36种字符。因此类别标识最多36种,序号标识最多36^2=1296种,即每种类别最多1296份。选项B:20种类别≤36,每种1000份≤1296,符合要求;其他选项要么类别超过36,要么每份超过1296,均不可行。因此,本题选择B选项。 8. 某完全二叉树的前序遍历为ECADB,删除其中一个叶子节点,则新二叉树的中序遍历结果不可能是( ) A. ACDE B. ACEB C. CBEA D. CDEB 【答案】C 【解析】 【详解】本题考查完全二叉树的性质与二叉树的前序、中序遍历。首先根据给定前序遍历ECADB还原原完全二叉树:根节点为E,E的左孩子为C,右孩子为B,C的左孩子为A,右孩子为D,原树的叶子节点为A、D、B,分别删除不同叶子推导中序结果:删除叶子A,可得到中序CDEB;删除叶子D,可得到中序ACEB;删除叶子B,可得到中序ACDE;无法得到CBEA,因此该结果不可能出现。故答案为:C。 9. 栈初始为空,经过一系列入栈、出栈操作后,栈又为空。若元素入栈的顺序为“琴”“棋”“书”“画”,其中“书”第一个出栈,则下列说法正确的是( ) A. “画”一定在“棋”之后出栈 B. “琴”一定在“棋”之后出栈 C. “棋”可以最后一个出栈 D. “琴”可以第二个出栈 【答案】B 【解析】 【详解】本题考查栈的操作与出栈序列。入栈顺序固定为“琴”“棋”“书”“画”,且“书”第一个出栈,则必须先入栈“琴”“棋”“书”后出栈“书”,此时栈中剩“琴”“棋”(底到顶)。之后“画”可入栈,后续出栈顺序只能是“棋”“画”“琴”或“画”“棋”“琴”之一,即完整序列为“书棋画琴”或“书画棋琴”。分析选项:A中“画”不一定在“棋”之后(第二种情况画先出);B中“琴”一定在“棋”之后出栈,两种序列均满足;C中“棋”不可能最后一个,因为“琴”最后;D中“琴”不可能第二个。因此,本题选择B选项。 10. 有如下Python程序段: i, res = 0, "" while i < len(s): if "g" <= s[i] <= "j": res += chr(ord(s[i])+1) i += 2 else: res += s[i] i += 3 若s为"technology",执行该程序段后,res的值为( ) A. "tioh" B. "tcnlh" C. "uhpg" D. "udomg" 【答案】A 【解析】 【详解】本题考查Python程序中循环与分支结构的执行逻辑分析。首先s为"technology",初始i=0,res为空字符串,逐步执行程序: i=0时,s[0]为't',不满足"g"<=s[i]<="j",res拼接得到"t",i增加3变为3; i=3时,s[3]为'h',满足条件,拼接'h'移位后的字符'i',res变为"ti",i增加2变为5; i=5时,s[5]为'o',不满足条件,拼接'o'后res变为"tio",i增加3变为8; i=8时,s[8]为'g',满足条件,拼接'g'移位后的字符'h',res变为"tioh", i增加2变为10,退出循环,最终res为"tioh",对应第一个选项。故答案为:A。 11. 有如下Python程序段: #获取d的初始值,代码略 n = len(d) for i in range(n//2): f = 1 for j in range( (1) ): if (2) : d[j], d[j+2] = d[j+2], d[j] f =- f 执行该程序段后,数组d中所有偶数索引(0,2,4,…)上的元素按升序排列,所有奇数索引(1,3,5,…)上的元素按降序排列,则(1)(2)处填入的正确代码顺序应为( ) ①n-(i+1)*2 ②n-i*2 ③f*d[j] > f*d[j+2] ④f*d[j] < f*d[j+2] A. ①③ B. ①④ C. ②③ D. ②④ 【答案】A 【解析】 【详解】本题考查Python程序中冒泡排序变形的逻辑分析能力。该程序对数组偶数索引升序排序、奇数索引降序排序,采用类似冒泡排序的思路。首先分析(1)处,每次比较j和j+2位置的同奇偶元素,每一轮排序后会有i个符合要求的元素放在数组末尾,不需要再参与比较,因此j的遍历范围终点应为n-(i+1)*2,故(1)选①;再分析(2)处,f初始为1,每次交换后符号翻转,偶数索引位置f为1,要求升序,当d[j]大于d[j+2]时交换,等价于f*d[j] > f*d[j+2];奇数索引位置f为-1,要求降序,当d[j]小于d[j+2]时交换,不等式两边乘-1后也满足f*d[j] > f*d[j+2],因此(2)选③,正确顺序为①③,对应第一个选项。故答案为:A。 12. 定义如下函数: def judge(a): i = j = 0 t = 1 f = [-1] * 100 while j < len(a): k = a[j] if f[k] >= i: t = max(t, j - i) # max(a, b)返回a和b中的较大值 i = f[k]+1 f[k] = j j += 1 t = max(t, j - i) if t >= len(a)//2: return True return False 如果调用函数后返回的结果为True,则a的值可能为( ) A. [6, 1, 9, 6, 6, 9, 2, 9] B. [7, 7, 5, 3, 2, 2, 7, 3] C. [2, 6, 6, 2, 8, 8, 2, 4] D. [5, 2, 4, 2, 7, 2, 2, 3] 【答案】B 【解析】 【详解】本题考查Python代码的逻辑分析与阅读理解能力。首先梳理函数逻辑:该函数的功能是计算数组a中最长无重复元素子串的长度t,再判断t是否大于等于数组长度的一半,若是返回True,否则返回False。本题四个选项的输入数组长度都是8,因此len(a)//2=4,只要最长无重复子串长度t≥4就会返回True。逐一验证各选项:选项A最长无重复子串长度为3,小于4,返回False;选项B遍历计算后得到最长无重复子串长度为4,满足t≥4的条件,返回True;选项C最长无重复子串长度为3,小于4,返回False;选项D最长无重复子串长度为3,小于4,返回False。故答案为:B。 二、综合题(本大题共3题,其中第13题7分,第14题10分,第15题9分,共26分) 13. 某校将学生12月消费数据导出到文件data.xlsx中,并对其进行分析以引导理性消费,部分数据如图a所示。 现要分析当月学生在食堂的消费情况,计算出学生当月在食堂的日均消费额,并统计出该月消费天数满20天的学生中,日均消费额最高的前5名学生(名次的计算方法是:若有m人消费额高于该学生,则该学生的名次为m+1),绘制如图b所示的条形图。实现上述功能的部分Python程序如下: import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel(" data.xlsx") df = ① df2 = ② df3 = df.groupby("学号")["日期"].nunique() # 计算出每个学生当月的消费天数 # df3为Series结构,其中索引为学号,值为天数 df4 = pd.DataFrame({"学号":df2.index,"总消费额":df2.values,"消费天数":df3.values,"日均消费":0}) # 构建一个DataFrame对象 df4.日均消费 = df4.总消费额/df4.消费天数 df4 = df4[df4.消费天数 >= 20] #筛选 df5 = ③ plt.barh(x,y) #绘制条形图 #设置绘图参数,代码略 (1)程序中①②③处可选的代码有:______ _______ _______ A. df[df.地点 == "食堂"] B. df[df.地点 != "食堂"] C. df4. sort_values("日均消费", ascending = False) #降序排序 D. df4. sort_values("总消费额", ascending = False) E. df.groupby("学号")["消费金额"]. sum() #分类统计 F. df.groupby("日期")["消费金额"]. sum() 请选择合适的代码填入划线处(单选)。 (2)小华发现运行第(1)小题代码时,若第5位学生之后有日均消费额与第5位相同的学生,程序也只输出前5人。现要解决这个问题,可将方框处的代码修改为以下代码,请在划线处填入合适的代码。 data = df5. values.tolist() #将df5存储的数据转换为列表data #值如[['A23001',483.0,25,19.32],…] x,y = [],[] i = 0 k = 1 while k < 5 and i < len(data): x. append(data[i][0]) # x追加一个元素 y. append(data[i][3]) ①___ if i < len(data) and data[i][3] != data[i-1][3]: ②___ 【答案】(1) ①. A ②. E ③. C (2) ①. i+=1 ②. k =i 【解析】 【详解】本题考查Python基于pandas的数据分析与程序逻辑设计。 (1)题目要求分析学生在食堂的消费情况,第一步需要筛选出所有地点为食堂的消费记录,因此①处选A;接下来需要按学号统计每个学生的总消费金额,用于后续计算日均消费,因此按学号分组对消费金额求和,②处选E;筛选出消费天数满20天的学生后,需要按照日均消费降序排序,才能选出日均消费最高的学生,因此③处选C。 (2)data已经按日均消费降序排列,需要选出所有名次不超过5的学生,循环中已经将当前索引i的学生信息加入结果,接下来需要将索引i自增,准备处理下一个学生,因此①处填i+=1;如果当前待处理学生的日均消费和前一名学生不同,说明名次更新,符合循环的判断逻辑,因此将k更新为当前索引i,②处填k = i。 14. 某高校开发了校园雨伞共享系统,在教学楼、食堂等场所设置了伞架,每个伞架上有多个伞位。借伞时,用户通过手机App扫描伞架上二维码,服务器验证用户信息后向智能终端发送借伞指令并存储借出数据,智能终端控制伞位电机转动,解锁雨伞。还伞时,用户将雨伞插入空闲伞位,伞位内的RFID读写器读取雨伞上电子标签中的信息,智能终端将归还数据上传至服务器,服务器发送指令使智能终端控制伞位电机转动,锁定雨伞。用户可通过App查看自己的借还信息。请回答下列问题: (1)该系统中,属于执行器的是________(单选:A.伞位电机/B.电子标签) (2)下列关于该系统可能出现的故障现象,说法正确的有________(多选)。 A.若RFID读写器故障,则无法采集到完整的归还数据 B.若伞位电机发生故障,则其连接的智能终端无法接收服务器指令 C.若服务器断网,则用户无法成功借伞 D.若智能终端断网,则用户无法查询到自己的历史借还信息 (3)数据表中存储的雨伞借还数据包含7个字段,如图所示,展示了“归还”和“借出”两种状态的示例数据各一条。 用户编号 雨伞编号 借出伞位编号 借出时间 归还伞位编号 归还时间 状态 10011 U001 A10 20260407 14:00 D21 20260407 14:50 归还 90232 U123 B08 20260407 14:20 借出 若将雨伞(编号为“U123”)归还到伞位(编号为“C03”),提交数据到Web服务器的URL为http://192.168.10.8:8080/return?sid=C03&umbid=U123,服务器中的部分Python程序如下,请在划线处填入合适的代码: @app.route("①___") def return_umb(): ’’’从URL中获取伞位编号和雨伞编号,分别存入sid和umbid; 读取数据表中状态为“借出”的所有记录存入records列表,每个元素为包含7个数据项(如图所示)的列表,并按照雨伞编号升序排列,代码略’’’ flag = False i, j = 0, len(records) - 1 while i <= j and not flag: m = (i + j) // 2 if records[m][1] == umbid: flag = True elif②___: i = m + 1 else: j = m - 1 if flag: #数据表中更新雨伞归还数据,代码略 return "归还成功!" else: return "归还失败:未找到该雨伞的借出记录!" (4)执行函数return_umb()时,若“借出”状态的雨伞编号为U001、U002、U003、U004、U005、U006、U007、U008,且循环结束时j的值等于i+1,则归还的雨伞编号为________。 (5)为避免损坏的雨伞在归还后被其他用户继续借用,写出一种解决该问题的合理方案。 【答案】(1)A (2)AC (3) ①. /return ②. records[m][1] < umbid (4)U007 (5)参考答案1:在手机App端增加故障上报功能,用户还伞后完成故障上报,修改服务器程序,对于报修的雨伞在未维修前设置暂停借出 参考答案2:可在伞架上增设故障上报按钮,用户归还损坏雨伞后,通过按压该按钮即可完成故障上报,修改服务器程序,对于报修的雨伞在未维修前设置暂停借出 或其他合理答案 【解析】 【小问1详解】 本题考查物联网系统中执行器的概念与判断。执行器是接收控制信号完成控制操作的部件,本系统中伞位电机根据指令完成转动解锁锁定雨伞,属于执行器;电子标签是用来存储标识雨伞信息的载体,不属于执行器。故答案为:A。 【小问2详解】 本题考查物联网系统的故障分析。A选项,归还数据需要RFID读写器读取雨伞电子标签信息,若RFID读写器故障,确实无法采集到完整的归还数据,A说法正确;B选项,伞位电机是执行部件,电机故障只会导致无法执行指令,不会影响智能终端接收服务器指令,B说法错误;C选项,借伞过程需要服务器验证用户信息、存储借出数据、下发指令,若服务器断网,整个流程无法完成,用户无法成功借伞,C说法正确;D选项,历史借还信息存储在服务器,智能终端断网不影响用户手机联网从服务器获取查询结果,用户仍可以查询历史借还信息,D说法错误。故答案为:AC。 【小问3详解】 本题考查Flask路由配置与二分查找算法逻辑。对于①处,Flask框架中@app.route装饰器的参数为访问该接口的路由路径,本题中归还接口的访问路径为/return,因此①处填/return;对于②处,records中的记录已经按照雨伞编号升序排列,二分查找时如果中间位置的雨伞编号小于目标编号umbid,说明目标在右半区间,需要将左边界i更新为m+1,符合后续代码逻辑,因此②处填records[m][1] < umbid。 【小问4详解】 本题考查二分查找算法的执行过程。共有8个按升序排列的借出雨伞编号,索引范围为0到7,结合二分查找的执行逻辑推导,当循环结束满足j = i+1时,目标归还雨伞编号为U007。故答案为:U007。 【小问5详解】 本题考查信息系统的优化方案设计,要求解决损坏雨伞归还后被继续借用的问题,合理即可。故答案为:在手机App端增加故障上报功能,用户还伞后完成故障上报,修改服务器程序,对于报修的雨伞在未维修前设置暂停借出(或在伞架上增设故障上报按钮,用户归还损坏雨伞后,通过按压该按钮即可完成故障上报,修改服务器程序,对于报修的雨伞在未维修前设置暂停借出,其他合理答案均可)。 15. 现要对长度为n的序列a进行加密,加密结果存入序列c中,处理过程如下: ①从a中的第1个元素开始计数(从1开始),每数到第k个(1<k<n),将该元素和a中的第1个元素,依次移动至c的末尾,然后从该元素的下一个元素重新开始计数,继续这一过程,直至遍历完a,完成一轮取数。重复以上操作,直到a中剩余元素个数小于k个。 ②若a中还有剩余元素,则逆序移动至c的尾部,结束加密过程。 如a为[1,2,3,4,5,6,7,8],k为3,加密处理过程如图所示,加密结果为[3,1,6,2,7,4,8,5]。 序列 初始值 第一轮取数 第二轮取数 剩余数 a [1,2,3,4,5,6,7,8] [4,5,7,8] [5,8] [] c [] [3,1,6,2] [3,1,6,2,7,4] [3,1,6,2,7,4,8,5] (1)若a为[1,2,3,4],k为3,按上述加密处理后,加密结果为________。 (2)定义如下函数cal(n,k),返回序列长度为n、计数为k时,取数的总轮数。 def cal(n, k): if n < k: return 0 return cal(n - n // k * 2, k) + 1 ①若n为12,k为4,执行语句t= cal(n, k)后,变量t的值为________。 ②对于任意的n和k,程序段________(单选)执行后,变量t的值与调用函数cal(n,k)的返回值相同。 A. t = 0 while n >= k: t += 1 n = n - n // k * 2 B. t = 1 while n > k: n = n - n // k * 2 t += 1 (3)实现加密功能的Python程序如下,请在划线处填入合适的代码。 def convert(data, head, k, t): ①___ qcpre =- 1 for i in range(t): num = 0 qa = qc while qa !=- 1: num += 1 if②___: qapre = qa qa = data[qa][1] else: data[qapre][1] = data[qa][1] data[qa][1] = qc if qc == head: head = qa else: ③___ qcpre = qc qc = data[qc][1] qa = data[qapre][1] num = 0 if qc != - 1: #将链表data中qc及其之后的节点逆序,代码略 return head ’’’读取待加密序列a存入data列表,并按原序列顺序建立链表,data模拟链表结构,data[i]包含两个元素,data[i][0]为数据区域,data[i][1]为指针区域,head为链表头指针;读取序列长度存入n;设置k,代码略’’’ t = cal(n, k) head = convert(data, head, k, t) #输出链表data中的加密结果,代码略 【答案】(1)[3,1,4,2] (2) ①. 3 ②. A (3) ①. qc = head ②. num < k ③. data[qcpre][1] = qa 【解析】 【详解】本题主要考查基于链表的约瑟夫环变种加密算法,涉及递归计算轮数、链表操作及程序填空。 解析如下: (1)若 a=[1,2,3,4],k=3,模拟加密过程:初始链表为 1 → 2 → 3 → 4,头指针指向 1。 第一轮(因为 n = 4 ≥ k = 3,执行取数):从第 1 个元素开始计数,数到第 3 个元素为 3,将 3 和当前第 1 个元素 1 依次移到结果尾部,得到 [3,1]。移动后,链表变为 2 → 4(原链表中 3 和 1 被取出,剩余元素按原顺序连接)。此时计数从被取出的那个元素的下一个元素(即 4)重新开始,但剩余元素个数为 2,小于 k = 3,所以本轮结束。剩余元素为 [2,4],按规则“逆序移动至 c 的尾部”,即先 4 后 2,添加到结果尾部得到 [3,1,4,2]。 因此加密结果为 [3,1,4,2]。 (2)函数 cal(n,k) 通过递归计算取数总轮数。每轮会移走 n/k⋅2 个元素(因为每次取两个元素:数到的第 k 个和当前第 1 个),然后剩余 n-n/k⋅2 个元素继续下一轮。递归终止条件是 n<k。当 n=12,k=4 时:第一轮:12/4*2=6,剩余 12 - 6 = 6,轮数 + 1; 第二轮:6/4*2=2,剩余 6 - 2 = 4,轮数 + 1;第三轮:4/4*2=2,剩余 4 - 2 = 2,轮数 + 1;第四轮:2<4,返回 0,不再增加轮数。 总轮数 = 3,因此 t=3。 对于循环模拟,选项 A 初始 t=0,当 n≥k 时执行循环体:t+=1,n=n-n/k⋅2,与递归逻辑完全一致。选项 B 初始 t=1,会导致轮数多算 1,且条件 n>k 会导致当 n==k 时少算一轮,因此错误。正确选项为 A。 (3)程序填空部分,convert(data,head,k,t) 函数执行 t 轮取数操作,使用链表结构(每个节点包含数据 data[i][0] 和指针 data[i][1]),每轮从头开始遍历链表,数到第 k 个节点 qa 时,将 qa 和当前头节点 qc(即本轮起始节点)依次移到链表尾部。①处需要初始化每轮开始时的当前节点指针 qc,因为每轮都从链表头开始,所以应填 qc=head。②处是内层循环用于计数,从 1 数到 k,因此当 num < k 时继续遍历;当num==k时找到目标节点,执行移动操作。所以应填 num < k。③处是在移动节点 qa 到链表尾部时,如果 qc 不是头节点(即 qc≠head),则需要将 qa 链接到上一轮尾部节点 qcpre 之后,即将 qa 插入到 qcpre 后面,因此应填 data[qcpre][1]=qa。 第1页/共1页 学科网(北京)股份有限公司 $

资源预览图

精品解析:浙江杭州市2025-2026学年第二学期高二年级期末教学质量检测 技术试题-高中信息技术
1
精品解析:浙江杭州市2025-2026学年第二学期高二年级期末教学质量检测 技术试题-高中信息技术
2
精品解析:浙江杭州市2025-2026学年第二学期高二年级期末教学质量检测 技术试题-高中信息技术
3
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。