精品解析:浙江台州市2025-2026学年高二上学期期末质量评估技术试题-高中信息技术

标签:
精品解析文字版答案
2026-03-02
| 2份
| 23页
| 95人阅读
| 0人下载

资源信息

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

内容正文:

台州市2025学年第一学期高二年级期末质量评估试题 技术 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。下列关于数据与信息,说法正确的是( ) A. 平台中数据的表现形式只有文字 B. 历史车辆的相关信息没有任何价值 C. 平台中所有数据均通过人工录入的方式获取 D. 通过对平台信息进行处理,可以优化车位配置 2. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。为了保护平台数据的安全,下列做法不合理的是( ) A. 建立异地容灾备份平台系统 B. 对客户注册信息进行加密处理 C. 使用公共免费Wi-Fi处理后台数据 D. 定期对平台运维人员进行数据安全意识培训 3. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。智能摄像头识别车牌信息是基于神经网络方法实现的,下列说法不合理的是( ) A. 车牌识别属于人工智能技术的应用 B. 训练车牌识别模型通常需要给定车牌的标注数据 C. 进行车牌识别时仍离不开原始训练数据 D. 车牌识别准确率会受到环境光照、车辆角度等因素的影响 4. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。停车场有4个停车区域(A~D区),其中A~C每个区域有停车位64个,D区有停车位8个。若使用二进制对停车位进行编码,二进制的前几位表示区域,其余位表示车位信息,则所需二进制的位数最少是( ) A. 6 B. 8 C. 9 D. 11 5. 某高铁站网约车信息平台服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。下列关于网约车信息平台中的数据及应用,说法正确的是( ) A. 平台每日产生上亿条数据,价值密度非常高 B. 平台收集的车辆轨迹数据不属于个人隐私,可随意共享 C. 使用流计算处理车位数据,可以为网约车司机实时推荐停车位 D. 分析高铁站网约车客流规律,可仅选取周末数据以提高效率 6. 下列Python表达式中,值为True的是( ) A. "9" > "20" B. '1' in [1,2,3] C. len(["Taizhou",15]) == 8 D. 2026//10%10 != 2 7. 某研究小组基于词典的分词方法完成文本数据处理,处理后生成的标签云图片如图所示,下列说法不正确的是( ) A. 文本可视化能帮助人们快速获取文本中的关键信息 B. 文本分词处理的本质是将结构化数据转变成非结构化数据 C. 文本中未收录于系统词典的词语将无法被正确分词 D. 标签云中显示的“好吃”、“性价比”是该文本的重点词汇 8. 某产品序列号为“59131738”,质检时需要依次提取索引值为6、4、2、0的字符用于计算检验码,则下列能正确提取以上字符的表达式是( ) A. s[6::-2] B. s[6:0:-2] C. s[0::-2] D. s[-2:0:-2] 9. 已知一个栈的进栈序列是‘甲’,‘乙’,‘丙’,‘丁’,‘戊’,其出栈序列为p1,p2,p3,p4,p5。若p2为‘丙’,则p1不可能为( ) A. ‘甲’ B. ‘乙’ C. ‘丁’ D. ‘戊’ 10. 有如下Python程序段: from random import randint x= randint(0,6)*5+10 y=0;s=" while x > 0: y=x%4 s= str(y)+s x=x∥4 执行该程序段后,变量s的值可能是( ) A. '20' B. '30' C. '100' D. '110' 11. 对于任意数值n,甲、乙程序段输出结果相同。 arr=[0]*(n+1) arr[0],arr[1]=1,2 for i in range(2,n+1): arr[i]=3* arr[i-1]-arr[i-2]+2 print(arr[n]) prev1prev2=1,2 for i in range(2,n+1): print(cur) 甲程序段 乙程序段 请给乙程序段加框处选择正确的代码( ) A.cur=3*prev2-prev1+2 prev1= prev2;prev2= cur B.cur=3*prev2-prevl+2 prev1= cur;prev2= prev1 C.cur=3*prev1-prev2+2 prev2= prev1;prev1= cur D.cur=3*prev1-prev2+2 prev2= cur; prev1= cur A. A B. B C. C D. D 12. 执行如下Python程序段,输出的最后一行是 c=[1,2,3,4,5,6,7,8]; nxt=[1,7,4,5,-1,6,2,3] p= head=0; q= nxt[p] while q != -l: print(c[p],c[q]) p= nxt[p] if nxt[q] != -1: q= nxt[nxt[q]] else: q=-1 A. 12 B. 24 C. 45 D. 87 二、非选择题(本大题共3题,其中第13题9分,第14题8分,第15题9分,共26分) 13. 某共享单车公司提供两种租赁模式:会员用户免费骑行,非会员用户按时计费。计费规则如图a所示,其中变量mm(单位:分钟)表示骑行时长,变量ans(单位:元)表示该骑行时长对应的费用。请回答下列问题。 (1)若公司某天部分骑行记录如图b所示,每条开始骑行的记录都有一条与之对应的结束骑行记录,且数据已经按时间顺序排列,骑行状态0表示开始、1表示结束,用户类型0表示会员、1表示非会员,则该部分的计费骑行收入为____。 (2)下列Python程序段中,符合图a所示计费规则的有____(多选,填字母)。 A.if mm<30: ans=2 else: h=mm//60 sur=mm%60 ans=h*4 if sur>=30: ans+=4 B.h=mm//60 sur=mm%60 if mm<30: ans=2 elif sur<30: ans=h*4 else: ans=(h+1)*4 C.h=mm//60 sur=mm%60 if mm<30: ans=2 if sur<30: ans=h*4 else: ans=(h+1)*4 D.h=mm//60 sur=mm%60 ans=2 if sur<30 and h>0: ans=h*4 elif h>0: ans=(h+1)*4 (3)实现计算该公司当天计费骑行收入的Python程序如下,请在划线处填入合适的代码。 def compute(sttime,edtime): #sttime表示开始时间,edtime表示结束时间 st= int(sttime[:2])*60+ int(sttime[3:]) ed = int(editime[:2])*60+ int(edtime[3:]) mm= ed-st #根据骑行时长mm计算并返回计费结果,代码略 # 读入某天骑行数据存入data数组,如data[0]为['08:00','user01031',0,1],代码略。 st=[] ed=[] for x in data: if x[3] == 1 and x[2] == 0: st.append(x) #为st追加一个元素x elif ①____: ed.append(x) for i in range(len(ed)): ed[i].append(False) ②____ for y in st: for i in range(len(ed)): if ed[i][4] == False and ed[i][1] == y[1]: total += compute(③____) ed[i][4]=True break print("当天计费骑行总收入:"+ str(total)+ "元") 14. 小王和小李各收集了100封邮件,对每封邮件的链接数量与垃圾词数量进行统计,并根据邮件内容标注其类别是否为垃圾邮件,现将两人统计后的数据进行合并,如图a所示。 邮件编号 链接数量 垃圾词数量 类别 1 1 3 否 2 4 8 是 3 0 2 否 4 2 5 是 … … … … 198 0 1 0 199 4 7 1 200 1 3 0 图a 图b 编写Python程序,请回答下列问题。 (1)观察图a,“类别”列可见数据中存在的主要问题是____(单选,填字母:A.数据缺失 /B.逻辑错误 /C.格式不一致)。 (2)对图a数据进行整理后,以链接数量x轴、垃圾词数量为y轴绘制散点图,并在散点图中分别用●表示垃圾邮件、▲表示正常邮件,如图b所示。部分代码如下: def spam_data(dfx,col,cond): #返回dfx中col列中的值等于cond的记录 dfr= return dfr df= pd.read excel("邮件数据集.xlsx") dfh= spam data(df,"类别","否") #筛选正常邮件的记录 dfs= spam data(df,"类别","是") #根据dfh和dfs数据绘制图b所示散点图,代码略 划线处应填入的代码为____(单选,填字母)。 A.dfx[dfx[col]==cond] B.dfx[dfx['col']==cond] C.dfx[dfx.col==cond] D.dfx[dfx.col=='cond'] (3)现有一封邮件,其链接数量为x0,垃圾词数量为y0。将其置于坐标系中,计算该邮件与图b中每个样本之间的直线距离,选取距离最近的k个样本,统计这k个样本中出现次数最多的类别,作为该邮件的类别。部分Python程序如下,请选择合适的代码填入划线处(填字母)。 k=9 df['距离']=((x0-df['链接数量'])**2+(y0-df['垃圾词数量'])**2)**0.5 #计算直线距离 df1= ①____ df1=df1.head(k) df2= ②____ df2= ③____ if df2.at[df2.index[0],"类别"]=='否": print("当前邮件为正常邮件!") else: print("当前邮件为垃圾邮件!") ①②③处可选代码有: A.df1.groupby("类别",as_index=False).垃圾词数量.count() B.df2.sort _ values("垃圾词数量",ascending=True) C.df.sort _ values("距离",ascending=True) D.df1.groupby("类别",as_index=False).垃圾词数量.mean() E.df.sort _ values("距离",ascending=False) F.df2.sort _ values("垃圾词数量",ascending=False) (4)若上题中变量k取不同的值,同一封邮件的判断结果是否会发生变化?请说明理由。____ 15. 某地理研究小组开发了一套“标准化气象模式匹配系统”,该系统用于分析当前气象与历史气象的变化趋势。为了便于存储,系统将历史气象数据标准化处理,方法如下:对于序列中的每个数据,计算其在该序列所有不同数据中的排名。例如:某温度的观测数据序列[10,18,15,18,10],不同值为[10,18,15],对应的排名为[1,3,2],标准化处理后的序列为[1,3,2,3,1]。 请回答下列问题: (1)若历史观测数据序列为[15,8,8,15,20,15,8],则其标准化处理后的序列为____。 (2)定义如下函数,其功能是对序列arr进行标准化处理,请在划线处填入合适的代码。 def norm(arr): i=0;n=len(arr) uniq=arr[:] while i < n: r=i+1 for j in range(i+1,n): if unique[i] != unique[j]: ①____ r+=1 n=r;i+=1 unique=unique[:n] n=len(unique) rk={} for i in unique: rk[i]=1 for i in range(n-1): for j in range(i+1,n): if ②____: rk[uniq[j]]+=1 else: rk[uniq[i]]+=1 res=[] for x in arr: res.append(rk[x])#为res追加一个元素 return res (3)现有标准化处理后的历史气象数据序列A(长度为n)和当前气象数据序列B(长度为m,2≤m≤n),需要从序列A中找出所有长度为m的连续子序列,使这些子序列的升降趋势与B的升降趋势相同,并输出这些子序列的个数及其在序列A中的起始索引。实现升降趋势匹配功能的函数如下,请在划线处填入合适的代码。 def match(arrx,arrb): n=len(arrx) m=len(arrb) pos=[] for i in range(n-m+1): flag=True for j in range(1,m): x=arrx[i+j]-arrx[i+j-1] y=arrb[j]-arrb[j-1] if ①____: flag=False break if flag: pos.append(②____) print("当前气象数据B在历史气象数据A中出现了",len(pos),"次") if len(pos) > 0: print("出现起始索引分别为:",pos) 第1页/共1页 学科网(北京)股份有限公司 $ 台州市2025学年第一学期高二年级期末质量评估试题 技术 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。下列关于数据与信息,说法正确的是( ) A. 平台中数据的表现形式只有文字 B. 历史车辆的相关信息没有任何价值 C. 平台中所有数据均通过人工录入的方式获取 D. 通过对平台信息进行处理,可以优化车位配置 【答案】D 【解析】 【详解】本题考查数据与信息相关知识。A选项错误,平台中数据的表现形式有文字、图片、视频等多种形式,并非只有文字。B选项错误,历史车辆的相关信息可以用于分析和优化调度,具有较高价值。C选项错误,平台中的数据大多通过智能摄像头、传感器等自动采集获取,并非均通过人工录入。D选项正确,通过对平台信息进行处理分析,可以优化车位配置,提升调度效率。因此,本题选择D选项。 2. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。为了保护平台数据的安全,下列做法不合理的是( ) A. 建立异地容灾备份平台系统 B. 对客户注册信息进行加密处理 C. 使用公共免费Wi-Fi处理后台数据 D. 定期对平台运维人员进行数据安全意识培训 【答案】C 【解析】 【详解】本题考查信息安全与数据保护相关知识。A选项正确,建立异地容灾备份平台系统可以有效防止数据丢失,保障数据安全。B选项正确,对客户注册信息进行加密处理能够保护用户隐私,防止信息泄露。C选项错误,使用公共免费Wi-Fi处理后台数据容易导致数据被窃取、篡改,存在极大安全隐患,做法不合理。D选项正确,定期对平台运维人员进行数据安全意识培训有助于提升整体安全防护水平。因此,本题选择C选项。 3. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。智能摄像头识别车牌信息是基于神经网络方法实现的,下列说法不合理的是( ) A. 车牌识别属于人工智能技术的应用 B. 训练车牌识别模型通常需要给定车牌的标注数据 C. 进行车牌识别时仍离不开原始训练数据 D. 车牌识别准确率会受到环境光照、车辆角度等因素影响 【答案】C 【解析】 【详解】本题考查人工智能与神经网络相关知识。A选项正确,车牌识别是图像识别技术,属于人工智能技术的典型应用。B选项正确,训练神经网络模型通常需要大量带标注的车牌数据。C选项错误,模型训练完成后,识别时只需要使用训练好的模型,不需要原始训练数据。D选项正确,车牌识别准确率会受光照、角度、清晰度等环境因素影响。因此,本题选择C选项。 4. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。停车场有4个停车区域(A~D区),其中A~C每个区域有停车位64个,D区有停车位8个。若使用二进制对停车位进行编码,二进制的前几位表示区域,其余位表示车位信息,则所需二进制的位数最少是( ) A. 6 B. 8 C. 9 D. 11 【答案】B 【解析】 【详解】本题考查二进制编码相关知识。A选项错误,6位二进制最多表示64个状态,无法满足总车位数量需求。B选项正确,停车场总车位数量为64+64+64+8=200个,8位二进制最多可表示256个状态,能覆盖所有车位且位数最少。C选项错误,9位二进制能满足编码需求,但不是最少位数。D选项错误,11位二进制位数过多,不符合最少位数要求。因此,本题选择B选项。 5. 某高铁站网约车信息平台的服务流程如下:网约车驶入停车场时,智能摄像头识别车牌,并记录入场时间;车辆停入相应区域后,平台将车牌、车位编号等信息推送至客户的手机端。平台全程记录车辆的轨迹、视频等信息,用于后期优化车位配置、提升调度效率。下列关于网约车信息平台中的数据及应用,说法正确的是( ) A. 平台每日产生上亿条数据,价值密度非常高 B. 平台收集的车辆轨迹数据不属于个人隐私,可随意共享 C. 使用流计算处理车位数据,可以为网约车司机实时推荐停车位 D 分析高铁站网约车客流规律,可仅选取周末数据以提高效率 【答案】C 【解析】 【详解】本题考查大数据与信息安全相关知识。A选项错误,大数据的特点是价值密度低,平台每日上亿条数据价值密度并不高。B选项错误,车辆轨迹数据属于个人隐私相关信息,不可随意共享。C选项正确,流计算可以实时处理车位数据,能够为网约车司机实时推荐停车位。D选项错误,分析客流规律仅选取周末数据不具有代表性,会导致分析结果不准确。因此,本题选择C选项。 6. 下列Python表达式中,值为True的是( ) A. "9" > "20" B. '1' in [1,2,3] C. len(["Taizhou",15]) == 8 D. 2026//10%10 != 2 【答案】A 【解析】 【详解】本题考查Python字符串比较、成员运算、长度函数、算术运算相关知识。A选项正确,字符串比较是按位逐字符比较,"9"的ASCII码大于"2",因此"9">"20"结果为True。B选项错误,列表中是数字1,元素是字符串'1',类型不同不相等,结果为False。C选项错误,列表["Taizhou",15]只有2个元素,len结果为2,不等于8,结果为False。D选项错误,2026//10=202,202%10=2,2!=2结果为False。因此,本题选择A选项。 7. 某研究小组基于词典的分词方法完成文本数据处理,处理后生成的标签云图片如图所示,下列说法不正确的是( ) A. 文本可视化能帮助人们快速获取文本中的关键信息 B. 文本分词处理的本质是将结构化数据转变成非结构化数据 C. 文本中未收录于系统词典的词语将无法被正确分词 D. 标签云中显示的“好吃”、“性价比”是该文本的重点词汇 【答案】B 【解析】 【详解】本题考查文本数据处理与可视化相关知识。A选项正确,文本可视化如标签云能直观展示关键词,帮助快速获取关键信息。B选项错误,文本分词处理的本质是将非结构化数据转换为结构化数据,而非将结构化数据转变成非结构化数据。C选项正确,基于词典的分词方法依赖词典,未收录的词语通常无法被正确分词。D选项正确,标签云中字号较大的词语如“好吃”“性价比”是文本中的重点高频词汇。因此,本题选择B选项。 8. 某产品序列号为“59131738”,质检时需要依次提取索引值为6、4、2、0的字符用于计算检验码,则下列能正确提取以上字符的表达式是( ) A. s[6::-2] B. s[6:0:-2] C. s[0::-2] D. s[-2:0:-2] 【答案】A 【解析】 【详解】本题考查Python字符串切片相关知识。A选项正确,序列号“59131738”索引为0-7,s[6::-2]从索引6开始,步长-2向左取字符,依次取到索引6、4、2、0,符合提取要求。B选项错误,s[6:0:-2]结束位置为0不包含,只能取到索引6、4、2,缺少索引0。C选项错误,s[0::-2]从索引0向左切片,无法提取索引6、4、2字符。D选项错误,s[-2:0:-2]起始位置为索引6,但切片结果不包含索引0,不能完整提取所需字符。因此,本题选择A选项。 9. 已知一个栈的进栈序列是‘甲’,‘乙’,‘丙’,‘丁’,‘戊’,其出栈序列为p1,p2,p3,p4,p5。若p2为‘丙’,则p1不可能为( ) A. ‘甲’ B. ‘乙’ C. ‘丁’ D. ‘戊’ 【答案】D 【解析】 【详解】本题考查栈的出栈序列问题。若p1为戊,则戊为第一个出栈元素,必须在其进栈后立即出栈,此时戊之前进栈的甲、乙、丙、丁均未出栈且戊出栈后栈顶为丁,故第二个出栈不可能是丙。因此,本题选择D选项。 10. 有如下Python程序段: from random import randint x= randint(0,6)*5+10 y=0;s=" while x > 0: y=x%4 s= str(y)+s x=x∥4 执行该程序段后,变量s的值可能是( ) A. '20' B. '30' C. '100' D. '110' 【答案】D 【解析】 【详解】本题考查Python随机数、循环结构与进制转换的综合应用。首先x=randint(0,6)*5+10,计算可得x的取值为10、15、20、25、30、35、40,程序功能是将x不断除以4取余数,倒序拼接成字符串s。逐一计算各x对应s:x=10对应s='22',x=15对应s='33',x=20对应s='110',x=25对应s='21',x=30对应s='32',x=35对应s='33',x=40对应s='200',只有'110'在可能结果中。因此,本题选择D选项。 11. 对于任意数值n,甲、乙程序段输出结果相同。 arr=[0]*(n+1) arr[0]arr[1]=1,2 for i in range(2,n+1): arr[i]=3* arr[i-1]-arr[i-2]+2 print(arr[n]) prev1,prev2=1,2 for i in range(2,n+1): print(cur) 甲程序段 乙程序段 请给乙程序段加框处选择正确的代码( ) A.cur=3*prev2-prev1+2 prev1= prev2;prev2= cur B.cur=3*prev2-prevl+2 prev1= cur;prev2= prev1 C.cur=3*prev1-prev2+2 prev2= prev1;prev1= cur D.cur=3*prev1-prev2+2 prev2= cur; prev1= cur A. A B. B C. C D. D 【答案】A 【解析】 【详解】本题考查递推算法与变量迭代更新。甲程序中arr[i]=3arr[i-1]-arr[i-2]+2,对应乙中prev1表示arr[i-2],prev2表示arr[i-1],因此cur=3prev2-prev1+2,计算后要把prev1更新为原来的prev2,prev2更新为新的cur。因此,本题选择A选项。 12. 执行如下Python程序段,输出的最后一行是 c=[1,2,3,4,5,6,7,8]; nxt=[1,7,4,5,-1,6,2,3] p= head=0; q= nxt[p] while q != -l: print(c[p],c[q]) p= nxt[p] if nxt[q] != -1: q= nxt[nxt[q]] else: q=-1 A. 12 B. 24 C. 45 D. 87 【答案】C 【解析】 【详解】本题考查循环与链表模拟。初始数组c存储值,nxt存储链表后继索引。p=head=0,q=nxt[0]=1。循环条件q!=-1,依次输出:第一次p=0,q=1输出c[0],c[1]→1 2,更新p=nxt[0]=1,nxt[1]=7≠-1,q=nxt[7]=3;第二次p=1,q=3输出2 4,p=nxt[1]=7,nxt[3]=5≠-1,q=nxt[5]=6;第三次p=7,q=6输出8 7,p=nxt[7]=3,nxt[6]=2≠-1,q=nxt[2]=4;第四次p=3,q=4输出4 5,p=nxt[3]=5,nxt[4]=-1,q=-1,循环结束。因此最后一行输出4 5。因此,本题选择C选项。 二、非选择题(本大题共3题,其中第13题9分,第14题8分,第15题9分,共26分) 13. 某共享单车公司提供两种租赁模式:会员用户免费骑行,非会员用户按时计费。计费规则如图a所示,其中变量mm(单位:分钟)表示骑行时长,变量ans(单位:元)表示该骑行时长对应的费用。请回答下列问题。 (1)若公司某天的部分骑行记录如图b所示,每条开始骑行的记录都有一条与之对应的结束骑行记录,且数据已经按时间顺序排列,骑行状态0表示开始、1表示结束,用户类型0表示会员、1表示非会员,则该部分的计费骑行收入为____。 (2)下列Python程序段中,符合图a所示计费规则的有____(多选,填字母)。 A.if mm<30: ans=2 else: h=mm//60 sur=mm%60 ans=h*4 if sur>=30: ans+=4 B.h=mm//60 sur=mm%60 if mm<30: ans=2 elif sur<30: ans=h*4 else: ans=(h+1)*4 C.h=mm//60 sur=mm%60 if mm<30: ans=2 if sur<30: ans=h*4 else: ans=(h+1)*4 D.h=mm//60 sur=mm%60 ans=2 if sur<30 and h>0: ans=h*4 elif h>0: ans=(h+1)*4 (3)实现计算该公司当天计费骑行收入的Python程序如下,请在划线处填入合适的代码。 def compute(sttime,edtime): #sttime表示开始时间,edtime表示结束时间 st= int(sttime[:2])*60+ int(sttime[3:]) ed = int(editime[:2])*60+ int(edtime[3:]) mm= ed-st #根据骑行时长mm计算并返回计费结果,代码略 # 读入某天骑行数据存入data数组,如data[0]为['08:00','user01031',0,1],代码略。 st=[] ed=[] for x in data: if x[3] == 1 and x[2] == 0: st.append(x) #为st追加一个元素x elif ①____: ed.append(x) for i in range(len(ed)): ed[i].append(False) ②____ for y in st: for i in range(len(ed)): if ed[i][4] == False and ed[i][1] == y[1]: total += compute(③____) ed[i][4]=True break print("当天计费骑行总收入:"+ str(total)+ "元") 【答案】 ①. 10或10元 ②. AB ③. x[3]==1 and x[2]==1 ④. total=0 ⑤. y[0],ed[i][0] 【解析】 【详解】本题考查计费规则的逻辑实现、骑行记录配对与收入计算、Python代码补全等知识点。 (1)首先需要配对非会员(用户类型1)的开始和结束骑行记录,计算每段骑行时长并按规则计费: - user01031(非会员):08:00开始,08:25结束,时长25分钟,小于30分钟,费用2元; - user13453(非会员):09:30开始,11:50结束,时长140分钟,140//60=2小时,余数20分钟(小于30分钟),费用2×4=8元; - user08252是会员,不计费。 总收入为2+8=10元,因此该空答案为10。 (2)图a的计费规则为:骑行时长mm<30分钟,费用2元;mm≥30分钟时,按小时分段,不足30分钟的余数部分不计费,余数≥30分钟则多计1小时,每小时4元。A选项:mm<30时ans=2,否则先算h×4,余数≥30则加4,完全符合规则; B选项:先计算小时数h和余数sur,mm<30时ans=2,否则根据sur是否<30分别计算h×4或(h+1)×4,符合规则;C选项:mm<30时先设ans=2,但后续if sur<30会覆盖该值(如mm=25时ans被设为0),不符合规则;D选项:mm≥30但h=0(如30分钟)时,ans仍为2,而规则中30分钟应计费4元,不符合规则。 因此该空答案为AB。 (3)①处需要筛选非会员的结束骑行记录,结束状态是x[3]==1,用户类型是x[2]==1,因此填入x[3] == 1 and x[2] == 1;②处需要初始化总收入变量total为0,否则会出现未定义的错误,因此填入total = 0;③处需要将开始时间(y[0])和结束时间(ed[i][0])传入compute函数计算费用,因此填入y[0], ed[i][0]。 14. 小王和小李各收集了100封邮件,对每封邮件的链接数量与垃圾词数量进行统计,并根据邮件内容标注其类别是否为垃圾邮件,现将两人统计后的数据进行合并,如图a所示。 邮件编号 链接数量 垃圾词数量 类别 1 1 3 否 2 4 8 是 3 0 2 否 4 2 5 是 … … … … 198 0 1 0 199 4 7 1 200 1 3 0 图a 图b 编写Python程序,请回答下列问题。 (1)观察图a,“类别”列可见数据中存在主要问题是____(单选,填字母:A.数据缺失 /B.逻辑错误 /C.格式不一致)。 (2)对图a数据进行整理后,以链接数量为x轴、垃圾词数量为y轴绘制散点图,并在散点图中分别用●表示垃圾邮件、▲表示正常邮件,如图b所示。部分代码如下: def spam_data(dfx,col,cond): #返回dfx中col列中的值等于cond的记录 dfr= return dfr df= pd.read excel("邮件数据集.xlsx") dfh= spam data(df,"类别","否") #筛选正常邮件的记录 dfs= spam data(df,"类别","是") #根据dfh和dfs数据绘制图b所示散点图,代码略 划线处应填入的代码为____(单选,填字母)。 A.dfx[dfx[col]==cond] B.dfx[dfx['col']==cond] C.dfx[dfx.col==cond] D.dfx[dfx.col=='cond'] (3)现有一封邮件,其链接数量为x0,垃圾词数量为y0。将其置于坐标系中,计算该邮件与图b中每个样本之间直线距离,选取距离最近的k个样本,统计这k个样本中出现次数最多的类别,作为该邮件的类别。部分Python程序如下,请选择合适的代码填入划线处(填字母)。 k=9 df['距离']=((x0-df['链接数量'])**2+(y0-df['垃圾词数量'])**2)**0.5 #计算直线距离 df1= ①____ df1=df1.head(k) df2= ②____ df2= ③____ if df2.at[df2.index[0],"类别"]=='否": print("当前邮件为正常邮件!") else: print("当前邮件为垃圾邮件!") ①②③处可选代码有: A.df1.groupby("类别",as_index=False).垃圾词数量.count() B.df2.sort _ values("垃圾词数量",ascending=True) C.df.sort _ values("距离",ascending=True) D.df1.groupby("类别",as_index=False).垃圾词数量.mean() E.df.sort _ values("距离",ascending=False) F.df2.sort _ values("垃圾词数量",ascending=False) (4)若上题中变量k取不同的值,同一封邮件的判断结果是否会发生变化?请说明理由。____ 【答案】 ①. C ②. A ③. C ④. A ⑤. F ⑥. 是,因为改变选取的最近样本数量,参与计算的样本范围就会发生变化,从而导致其中一类样本数量超过另一类,改变最终的预测结果。或其他等价答案。 【解析】 【详解】本题考查数据预处理、pandas数据筛选、k近邻算法实现等知识点。 (1)观察图a,“类别”列前几行数据为“是”“否”这类字符串,后几行却出现了“0”“1”这类数字,数据的表现形式不统一,属于格式不一致的问题,而非数据缺失(无空值)或逻辑错误(无矛盾逻辑),因此该空答案为C。 (2)函数spam_data的作用是根据传入的列名col和条件cond筛选数据,在pandas中,通过变量引用列名时需使用dfx[col]的形式,dfx['col']会把col当作固定字符串列名,dfx.col仅适用于列名是固定字面量的情况,dfx.col=='cond'则是错误的将条件值写成字符串字面量,因此正确的筛选代码是dfx[dfx[col]==cond],答案为A。 (3)①处需要将所有样本按距离升序排序,才能选取最近的k个样本,对应代码是df.sort_values("距离",ascending=True),即C;②处需要对前k个样本按“类别”分组并统计每个类别的数量,groupby结合count()可以实现计数,对应代码是df1.groupby("类别",as_index=False).垃圾词数量.count(),即A;③处需要将分组后的结果按计数数量降序排序,这样出现次数最多的类别会排在首位,对应代码是df2.sort_values("垃圾词数量",ascending=False),即F。 (4)同一封邮件的判断结果可能会发生变化。因为k近邻算法是依据距离最近的k个样本的类别投票来确定待分类邮件的类别,当k值改变时,选取的近邻样本集合会发生变化,不同的样本集合中各类别出现的次数可能不同,最终投票得出的类别也就可能发生改变。 15. 某地理研究小组开发了一套“标准化气象模式匹配系统”,该系统用于分析当前气象与历史气象的变化趋势。为了便于存储,系统将历史气象数据标准化处理,方法如下:对于序列中的每个数据,计算其在该序列所有不同数据中的排名。例如:某温度的观测数据序列[10,18,15,18,10],不同值为[10,18,15],对应的排名为[1,3,2],标准化处理后的序列为[1,3,2,3,1]。 请回答下列问题: (1)若历史观测数据序列为[15,8,8,15,20,15,8],则其标准化处理后的序列为____。 (2)定义如下函数,其功能是对序列arr进行标准化处理,请在划线处填入合适的代码。 def norm(arr): i=0;n=len(arr) uniq=arr[:] while i < n: r=i+1 for j in range(i+1,n): if unique[i] != unique[j]: ①____ r+=1 n=r;i+=1 unique=unique[:n] n=len(unique) rk={} for i in unique: rk[i]=1 for i in range(n-1): for j in range(i+1,n): if ②____: rk[uniq[j]]+=1 else: rk[uniq[i]]+=1 res=[] for x in arr: res.append(rk[x])#为res追加一个元素 return res (3)现有标准化处理后的历史气象数据序列A(长度为n)和当前气象数据序列B(长度为m,2≤m≤n),需要从序列A中找出所有长度为m的连续子序列,使这些子序列的升降趋势与B的升降趋势相同,并输出这些子序列的个数及其在序列A中的起始索引。实现升降趋势匹配功能的函数如下,请在划线处填入合适的代码。 def match(arrx,arrb): n=len(arrx) m=len(arrb) pos=[] for i in range(n-m+1): flag=True for j in range(1,m): x=arrx[i+j]-arrx[i+j-1] y=arrb[j]-arrb[j-1] if ①____: flag=False break if flag: pos.append(②____) print("当前气象数据B在历史气象数据A中出现了",len(pos),"次") if len(pos) > 0: print("出现的起始索引分别为:",pos) 【答案】 ①. [2,1,1,2,3,2,1]或2,1,1,2,3,2,1 ②. uniq[r]= uniq[j] ③. uniq[i]< uniq[j] ④. x!=y and x*y<=0 或x!=y and((x>=0 and y<=0)or(x<=0 and y>=0)) 或x==0 and y!=0 or x!=0 and y==0 or x<0 and y>0 or x>0 and y<0 或x*y<0 or(x==0 and y!=0) or(y==0 and x!=0)或其他等价答案。 ⑤. i 或 str(i) 【解析】 【详解】本题考查Python列表去重、字典映射、双重循环遍历逻辑,以及序列升降趋势匹配的核心算法(相邻元素差值的符号判断),重点是实现气象数据的标准化排名和趋势匹配统计。 (1)首先提取序列[15,8,8,15,20,15,8]中的所有不同数据:8、15、20;参考示例的排名规则(数值越小排名越低,数值越大排名越高),8的排名为1,15的排名为2,20的排名为3;将原序列中每个数据替换为对应排名,得到标准化序列:15→2,8→1,8→1,15→2,20→3,15→2,8→1。因此该空答案为[2,1,1,2,3,2,1]。 (2)①处:该段代码的核心是对列表uniq进行去重,遍历过程中当发现uniq[j]与uniq[i]不同时,需要将这个不同的元素保留到uniq的r位置(作为去重后的有效元素),才能最终通过uniq[:n]得到去重后的唯一值列表,因此①处需填写uniq[r] = uniq[j]。②处:该部分是为唯一值建立排名字典,初始时每个值的排名为1,通过双重循环比较两个唯一值的大小,若uniq[j]大于uniq[i],说明uniq[j]的排名应更高,需将其排名加1;反之则给uniq[i]的排名加1,因此②处需填写uniq[j] > uniq[i](或等价的uniq[i] < uniq[j])。 (3)①处:趋势匹配的核心是判断相邻元素差值的符号是否一致,arrx子序列的相邻差值x与arrb的相邻差值y,若两者符号不同(如x正y负、x负y正)或一者为零另一者非零,则趋势不匹配,需将flag设为False,因此判断条件可填写x!=y and x*y<=0 或x!=y and((x>=0 and y<=0)or(x<=0 and y>=0)) 或x==0 and y!=0 or x!=0 and y==0 or x<0 and y>0 or x>0 and y<0 或x*y<0 or(x==0 and y!=0) or(y==0 and x!=0)或其他等价答案。②处:当flag为True时,说明从索引i开始的长度为m的子序列与arrb趋势匹配,需将该起始索引i添加到pos列表中,因此②处答案为i或 str(i)。 第1页/共1页 学科网(北京)股份有限公司 $

资源预览图

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