资源简介 浙里卷天下 2022~2023学年高三百校联考 3月测试技 术考生须知:本试题卷分两部分,第一部分信息技术,第二部分通用技术。满分 100 分,考试时间90 分钟。1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。2.选择题的答案须用 2B 铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用 2B 铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共 50 分)一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个选项中只有一个是符合题目要求的,不选、多选、错选均不得分)在被称为”死亡之组”的.组淘汰赛中,日本队凭借救回一颗似乎已经出界了的球,成功破门反超西班牙"把”四星德国”送回了家。该球用肉眼看确实已经到了界外。然而"通过 AI 裁判的最终数据显示,当时足球的投影与底线重合了 1.88 毫米,而根据规则,足球出界的定义是指球体正上方的垂直投影要完全越出底线,因此判定进球有效。1.下列关于数据、信息、知识说法不正确的是( )A.当人们孤立地看 1.88 时它仅仅是一数据B.从日本队破门反超西班牙推算出德国队淘汰这是知识的体现C.人们热衷于观看直播体验足球运动带来的不确定性这是信息时效性的体现D.球赛实时产生的大数据适合采用批处理计算方式处理【答案】D【解析】本题考查数据、信息、知识概念辨析。对于 D:球赛实时产生的大数据属于流数据,适合采用流处理。2.有关人工智能方面说法不.正.确.的是A.AI 裁判根据最终判罚结果来调整相应的学习方法,这一学习机制叫强化学习B.机器人 Kashef 错误地预测巴西队夺冠,原因是 AI 训练数据量不足C.AI 裁判需要大量的比赛视频数据进行训练属于联结主义人工智能D.AI 裁判与人类裁判共同完成判罚是混合人工智能的体现百校联考 技术试题卷 第 1 页 共 13 页【答案】B【解析】本题考查人工智能相关概念辨析。对于 B: 人工智能预测世界杯是一种数据分析的手段。人工智能预测则是基于以往众多数据,综合考虑如足联排名、球员身价、伤病情况、教练年龄、天气、裁判等多重因素,进行算法设计,再由机器进行理性计算得出的。例如不公平的裁判、天气、政治状况、球员的个人问题等外部因素,这些重要的特征通常很难被测量和收集。此外,还存在一些随机性因素,例如,乌龙球的出现或是重要性错误的发生,这是不容易预测的。这些数据不但会影响赛场发挥,也无法收集有效数据,反哺模型算法。故 B项不对。阅读下列材料﹐回答第 3—5 题。Talabat是中东地区最大的食品和杂货配送应用程序,世界杯期间球迷能够借助该 App在球场的座位上点餐,食物将直接派送到座位上,不会错过任何进球。3.根据阅读材料下列关于信息系统的说法正确的是( )A.该点餐 App 使用 B/S 模式开发B.球迷通过 App 点餐必须通过局域网传输数据C.Talabat 系统中的用户是指球迷和商家D.点餐 App 必须基于系统软件才能运行【答案】D【解析】本题考查信息系统概念辨析。对于 A:题目中提到了 APP,故该信息系统采用了 C/S开发模式对于 B: 球迷通过 App点餐也可以通过移动通信网络进行传输数据对于 C:Talabat系统中用户是指球迷、商家和维护人员,程序设计人员,数据库管理员等等。4.根据阅读材料下列关于信息与信息安全说法不.正.确.的是A.客户端发生损坏,服务器端的订单数据不受影响B.Talabat 运营商需定期备份服务器数据,并升级服务器端杀毒软件C.为了更加便捷地使用 App,用户应尽可能多地将手机权限开放给 TalabatD.人脸支付功能提供了高效便捷的支付体验,但存在个人隐私数据泄露的担忧【答案】C【解析】本题考查信息安全相关概念辨析。对于 D:一旦将手机权限开放给 Talabat,相当于失去了系统保护,手机容易出现异常或者受到攻击,手机安全性稳定性大大降低了。百校联考 技术试题卷 第 2 页 共 13 页5.Talabat 每天登陆后都会推出限时满减活动,指定商家满 50 减 15,满 80 减 25,满 110 减35 以此类推。假设某顾客会员订单 n(n≥50)元,其减免额度为 r,以下 Python 表达式正确的是( )A.r=15+(n-50)%30*10 B.r=(n+10)//30*10-5C.r=15+int((n-50)/30*10) D.r=10+(n-20)//30*15【答案】C【解析】本题考查信息安全相关概念辨析。根据题干关键词:满 50减 15,满 80减 25,满 110减 35,相当于门槛为 50元,优惠 15元,再往上每满 30再减 10元;对于 A:当 n=60时,r=115,故排除;对于 B:当 n=30时,r=5,故排除;对于 D:当 n=30时,r=10,故排除。6.某算法的部分流程图如图所示。执行这部分流程,若输入 n的值为 70,则输出 cnt 的值为( )A.3 B.4 C.5 D.6【答案】C【解析】本题考查流程图。列出表格n c d cnt开始 70 27 3 0第一轮 53 27 3 1第二轮 26 27 3 2第三轮 26 9 3 2第四轮 15 9 3 3第五轮 6 9 3 4第六轮 6 3 3 4第七轮 3 3 3 57.有二叉树用数组表示为:[“A”,”B”,”C”,None,”D”,”E”,”F”,None,None,None,”G”],则下列关于该二叉树的说法正确的是A.该二叉树度为 1 的节点有 2个 B.该二叉树一共有 3层C.该二叉树中的叶子节点有 4个 D.该二叉树的中序遍历序列是 B-G-D-A-E-C-F【答案】A【解析】本题考查二叉树的基本操作。百校联考 技术试题卷 第 3 页 共 13 页根据题干中的提示可以画出二叉树的示意图,由此我们可以分析出该二叉树度为 1 的节点有 2个,故 A 对;该二叉树一共有 4层,该二叉树中的叶子节点有 3 个,该二叉树的中序遍历序列是 B-D-G-A-E-C-F,故 BCD 不正确。8.以下是实现正整数序列 arr 升序排列的程序代码段,则画线部分代码正确的是arr=[7,4,2,13,6,5,3,6,17,1]for i in range(1,len(arr)):key=arr[i]j=iwhile ▲ :arr[j]=arr[j-1]j-=1▲①j>0 and key=0 and keyA.①③ B.①④ C.②③ D.②④【答案】A【解析】本题考查插入排序的算法实现。本题中插入排序的思路为将第 i个元素插入至已有序的范围[0,i],故而需要将 a[i]的元素和范围[0,i-1]的元素进进行比较,程序中 a[i]的值存入 key 中,[0,i-1]采用 j-1来进行枚举,所以 j 的取值最多只能取到 1,当 j的值为 0时,不要再执行循环,故而第1 空为 j>0 and keyarr[j]=key。9.有如下 Python 程序段:n=int(input())a=1;q=[0]*100;two=three=rear=0;q[0]=awhile rear!=n:if(2*q[two]+1>3*q[three]+1):rear+=1q[rear]=3*q[three]+1three+=1elif(2*q[two]+1<3*q[three]+1):百校联考 技术试题卷 第 4 页 共 13 页rear+=1q[rear]=2*q[two]+1two+=1else:rear+=1q[rear]=3*q[three]+1two+=1;three+=1运行上述程序段后,如果输入 10,则 q[n]的值是A.15 B.22 C.27 D.31【答案】B【解析】本题考查程序阅读能力。列出表格,故而答案选 C10.有如下 Python 程序段:def trans(m,n):if m!=0 or n!=0:r=(m%2+n%2)%2return trans(m//2,n//2)+str(r)else:return "0"a=int(input("a="));b=int(input("b="))print(trans(a,b))执行该程序段,依次输人 10 和 7,则输出的结果是A.10110 B.01011 C.01101 D.11010【答案】C【解析】本题考查递归与进制转换的算法实现。本题中将 a,b 传入自定义函数 trans 中给到 m与 n,递归结束的条件为 m==0and n==0,且百校联考 技术试题卷 第 5 页 共 13 页返回“0”;若未达到递归结束的条件,将 m 与 n 对 2 进行整除,继续进行递归。11.有如下程序段:import randoma=[0]*4;i=0while i<4:a[i]=int(random.random()*10+1)*2if i%2==1:a[i]=a[i]+a[i-1]elif a[i]%3==0:i-=1i+=1程序执行后,a数组中各元素的值可能的是A.2 4 6 8 B.4 6 2 20 C. 8 10 4 26 D. 10 16 28 40【答案】B【解析】本题考查程序的控制结构和逻辑判断能力。对于 a[i]=int(random.random()*10+1)*2 所生成的值为[2,20]的随机偶数,其中当 i 为奇数时,a[i]为 a[i]与 a[i-1]的和,其中选项 C、D 中 a[3]-a[2]的值都为 22,超过了 a[i]生成的范围,故 C、D 选项不正确;当 i 不为奇数时,若 a[i]%3==0,a[i]能被 3 整除时,重新生成 a[i],其中选项 A中 a[2]的值为 6,能被 3 整除,故而选项 A 不正常。12.有如下 Python 程序段:a=[5,14,3,12,6,7,3,9,20,1]l=min(a);r=max(a) #min 取列表最小值,max 取列表最大值maxi=3while l<=r:mid=(l+r)//2cnt=0for i in a:if midcnt+=1if cnt百校联考 技术试题卷 第 6 页 共 13 页r=mid-1else:l=mid+1上述程序段执行结束,下列说法正确的是:A.a 列表中第 3大的数 r B.cnt 的值为 2C.l 的值为 12 D.mid=(l+r)//2 代码执行 3次【答案】C【解析】本题考查对分查找的算法实现。本题中 mid 取出了 l 和 r 的中间值,通过第 6 行-第 9行的循环语句,找出了列表中比 mid值大的元素个数并用 cnt 进行记录,若 cntmaxi 个,执行 r=mid-1,向前缩减范围。当 cnt]=maxi,代表列表 a 比 mid 大的元素已经达到或超过 maxi 个,执行 l=mid+1,向后缩减范围。当 l>r 时,循环结束,此时的 r 值应为列表 a中第 maxi+1 大的元素,因为列表 a中比 r 大元素有 maxi 个。结束时 r 的值为 11,l 的值为 12,故而答案选 C。算法执行过程各变量的变化情况如下:二、非选择题(本大题共 3小题,第 13题 8分,第 14题 10分,第 15题 8分,共 26分。各小题的中“ ▲ ”处填写合适选项的字母编号)13.李明搭建的“教室空调控制系统”,实现通过信息系统控制教室空调电源通断,其中日气温高于 30℃或低于 10℃时接通空调电源,30℃与 10℃之间时切断空调电源,系统的连接方案如 13 题图 1 所示。(1)在设计“教室空调控制系统”的前期准备中,需要考虑系统使用的传感器类型,这一百校联考 技术试题卷 第 7 页 共 13 页过程属于 ▲ (单选,填字母:A.需求分析/B.可行性分析/C.开发模式选择)。需记录不同日期来自不同温度传感器的最高气温、最低气温值到数据库 sensorlog 表中,在不考虑设置主键的情况下,sensorlog 表至少需要设置 ▲ 个字段。(2)当温度值大于当日最高气温值或低于最低气温值时,智能终端向服务器提交温度数据,实现该功能的部分代码如下.Max_temp = 0; Min_temp = 100while True:#当进入新的一天 Max_temp 初始化为 0,Min_temp 初始化为 100,代码略temp = pin1.read_analog()if :#更新 Max_temp 或 Min_temp 值代码略errno,resp=Obloq.post("input","{\"id\":\"1\",\"val\":\""+str(temp)+"\"}",10000)if errno == 200:if resp == 1:pin6.write digital(1)else:pin6.write digital(0)else:display.scroll(str(errno))sleep(1000)①方框处代码为 ▲ (多选:填字母)A.Temp>Max_temp or temp>Min_tempB.Temp>Max_temp and temp>Min_tempC.not(temp<=Max_temp and temp>=Min_temp)D.not(temp>Max_temp and temp>Min_temp)②服务器的 IP 地址是 192.168.1.100,Web 服务的端口是 5000,智能终端向服务器提交数据的 URL 地址为 ▲ ,通过 ▲ (选填:POST 或 GET)请求将温度数据发送到 Web 服务器。(3)当温度低于10℃时,空调没有接通电源,出现该故障可能的原因是(写至少2个原因):▲ 。【答案】(1)A (1分)、4(1分)(2)①AC(2分) ②http://192.168.1.100:5000/input (1分) POST(1分)(3) 智能终端程序未能运行或程序出错智能终端联网失败;服务器端程序未运行或出错。…… (1点 1分,共 2分)【解析】本题信息系统相关概念,网络搭建及 flask相关知识。百校联考 技术试题卷 第 8 页 共 13 页(1)硬件方面,采用什么终端设备、具体的传感器型号,属于需求分析中的资源和环境需求,选 A;根据记录的要求,至少需要:“日期”、“传感器编号”、“最高气温”、“最低气温”4个字段(2)①要更新Max_temp或Min_temp 的值,此时的条件是:出现了更高或更低的温度。满足这一要求的语句是 AC;②根据 IP地址、端口号,以及相关语句:errno,resp=Obloq.post("input","{\"id\":\"1\",\"val\":\""+str(temp)+"\"}",10000)URL地址为:http://192.168.1.100:5000/input;发送数据的方式是 POST(3)智能终端程序未能运行或程序出错智能终端联网失败;服务器端程序未运行或出错;Web服务器故障数据库故障无线网络故障……理由合理即可(1点 1分,共 2分)14. 李明收集了梅西 2004 年至 2022 年俱乐部比赛数据,保存在“梅西俱乐部详细比赛数据.xlsx”文件中,部分数据如第 14 题图 a 所示,现在利用 pandas 模块处理数据。第 14 题图 a(1)梅西 2004 年 10 月-2021 年 7 月效力于巴塞罗那俱乐部,2021 年 8 月转会至巴黎圣日耳曼俱乐部,现在李明想知道梅西每个赛季的胜率,实现上述功能的 Python 程序如下,请在画线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel("梅西俱乐部详细比赛数据.xlsx")df['年']=pd.to_datetime(df["时间"]).dt.strftime('%Y').astype(int)df['月']=pd.to_datetime(df["时间"]).dt.strftime('%m').astype(int)df['胜负情况']=""for i in range(len(df)):f=True;z=0;k=0for c in df["比分"][i]:if ① :if f:z=z*10+int(c)百校联考 技术试题卷 第 9 页 共 13 页else:k=k*10+int(c)else:f=not fjlb="巴塞罗那"if df["年"][i]*100+df["月"][i]>=202108:②if (df["主队"][i]==jlb and z>k) or (df["客队"][i]==jlb and zdf['胜负情况'][i]="胜"elif z==k:df['胜负情况'][i]="平"else:df['胜负情况'][i]="负"g=df.groupby(df["年"],as_index=True).count()③g1=df1.groupby(df1["年"],as_index=True).count()g["胜率"]=g1["胜负情况"]/g["胜负情况"]*100(2)14 题 b 图为 2004-2022 梅西俱乐部比赛胜率统计图。第 14 题图 bplt.plot(g.index,g["胜率"],marker='∧')plt.title("2004-2022 梅西俱乐部比赛胜率统计")plt.show()方框处代码为 ▲ (多选:填字母)A. g["年"],g["胜率"] B. g["年"],g.胜率C. g.index,g["胜率"] D. g.index,g.胜率(3)通过第 14 题图 b 分析,我们可以判断 2021 年 8 月梅西宣布离开巴塞罗那俱乐部的因素是 ▲ 。【答案】(1) ① c!="-" (1分)② jlb="巴黎圣日耳曼" (2分)百校联考 技术试题卷 第 10 页 共 13 页③ df1=df[df['胜负情况']=="胜"](2分)(2)CD (2分)(3)2016年后巴塞罗那俱乐部成绩不佳胜率一直滑坡,让梅西看不到希望与未来。(2分)【解析】本题考查 Pandas数据处理的相关内容。(1)① 由图 a 可知,比分由分值、-、分值组成,因此当读到“-”时,意味着第一个分值已经读完了,接下来读第二个分值,此处用逻辑型变量 f来标记,True代表读第一个分值,False 代表读第二个分值,分别累加到变量 z和 k中。因此①处判断 c是否为“-”。② 由题干可知,梅西 2021年 8月转会至巴黎圣日耳曼俱乐部,因此在 for循环遍历过程中 jlb变量的值会从"巴塞罗那"变为"巴黎圣日耳曼"。因此②处填:jlb="巴黎圣日耳曼"。③ 由题,要统计梅西每个赛季的胜率,而代码中 g和 g1都在将数据按照“年”分组计数,因此 g 对应了每年的总比赛场次,g1 对应了每年的总胜利场次。从而通过 g1["胜负情况"]/g["胜负情况"]*100,计算出每个赛季的胜率。因此③处答案为筛选,从数据集 df中筛选出胜利的场次数据,即 df1=df[df['胜负情况']=="胜"]。(2) 根据代码中 groupby分组的参数 as_index=True可知,“年”这一列分组依据作为了行索引,因此访问行索引需要用 g.index。选取“胜率”数据列,可以采用点属性的方法也可以采用字典记法,因此答案 CD正确。(3)由图 b可以看出,从 2016年开始梅西的胜率一直在下滑,2020年跌到了最低。俱乐部成绩不佳是梅西转会的主要原因。15. 要向可容纳88966名观众的卢赛尔球场派送外卖是一项艰巨的任务,为了方便外卖派送,将球场观众席划分为A、B、C、D、E、F、G、H等8个区。派单平台可以根据各区域订单数量安排派送人员,以提高外卖派送效率(一个派送人员只安排一个区域),平台根据订单总量与空闲派送人员数量计算人均派单量,按平均派单数计算各区域所需派送人员。但按此方法分配派送人员,人员总数可能超过空闲派送人员数,则删除超额派送人数。删除规则如下:每个有订单的区域至少保留一个派送人员;每个区域最多减去一个派送人员,优先删除派单尾数最少的区域中的派送人员;如果派单尾数相同,则在分配到派送人员数最多的区域中去掉一个派单人员。例如:A~H区域的订单数量分别为[468,329,392,247,38,180,263,82],此时空闲派单人员数为30人,人均派单数为67,则各区域分配的派单人员数量分别为7、5、6、4、1、3、4、2,合计32个派送人员,需减掉2个超额派送人员,即从 D 区和 H 区派送人员中各减去1个。如下表所示:球场区域 A B C D E F G H 合计订单数量 468 329 392 247 38 180 263 82 1999所需派送人员 7 5 6 4 1 3 4 2 32派单尾数 66 61 57 46 38 46 62 15 391去除派单人员 -1 -1 -2实际派送人员数 7 5 6 3 1 3 4 1 30(1)数据如上表所示,如果 F 区退掉2份订单,重新计算并分配派送人员(整体调整),F区派送人员的人均派单量是 ▲(2)实现上述功能的Python程序如下,请在画线处填写正确的代码。#从数据库中读取各订单所在区域,如a=[‘A’,‘B’,‘H’,‘F’, … …]百校联考 技术试题卷 第 11 页 共 13 页qyn=8 #区域数量psryn=30 #配送人员数量rs=round(len(a)/psryn)b=[]for i in range(qyn):c=chr(i+65) # “A”的Ascii码值是65b.append([c,0,0]) #生成二维列表b=[[‘A’,0,0],[‘B’,0,0]……]for i in a:① #统计各区域订单数量s=0for i in range(qyn):②If b[i][1]%rs!=0:b[i][2]+=1s+=b[i][2]k=s-psryni=0while k>0:for j in range(qyn-1,i,-1):③ :b[j-1],b[j]=b[j],b[j-1]if b[i][2]>1:b[i][2]-=1k—=1i+=1(3)若程序中语句“s+=b[i][2]”缩进到了“if b[i][1]%rs!=0:”模块内,题中所给的样例数据运行结果 ▲ (是/否)受到影响,将样例“E”区订单数量38修改为 ▲能测出程序存在的问题。【答案】(1)89(2) ①b[ord(i)-65]+=1②b[i][2]//=rs(或者 b[i][2]=b[i][2]//rs)③if b[j][1]%rs b[j-1][2](3) 否 67(或 67的倍数)【解析一】本题考察 Python中冒泡排序和桶计数。(1)根据题目图表中的数据,如果F区退掉2份订单,则F区的派单尾数为44。按照删除规则,F区会去除1个派单人员,则F区人均派单量为 (180-2)/(3-1)=89份,答案为 89(2)①此处为桶计数。需要统计各区域订单数量,结合下面的程序“if b[i][1]%rs!=0”可知b[0][1]存储的是对应的“A”区域的订单数量,“B”区域则是存储在b[1][1],依次类推。“A”对应0,“B”对应1,“C”对应2……,a列表出现相应的区域字母,则相应的b列表对应数据计数增加1。所以答案为 b[ord(i)-65][1]+=1百校联考 技术试题卷 第 12 页 共 13 页(2)②此处遍历列表b,根据各区域订单数量计算所需派送人员。通过分析题目要求及表格数据可知,计算所需派送人员的方法:订单数量//人均派单数(rs),如果派单尾数大于零,则再+1。结合程序下文可知,所需派单人员的数据存储在b[i][2],所以此处答案为b[i][2]//=rs(或者b[i][2]=b[i][2]//rs)(2)③此处为冒泡排序。结合程序上下文可知,此处是要依照规则去除派单人员。根据删除规则有两种情况:一是优先删除派单尾数最少的;二是如果派单尾数相同,则在派送人员多的区域删除。规则中的两种情况都要考虑到。这里有三个问题先要明确:问题一要实现派单尾数最少的区域交换到列表的最前面,所以是升序排序;问题二如何计算该区域的派单尾数?区域订单%人均派单数,即b[j][1]%rs;问题三所需派送人员的数据存储在b[j][2]。所以答案为if b[j][1]%rsb[j-1][2](3)①如果“s+=b[i][2]”缩进了,则该语句只有在 b[i][1]%rs!=0 为真(即派单尾数不为“0”)时才执行,而题目中的样例数据都是派单尾数不为“0”,所以运行结果不受影响,答案为否。(3)②从(3)①的分析可知:因为缩进了,所以“s+=b[i][2]”只有在派单尾数不为“0”时才执行。当派单尾数为“0”时,该语句执行不了,派送人员总数s的计算就会有误。所以只要出现人均派单数67,或者是67的倍数,派单尾数就会为“0”,就能测出程序中的错误。【解析二】本题考查二维数组应用和冒泡排序算法。(1)优先删除派单尾数最少区域中的派送人员,F区退掉 2份订单,尾单数量为 44,实际派送人员为 2人,人均派单量为 178/2=89。(2)①统计各区域订单数量,从条件 b[i][1]%rs!=0 来看,b[i][1]存储的是各区域的订单数量,数据库中读取各订单所在区域,需先将 a数组中 A-H转换成 0-7的索引号,再对 b数组进行累加计数。②计算所需派送人员。从语句 k=s-psryn 来看,s是所需派送人员人数之和,每个区域产生尾单后,所需派送人员增加 1人,因此先计算整数倍的值。③找到去除派单人员的条件。k是需去除派单人员,按尾单人数采用冒泡降序排序,找出符合条件最大的 k个值,优先删除派单尾数最少的区域中的派送人员,如果派单尾数相同,则在分配到派送人员数最多的区域中去掉一个派单人员,因此是一个双关键字排序算法。(3)样题给出数据的尾单数均不为 0,因此条件 b[i][1]%rs!=0 始终成立,是否缩进不影响结果,只有当尾单出现为 0时,影响结果。百校联考 技术试题卷 第 13 页 共 13 页 展开更多...... 收起↑ 资源预览