资源简介 2023学年第二学期杭州市高三年级教学质量检测技术试题卷本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 下列有关数据、信息和知识的说法,正确的是( )A. 大数据技术不能处理结构化数据B. 信息的存储都必须依附于一定的载体C. 在同一课堂中,学生习得的知识都是相同的D. 同一批数据经过不同的处理,产生的信息都是相同的2. 下列算式计算结果为10H的是( )A. 1H×10D B. 9H+1H C. 20D-10B D. 10B×8D3. 某算法的部分流程图如图所示,执行这部分流程,输出c的值是( )A. 9 B. 10 C. 90 D. 1004. 下列关于人工智能的说法,正确的是( )A. 人工智能不可应用于天气预测B. 人工智能的实现都需要标注数据标签C. 深度学习是联结主义学习方法的典型代表D. 字符识别技术只能通过符号主义人工智能实现5. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统组成与功能的描述,不正确的是( )A. ETC微信小程序属于该信息系统的软件B. ETC维护人员不属于该信息系统的用户C. 通过车载电子标签采集车辆信息,属于该信息系统的数据输入功能D. 车辆ETC通行记录存储于数据库,属于该信息系统的数据存储功能6. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统应用和安全的说法,不正确的是( )A. 收费系统每天定时备份数据,是保护系统数据安全的重要措施B. ETC微信小程序采用手机短信验证绑定车牌,可确保该系统无任何安全隐患C. 在ETC微信小程序获取电子发票,体现了系统跨越时空限制,服务随时随处的优势D. 若车载电子标签电池失效,则该车无法通过ETC车道,说明系统对外部环境有依赖性7. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统中传感与控制的说法,正确的是( )A. 车载电子标签不属于传感设备B. 车辆不安装车载电子标签,也可以使用ETC不停车收费系统C. 车辆识别过程中,系统没有使用射频识别技术D. 在识别车辆、开关禁行杆过程中,系统使用了传感与控制技术8. 某二叉树的前序遍历结果为ABC,若该二叉树不是满二叉树,则其后序遍历结果为( )A. ABC B. BCA C. CBA D. CAB9. 队列Q从队首到队尾的元素依次为1,2,3,4,栈S初始为空。约定:H操作是指元素出队后入队,T操作是指元素出队后入栈。经过HTTHT操作后,栈S中从栈底到栈顶的元素依次为( )A. 1,2,4 B. 2,3,1 C. 3,1,2 D. 4,2,110. 用链表模拟队列操作(队列长度大于1),链表的每个节点包含数据区域和指针区域。指针head指向队列的第一个元素,指针tail指向队列的最后一个元素,如图所示。现执行n次“出队后立即入队”操作,实现该功能的Python程序段如下:k=1while k<=n:p=headtail=pk+=1数据区域 指针区域0 “A” 41 “B” 2tail→ 2 “C” -1head→ 3 “D” 04 “E” 1上述程序段中方框处可选代码有:①head=que[head][1] ②que[tail][1]=head ③que[head][1]=-1 ④que[p][1]=-1则方框内应填入的正确代码顺序为( )A. ①②③ B. ①②④ C. ②①③ D. ②①④11. 有如下Python程序段#随机产生5个整数,存储在列表a中for i in range (1,5):k=a[i]j=i-1while j>=0 and abs (a[j]-2)>abs(k-2):a[j+1]=a[j]j-=1a[j+1]=k执行该程序段后,列表a的值可能是( )A. [-5,-2,4,0,1] B. [3,-1,0,2,-3] C. [1,2,3,4,5] D. [0,4,0,-2,-4]12. 列表nums有n(n>1)个非零整型元素,现要查找列表nums中乘积最大的连续序列,例如若nums的值为[-2,3,-1,2,-4],则其乘积最大的连续序列应为3、-1、2、-4,乘积为24。实现该功能的程序段如下,输出最大乘积mx,方框中应填入的正确代码为( )k=0 #变量k存储负数的个数st=ed=-1mx=1m1=m2=1for i in range(0,len(nums)):mx*=nums[i]if k % 2 !=0:for t in nums[0:ed]:m1 *=tfor t in nums[st+1:len(nums)]:m2 *=tmx=max(ml,m2)print(mx)A B C Dif nums[i]<0: k+=1 if st==-1: st=i ed=i if nums[i]<0: k+=1 if ed==-1: ed=i st=i if nums[i]<0: k+=1 if st==-1: st=i else: ed=i if nums[i]<0: k+=1 if ed==-1: ed=i else: st=iA. A B. B C. C D. D二、非选择题(本大题共3题,其中第13题8分,第14题9分,第15题9分,共26分)13. 小明要搭建食用菌大棚智能控制系统,大棚内部安装了温湿度传感设备和智能终端,通过Wi-Fi将实时采集的环境参数传输到云平台,根据菌类生长的适宜温湿度开启或者关闭环境调节设备,自动调节温湿度。用户可以通过手机APP或电脑网页端查看大棚内温湿度实况,并远程控制环境调节设备。请回答下列问题:(1)温湿度传感器属于该信息系统的______(单选,填字母:A.硬件/B.软件/C.数据)(2)可做环境调节设备的是______(单选,填字母:A.Wi-Fi模块/B.排气扇/C.湿度计)(3)小明基于Flask Web框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取大棚温湿度数据,则应访问的URL是http://______。#导入Flask框架模块及其他相关模块,代码略app=Flask(_name_)@app.route(’/env’)def main():#从数据库中读取最近3小时的温湿度数据,并返回页面,代码略#服务器其他功能,代码略if_name_==’_main_’:app.run(host=’192.168.4.1’,port=8080)(4)智能终端的程序每隔5分钟从传感器获取1次温湿度值,若温度值或湿度值发生变化,则将数据传输到服务器。部分Python程序如下,在程序中划线处填入合适的代码。#templ、huml赋初值,代码略while True:temp=pin0.read_analog() #获取pin0引脚传感器的温度数据hum=pinl.read_analog() #获取pin1引脚传感器的湿度数据if ______:#将温度temp,湿度hum数据传输到服务器,代码略templ,huml=temp,humsleep(1000*60*5) #延时5分钟(5)系统正常工作一段时间后,小明在电脑网页端查看大棚温湿度数据,发现没有最近2小时的温湿度数据(在此期间大棚的温湿度发生了变化),简要说明系统中造成上述问题的可能原因:_________。14. 高一年级(9个班级)进行“七选三”预选科。每个班一个Excel文件(如图a所示)存储预选科数据。数据表中“1”代表学生选择该科目,空白代表学生未选择该科目(某班部分选科数据如图b所示)。请回答下列问题。图a(1)定义如下函数check(dfs)检查选考科目数是否有误,其中参数dfs为DataFrame对象,由如图b所示Excel数据导入。返回值erlst为列表,列表元素数据类型为整型,表示错误数据行对应的学生序号(例如第6行学生“戴**跃”的序号为5)。图bdef check(dfs):erlst=[]for i in range(len(dfs)):xk_sum=0for j in dfs.columns[2:]:dyg= ①if dyg==1:xk_sum+=dygif xk_sum!=3:erlst.append( ② )return erlst①在程序中划线处填入的正确代码为______(单选,填字母)。A.dfs.at['i','j'] B.dfs.at['j','i'] C.dfs.at[i,j] D.dfs.at[j,i]②在程序中划线处填入合适的代码:__________。(2)读取每个班级的Excel选科数据,若检查无误,则统计每个班级同时选报“物理”和“化学”学科的人数,存储在字典ans中。实现该功能的Python程序如下:import pandas as pdans={}for i in range(1,10):filename=str(i)+'.xlsx'df=pd.read_excel(filename)errlist=check(df)if errlist!=[]:print('请检查文件',filename,'中序号为',errlist,'的学生')else:③ #筛选同时选择物理和化学的数据记录存储在df1中ans[str(i)+'班']=[ ④ ]#形如{"1班":[41]}③在程序划线处应填入的正确代码段为______(多选,填字母)A.dfl=df[df['物理']==1] B.dfl=df[df['物理']==1]df1=df1[df1['化学']==1] df1=df[df[’化学’]==1]C.df1=df[df['化学']==1] D.dfl=df[df['化学']==1]dfl=df1[df1['物理']==1] df1=df[df['物理']==1]④在程序划线处填入合适的代码:______。(3)用字典ans创建并转置的DataFrame对象如图c所示,绘制柱形图如图d所示。实现该功能的Python程序如下:人数1班 412班 373班 375班 326班 407班 328班 309班 27图c图dimport matplotlib.pyplot as pltadf=pd.DataFrame(ans,index=['人数']).Tplt.bar( ⑤ )#设置绘图参数,代码略plt.show()⑤程序的划线处应填入的正确代码为______(单选,填字母)A.adf.人数,adf.班级 B.adf.班级,adf.人数C.adf.人数,adf.index D.adf.index,adf.人数15. 某大型农场自动灌溉系统可同时为多个农作物区域提供水分。现有n个农作物区域需在指定时间内完成灌溉任务。每个灌溉任务包含开始时间、结束时间和需要灌溉的单位时间量,同一个灌溉任务可以在开始到结束时间内分段完成,如某一灌溉任务为[2,5,2],表示该农作物区域可在2~3,3~4,4~5三个单位时间段内任选2个进行灌溉。系统仅在进行灌溉时开启,没有任务时则关闭以节约资源。为减少系统开启时间,先对任务序列按结束时间升序排列,然后依次对每个灌溉任务进行处理。每个灌溉任务的安排规则为:①当前任务安排在与前面任务的灌溉时间重叠的时间段;②当前任务的剩余灌溉时间安排在最靠后的时间段。例如,某次系统需要完成三个灌溉任务[2,4,1],[4,7,1],[3,7,3],则需要开启3~4、5~6、6~7共3个单位时间段,如图a所示。任务一 √任务二 √任务三 √ √ √0 1 2 3 4 5 6 7 8图a编写程序:给定灌溉任务,按照上述规则安排各任务的灌溉时间。输出在完成所有灌溉任务的情况下,系统总计需要开启多少个单位时间段。(1)由题意可知,若灌溉任务为[[2,4,1],[4,7,1],[3,7,3],[6,9,2]],则系统总计需开启______个单位时间段。(2)定义如下sort_task(lst)函数,参数lst的每个元素由每个任务的开始时间、结束时间和需要灌溉的单位时间量构成。函数功能是将任务按结束时间升序排列。def sort_task(lst):n=len(lst)for i in range(0,n-1):for j in range(______):if lst[j][1] < lst[j-1][1]:lst[j],lst[j-1]=lst[j-1],lst[j]return lst划线处应填入的正确代码为______(单选,填字母:A.i+1,n / B.n-1,i,-1)(3)实现安排灌溉任务的部分Python程序如下,请在程序中划线处填入合适的代码。def arrange(task):n=len(task)st=[[0,0]for i in range(n)] #列表st元素为n个[0,0]top=-1_______task=sort_task(task)#对任务序列按结束时间排序for item in task:start,end,dur=item[0],item[1],item[2]if k<=top:for i in range(k+1,top+1):_______if start < st[k][0]:dur=dur-(st[k][1]-st[k][0])else:dur=dur-(st[k][1]-start)if dur > 0:res+=durt1=endwhile_______:dur=dur-(t1-st[top][1])t1=st[top][0]top-=1top+=1st[top]=[t1-dur,end]return res,,,读取灌溉任务数据,并依次存入列表task。task[i]包含3个数据项,task[i][0],task[i][1],task[i][2]分别存放该任务要求的开始时间、结束时间和需要灌溉的单位时间量,代码略,,,print(arrange(task))(4)若把虚线框内的程序段修改为如下代码:k,r=0,topwhile k<=r:mid=(k+r)//2if start<=st[mid][1]:r=mid-1else:k=mid+1若st为[[2,3],[4,6],[8,9],[11,12],[13,15]],start为12,top为4,请问修改后代码与原代码相比,循环执行次数______(单选,填字母:A.增加 B.减少 C.不变)。2023学年第二学期杭州市高三年级教学质量检测技术试题卷本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 下列有关数据、信息和知识的说法,正确的是( )A. 大数据技术不能处理结构化数据B. 信息的存储都必须依附于一定的载体C. 在同一课堂中,学生习得的知识都是相同的D. 同一批数据经过不同的处理,产生的信息都是相同的【答案】B【解析】【详解】本题考查的是数据、信息和知识的说法。大数据技术是一系列使用非传统的工具来对大量的结构化、半结构化和非结构化数据进行处理,从而获得分析和预测结果的数据处理技术;信息的存储都必须依附于一定的载体;在同一课堂中,不同的理解会形成不同的知识;同一批数据经过不同的处理,产生的信息可能不相同。故本题应选B。2. 下列算式计算结果为10H的是( )A. 1H×10D B. 9H+1H C. 20D-10B D. 10B×8D【答案】D【解析】【详解】本题考查的是进制数。B是二进制,D是十进制,H是十六进制。10H=1*16D。1H×10D=10D,9H+1H=AH=10D,20D-10B=18D,10B×8D=16D。故本题应选D。3. 某算法的部分流程图如图所示,执行这部分流程,输出c的值是( )A. 9 B. 10 C. 90 D. 100【答案】A【解析】【详解】本题考查的是流程图识读。阅读流程图,可知其计算10~99中个位和十位数字相同的数有的个数。11、22、33、44、55、66、77、88、99满足,一共有9个。故本题应选A。4. 下列关于人工智能的说法,正确的是( )A. 人工智能不可应用于天气预测B. 人工智能的实现都需要标注数据标签C. 深度学习是联结主义学习方法的典型代表D. 字符识别技术只能通过符号主义人工智能实现【答案】C【解析】【详解】本题考查是人工智能。人工智能可用于天气预测;并不是所有人工智能的实现都需要标注数据标签;深度学习是联结主义学习方法的典型代表;字符识别技术可以通过符号主义人工智能实现,但不是唯一的方法。故本题应选C。5. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统组成与功能的描述,不正确的是( )A. ETC微信小程序属于该信息系统的软件B. ETC维护人员不属于该信息系统的用户C. 通过车载电子标签采集车辆信息,属于该信息系统的数据输入功能D. 车辆ETC通行记录存储于数据库,属于该信息系统的数据存储功能【答案】B【解析】【详解】本题考查的是信息系统组成与功能的描述。该信息系统的用户包含工作人员和维护人员等。故本题应选B。6. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统应用和安全的说法,不正确的是( )A. 收费系统每天定时备份数据,是保护系统数据安全的重要措施B. ETC微信小程序采用手机短信验证绑定车牌,可确保该系统无任何安全隐患C. 在ETC微信小程序获取电子发票,体现了系统跨越时空限制,服务随时随处的优势D. 若车载电子标签电池失效,则该车无法通过ETC车道,说明系统对外部环境有依赖性【答案】B【解析】【详解】本题考查的是信息系统应用和安全。不存在绝对安全的信息系统,信息系统为人们带来便捷的同时也存在安全隐患,信息系统的安全管理,应遭循预防为主的理念。故本题应选B。7. 电子不停车收费系统(ETC)通过安装车载电子标签(存储车型、车牌号等信息)与收费站ETC车道上的微波天线之间进行短程通讯,自动感应识别车辆,并进行收费数据的处理,实现车辆通过高速公路收费站时无须停车就能交纳费用。该系统的数据存储在数据库中,车主可以通过ETC微信小程序查询通行和支付记录。下列关于该信息系统中传感与控制的说法,正确的是( )A. 车载电子标签不属于传感设备B. 车辆不安装车载电子标签,也可以使用ETC不停车收费系统C. 车辆识别过程中,系统没有使用射频识别技术D. 在识别车辆、开关禁行杆过程中,系统使用了传感与控制技术【答案】D【解析】【详解】本题考查的是传感与控制。车载电子标签属于无线射频识别技术的发射端,从信息获取角度看,无线射频识别技术也属于传感技术;车载电子标签是该系统不可缺少的组成部分;在车辆识别过程中,系统使用射频识别技术;在识别车辆、开关禁行杆过程中,系统使用了传感与控制技术。故本题应选D。8. 某二叉树的前序遍历结果为ABC,若该二叉树不是满二叉树,则其后序遍历结果为( )A. ABC B. BCA C. CBA D. CAB【答案】C【解析】【详解】本题考查的是二叉树。前序遍历结果为ABC,不是满二叉树,故其树可能为:其后序遍历结果都为:CBA。故本题应选C。9. 队列Q从队首到队尾的元素依次为1,2,3,4,栈S初始为空。约定:H操作是指元素出队后入队,T操作是指元素出队后入栈。经过HTTHT操作后,栈S中从栈底到栈顶的元素依次为( )A. 1,2,4 B. 2,3,1 C. 3,1,2 D. 4,2,1【答案】B【解析】【详解】本题考查的是栈和队列的操作。队列是先进先出,栈是后进先出。操作过程队列Q和栈S变化过程如下:操作 队列Q 栈S初始 1,2,3,4H 2,3,4,1T 3,4,1 2T 4,1 2,3H 1,4 2,3T 4 2,3,1故本题应选B。10. 用链表模拟队列操作(队列长度大于1),链表的每个节点包含数据区域和指针区域。指针head指向队列的第一个元素,指针tail指向队列的最后一个元素,如图所示。现执行n次“出队后立即入队”操作,实现该功能的Python程序段如下:k=1while k<=n:p=headtail=pk+=1数据区域 指针区域0 “A” 41 “B” 2tail→ 2 “C” -1head→ 3 “D” 04 “E” 1上述程序段中方框处可选代码有:①head=que[head][1] ②que[tail][1]=head ③que[head][1]=-1 ④que[p][1]=-1则方框内应填入的正确代码顺序为( )A. ①②③ B. ①②④ C. ②①③ D. ②①④【答案】D【解析】【详解】本题考查的是链表操作。从图中可以知道,出队后立即入队,反映到链表上就是:tail指针指向head,head指针后移,让原head位置变为队尾(修改p的指针域为-1),即②①④。故选D。11. 有如下Python程序段#随机产生5个整数,存储在列表a中for i in range (1,5):k=a[i]j=i-1while j>=0 and abs (a[j]-2)>abs(k-2):a[j+1]=a[j]j-=1a[j+1]=k执行该程序段后,列表a的值可能是( )A. [-5,-2,4,0,1] B. [3,-1,0,2,-3] C. [1,2,3,4,5] D. [0,4,0,-2,-4]【答案】D【解析】【详解】本题考查的是插入排序。阅读程序可知,比较的是abs (a[j]-2)>abs(k-2),即最终是按abs (a[i]-2)升序排列,即最后每个数据项减2后求绝对值应为升序,4个选项结果如下表:A B C D原始值 -5,-2,4,0,1 3,-1,0,2,-3 1,2,3,4,5 0,4,0,-2,-4-2 -7,-4,2,-2,-1 1,-3,-2,0,-5 -1,0,1,2,3 -2,2,-2,-4,-6求绝对值 7,4,2,2,1 1,3,2,0,5 1,0,1,2,3 2,2,2,4,6故本题应选D。12. 列表nums有n(n>1)个非零整型元素,现要查找列表nums中乘积最大的连续序列,例如若nums的值为[-2,3,-1,2,-4],则其乘积最大的连续序列应为3、-1、2、-4,乘积为24。实现该功能的程序段如下,输出最大乘积mx,方框中应填入的正确代码为( )k=0 #变量k存储负数的个数st=ed=-1mx=1m1=m2=1for i in range(0,len(nums)):mx*=nums[i]if k % 2 !=0:for t in nums[0:ed]:m1 *=tfor t in nums[st+1:len(nums)]:m2 *=tmx=max(ml,m2)print(mx)A B C Dif nums[i]<0: k+=1 if st==-1: st=i ed=i if nums[i]<0: k+=1 if ed==-1: ed=i st=i if nums[i]<0: k+=1 if st==-1: st=i else: ed=i if nums[i]<0: k+=1 if ed==-1: ed=i else: st=iA. A B. B C. C D. D【答案】A【解析】【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:方框中代码作用是统计列表中负数元素个数,并获取第一个负数的位置,由st保存,最后一个负数的位置,由ed保存,再由后续代码完成确立最大乘积的操作。对比四个选项,A选项最符合题目要求。故本题答案是A选项。二、非选择题(本大题共3题,其中第13题8分,第14题9分,第15题9分,共26分)13. 小明要搭建食用菌大棚智能控制系统,大棚内部安装了温湿度传感设备和智能终端,通过Wi-Fi将实时采集的环境参数传输到云平台,根据菌类生长的适宜温湿度开启或者关闭环境调节设备,自动调节温湿度。用户可以通过手机APP或电脑网页端查看大棚内温湿度实况,并远程控制环境调节设备。请回答下列问题:(1)温湿度传感器属于该信息系统的______(单选,填字母:A.硬件/B.软件/C.数据)(2)可做环境调节设备的是______(单选,填字母:A.Wi-Fi模块/B.排气扇/C.湿度计)(3)小明基于Flask Web框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取大棚温湿度数据,则应访问的URL是http://______。#导入Flask框架模块及其他相关模块,代码略app=Flask(_name_)@app.route(’/env’)def main():#从数据库中读取最近3小时的温湿度数据,并返回页面,代码略#服务器其他功能,代码略if_name_==’_main_’:app.run(host=’192.168.4.1’,port=8080)(4)智能终端的程序每隔5分钟从传感器获取1次温湿度值,若温度值或湿度值发生变化,则将数据传输到服务器。部分Python程序如下,在程序中划线处填入合适的代码。#templ、huml赋初值,代码略while True:temp=pin0.read_analog() #获取pin0引脚传感器的温度数据hum=pinl.read_analog() #获取pin1引脚传感器的湿度数据if ______:#将温度temp,湿度hum数据传输到服务器,代码略templ,huml=temp,humsleep(1000*60*5) #延时5分钟(5)系统正常工作一段时间后,小明在电脑网页端查看大棚温湿度数据,发现没有最近2小时的温湿度数据(在此期间大棚的温湿度发生了变化),简要说明系统中造成上述问题的可能原因:_________。【答案】 ①. A ②. B ③. 192.168.4.1:8080/env ④. temp!=templ or hum!=huml ⑤. Wi-Fi模块发生故障,数据无法上传或智能终端发生故障,数据无法上传或传感器发生故障,智能终端采集的数据不发生变化【解析】【详解】本题考查是信息系统的搭建。(1)温湿度传感器属于该信息系统的硬件,选A。(2)可以通过排气扇调节周边环境温度,选B。(3)由 app.run(host=’192.168.4.1’,port=8080)及 @app.route(’/env’)可知,若要通过浏览器获取大棚温湿度数据,则应访问URL是http://192.168.4.1:8080/env。(4)若温度值或湿度值发生变化,则将数据传输到服务器,故划线处代码为:temp!=templ or hum!=huml。(5)温湿度发生了变化但数据没有上传,有可能是传输出现问题或者是传感器坏了,采集不到温度变化。故其可能原因:Wi-Fi模块发生故障,数据无法上传或智能终端发生故障,数据无法上传或传感器发生故障。14. 高一年级(9个班级)进行“七选三”预选科。每个班一个Excel文件(如图a所示)存储预选科数据。数据表中“1”代表学生选择该科目,空白代表学生未选择该科目(某班部分选科数据如图b所示)。请回答下列问题。图a(1)定义如下函数check(dfs)检查选考科目数是否有误,其中参数dfs为DataFrame对象,由如图b所示Excel数据导入。返回值erlst为列表,列表元素数据类型为整型,表示错误数据行对应的学生序号(例如第6行学生“戴**跃”的序号为5)。图bdef check(dfs):erlst=[]for i in range(len(dfs)):xk_sum=0for j in dfs.columns[2:]:dyg= ①if dyg==1:xk_sum+=dygif xk_sum!=3:erlst.append( ② )return erlst①在程序中划线处填入的正确代码为______(单选,填字母)。A.dfs.at['i','j'] B.dfs.at['j','i'] C.dfs.at[i,j] D.dfs.at[j,i]②在程序中划线处填入合适的代码:__________。(2)读取每个班级的Excel选科数据,若检查无误,则统计每个班级同时选报“物理”和“化学”学科的人数,存储在字典ans中。实现该功能的Python程序如下:import pandas as pdans={}for i in range(1,10):filename=str(i)+'.xlsx'df=pd.read_excel(filename)errlist=check(df)if errlist!=[]:print('请检查文件',filename,'中序号为',errlist,'的学生')else:③ #筛选同时选择物理和化学的数据记录存储在df1中ans[str(i)+'班']=[ ④ ]#形如{"1班":[41]}③在程序划线处应填入的正确代码段为______(多选,填字母)A.dfl=df[df['物理']==1] B.dfl=df[df['物理']==1]df1=df1[df1['化学']==1] df1=df[df[’化学’]==1]C.df1=df[df['化学']==1] D.dfl=df[df['化学']==1]dfl=df1[df1['物理']==1] df1=df[df['物理']==1]④在程序划线处填入合适的代码:______。(3)用字典ans创建并转置的DataFrame对象如图c所示,绘制柱形图如图d所示。实现该功能的Python程序如下:人数1班 412班 373班 375班 326班 407班 328班 309班 27图c图dimport matplotlib.pyplot as pltadf=pd.DataFrame(ans,index=['人数']).Tplt.bar( ⑤ )#设置绘图参数,代码略plt.show()⑤程序的划线处应填入的正确代码为______(单选,填字母)A.adf.人数,adf.班级 B.adf.班级,adf.人数C.adf.人数,adf.index D.adf.index,adf.人数【答案】 ①. C ②. i+1 ③. AC ④. len(dfl)或len(dfl.index) ⑤. D【解析】【详解】本题考查的是数据分析。(1)at 函数:通过行名和列名来取值(行名, 列名),由循环变量可知i是行索引,j是列名,故①处为:dfs.at[i,j],选A;erlst列表元素数据类型为整型,表示错误数据行对应的学生序号,i索引从0开始,故学生序号为行索引加1,故②处为:i+1。(2)先筛选出选物理的学生记录,保存在对象df1中,再在从df1中筛选出选化学的学生;或先筛选出选化学的学生记录,保存在对象df1中,再在从df1中筛选出选物理的学生,故③处选AC;统计每个班级同时选报“物理”和“化学”学科的人数,而该人数就是对象df1的记录数量,故④处为:len(dfl)或len(dfl.index)。(3)利用字典ans创建对象adf,字典的键为各个列标题,值为每一行记录值,该对象只有一行记录,且设置index为人数。转置是对行列发生变换,一共有10行,对应的属性是index,只有一列,列标题是人数,由图中可知,柱形图横坐标是班级即是对象adf的index,纵坐标是人数,故⑤处应选D。15. 某大型农场自动灌溉系统可同时为多个农作物区域提供水分。现有n个农作物区域需在指定时间内完成灌溉任务。每个灌溉任务包含开始时间、结束时间和需要灌溉的单位时间量,同一个灌溉任务可以在开始到结束时间内分段完成,如某一灌溉任务为[2,5,2],表示该农作物区域可在2~3,3~4,4~5三个单位时间段内任选2个进行灌溉。系统仅在进行灌溉时开启,没有任务时则关闭以节约资源。为减少系统开启时间,先对任务序列按结束时间升序排列,然后依次对每个灌溉任务进行处理。每个灌溉任务的安排规则为:①当前任务安排在与前面任务的灌溉时间重叠的时间段;②当前任务的剩余灌溉时间安排在最靠后的时间段。例如,某次系统需要完成三个灌溉任务[2,4,1],[4,7,1],[3,7,3],则需要开启3~4、5~6、6~7共3个单位时间段,如图a所示。任务一 √任务二 √任务三 √ √ √0 1 2 3 4 5 6 7 8图a编写程序:给定灌溉任务,按照上述规则安排各任务的灌溉时间。输出在完成所有灌溉任务的情况下,系统总计需要开启多少个单位时间段。(1)由题意可知,若灌溉任务为[[2,4,1],[4,7,1],[3,7,3],[6,9,2]],则系统总计需开启______个单位时间段。(2)定义如下sort_task(lst)函数,参数lst的每个元素由每个任务的开始时间、结束时间和需要灌溉的单位时间量构成。函数功能是将任务按结束时间升序排列。def sort_task(lst):n=len(lst)for i in range(0,n-1):for j in range(______):if lst[j][1] < lst[j-1][1]:lst[j],lst[j-1]=lst[j-1],lst[j]return lst划线处应填入的正确代码为______(单选,填字母:A.i+1,n / B.n-1,i,-1)(3)实现安排灌溉任务的部分Python程序如下,请在程序中划线处填入合适的代码。def arrange(task):n=len(task)st=[[0,0]for i in range(n)] #列表st元素为n个[0,0]top=-1_______task=sort_task(task)#对任务序列按结束时间排序for item in task:start,end,dur=item[0],item[1],item[2]if k<=top:for i in range(k+1,top+1):_______if start < st[k][0]:dur=dur-(st[k][1]-st[k][0])else:dur=dur-(st[k][1]-start)if dur > 0:res+=durt1=endwhile_______:dur=dur-(t1-st[top][1])t1=st[top][0]top-=1top+=1st[top]=[t1-dur,end]return res,,,读取灌溉任务数据,并依次存入列表task。task[i]包含3个数据项,task[i][0],task[i][1],task[i][2]分别存放该任务要求的开始时间、结束时间和需要灌溉的单位时间量,代码略,,,print(arrange(task))(4)若把虚线框内的程序段修改为如下代码:k,r=0,topwhile k<=r:mid=(k+r)//2if start<=st[mid][1]:r=mid-1else:k=mid+1若st为[[2,3],[4,6],[8,9],[11,12],[13,15]],start为12,top为4,请问修改后代码与原代码相比,循环执行次数______(单选,填字母:A.增加 B.减少 C.不变)。【答案】 ①. 4 ②. B ③. res=0 ④. dur-=st[i][1]-st[i][0] ⑤. top !=-1 and t1-st[top][1]<=dur或top!=-1 and t1-st[top][1]【解析】【详解】本题考查程序设计相关内容。结合题目内容,分析程序段,推知:(1)依据灌溉安排规则,若灌溉任务为[[2,4,1],[4,7,1],[3,7,3],[6,9,2]],则其分配时间如图所示:,需要开启3~4、5~6、6~7、8~9共4个单位时间段,故本题答案是:4。(2)分析sort_task函数代码,该函数采用的是冒泡算法对任务序列进行排序。若lst[j][1] < lst[j-1][1]成立,则交换两个元素(lst[j],lst[j-1]=lst[j-1],lst[j]),所以j的取值应该在列表长度之内,结合i取值和range函数特点,每趟排序,j应从表尾n-1开始取值,逆序至i,即for j in range(n-1,i,-1)。故本题答案是:B。(3)③处,res作用是统计dur值,其初始值应设置为0,故此处答案是:res=0。④处,加框处代码是顺序查找,其查找结果为:k> top or start <= st[k][1] 即当前任务的开始时间start在所有已标记区间之后,或找到第一个满足可处理当前任务的标记区间st[k]。由于st和任务task都是有序的,item 的结束时间end 不小于st中的任意值,因此④处遍历剩余的st中区间的目的是在已标记区间中设置“开启”,故此处答案为:dur -= st[i][1] - st[i][0],即更新剩余开启单位时长。⑤在更新dur的同时维护st数组,合并区间并维持有序。对于剩余时长dur,需要在未标记的时间点上“开启”并标记,tl-st[top][1]是本次任务结束时间距离上一段标记区间终点的距离,即可标记单位长度,dur-= t1 - st[top][1]即更新剩余单位时长,同时top-=1出栈是为了后续的区间合并。本题中,dur -=t1 - st[top][1]的前提是 dur >= t1 - st[top][1],且栈st非空,因此答案为top != -1 and dur >= t1 - st[top][1]。(4)分析给定代码,每次操作均是通过mid=(k+r)//2定位在列表的一半区间内,若把虚线框内的程序段修改为给定代码,则循环的执行次数将大大减少,故本题答案是:B。 展开更多...... 收起↑ 资源预览