资源简介 绝密★考试结束前2023 学年第一学期杭州市高三年级教学质量检测 技术试题卷第一部分 信息技术(共 50 分)一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合 题目要求的,不选、多选、错选均不得分)1.下列有关数据和信息的说法,正确的是A.计算机中的数据以二进制的形式存储 B.人们观看在线影视时,点播的视频是信息C.信息本身会因为被别人获取而发生损耗 D.大数据的数据总量越大,价值密度就越高(【答案】A【解析一】本题考查数据和信息的相关知识。A.计算机中的数据以二进制的形式存储,是正确的;选项B.人们观看在线影视时,点播的视频是数据,故选项B是不正确的;选项C.信息本身不会因为被别人获取而发生损耗,故选项C是不正确的;选项D.大数据的数据总量越大,价值密度就越低,故选项D是不正确的。所以答案是A。【解析二】本题考查数据、信息、大数据的相关知识。视频是数据,是信息的载体,选项B错误;信息是可以共享的,不会发生损耗,选项C错误;大数据的价值密度小,选项D错误。)2.下列关于进制与信息编码的说法,不正确的是A.最大的两位十六进制数值是 FFHB.将商品信息转换为条形码的过程属于编码C.声音数字化过程中的量化位数越大,保真度越好D.ASCII 码用 7 位二进制进行编码,十进制范围为 1~128(【答案】D【解析一】本题考查进制和编码的相关知识。ASCII码用7位二进制进行编码,十进制的范围是0~127,选项D的说法错误。【解析二】本题考查进制与信息编码的相关知识。选项ABC都是正确的;选项D.ASCII码用7位二进制进行编码,十进制范围为0~127,故选项D是不正确的。所以答案是D。)3.下列关于人工智能的说法,正确的是A.人工智能以机器为载体,模仿、延伸和扩展人类智能B.人工智能具有强大的存储、记忆和搜索功能,不会出错C.符号主义需要手工构造知识库,属于数据驱动的智能方法高三技术 试题卷 第 1 页(共 14 页)D.语音识别系统需要大量数据进行模型训练和测试,故无法识别实时语音(【答案】A【解析一】本题考查人工智能的相关知识。人工智能是有可能出错的,选项B错误;符号主义不是数据驱动的智能方法,选项C错误;语音识别系统可以识别实时语音,选项D错误。【解析二】本题考查人工智能的相关知识。选项A.人工智能以机器为载体,模仿、延伸和扩展人类智能,是正确的;选项B.人工智能具有强大的存储、记忆和搜索功能,也有可能出错,故选项B是不正确的;选项C.符号主义需要手工构造知识库,数据驱动属于联结主义,故选项C是不正确的;选项D.语音识别系统需要大量数据进行模型训练和测试,也能识别实时语音,故选项D是不正确的。所以答案是A。)阅读下列材料,回答第 4 至 5 题。某校学生考勤信息系统通过移动无线考勤机(支持刷卡、刷脸等识别方式)进行考勤, 家长可在手机 APP 上进行学生请假申请,班主任审批之后,在校学生出校门时在考勤机上进行请假信息确认,离校后班主任 和家长手机 APP 上实时收到学生的离校信息。在该系统的网页管理后台可以按班、按月对请假等数据进行 查询和统计。4.结合材料,下列有关该信息系统说法不正确的是A.学校老师、家长和学生都是该信息系统的用户B.考勤机可移动使用,说明该信息系统不受外部环境的制约C.通过管理后台可查看当天的请假情况,说明该信息系统具有数据查询功能D.家长可随时在 APP 上发起请假申请,体现了系统跨越时空限制、服务随时随处的优势(【答案】B【解析一】本题考查信息系统的相关知识。信息系统对外部环境具有依赖性,选项B的说法错误。【解析二】本题考查信息系统的相关知识。选项ACD都是正确的;选项B.考勤机可移动使用,但是该信息系统可能受其他外部环境的制约,故选项B是不正确的;所以答案是B。)5.为了加强隐私保护和信息安全防护,下列说法不正确的是A.晚上可以关闭防火墙,节约资源B.采用磁盘阵列、异地容灾等手段可以提高数据安全C.家长通过预留的手机号码登录 APP 属于用户身份认证D.学生人脸、家长手机号码等都属于个人敏感信息,应做好隐私保护(【答案】A【解析一】本题考查信息及信息系统安全的相关知识。因为信息系统的服务器是一直在运行,所以如果晚上关闭防火墙就无法保证系统晚上的安全,选项A错误。)高三技术 试题卷 第 2 页(共 14 页)(【解析二】本题考查信息安全的相关知识。选项A.晚上也不可以关闭防火墙,故选项A是不正确的;选项BCD都是正确的。所以答案是A。)6.下列关于网络技术的说法,正确的是A.网络仅由传输介质和网络互连设备组成B.按照网络的覆盖范围分类, 因特网属于城域网C.网络中可以资源共享的仅是网络中的硬件资源D.网络中传输信息都需要遵守网络协议(【答案】D【解析一】本题考查网络的相关知识。网络是由计算机系统、数据通信系统、网络软件和网络协议组成的,选项A错误;因特网属于广域网,选项B错误;网络中可以共享的资源有硬件、软件和数据,选项C错误。【解析二】本题考查网络技术的相关知识。选项A.网络不仅由传输介质和网络互连设备组成,故选项A是不正确的;选项B.按照网络的覆盖范围分类,因特网属于广域网,故选项B是不正确的;选项C.网络中可以资源共享的是网络中的硬件资源,还有软件资源、数据资源,故选项C是不正确的;选项D.网络中传输信息都需要遵守网络协议,是正确的;所以答案是D。)7.某算法的部分流程图如第 7 题图所示,执行这部分流程,若输入 i 的值为序列[2,3,4,5]中的随机数,则下 列说法正确的是第 7 题图A.变量 c 的最大值为 11 B.“a>0 ”至少执行 5 次C.程序结束时变量 a 一定等于 0 D.只能使用 while 语句实现循环结构(【答案】B【解析一】本题考查流程图阅读。阅读流程图可知,变量c用于记录循环次数,变量a的初始值为20,若要c最大,则每次a-i中的i值要最)高三技术 试题卷 第 3 页(共 14 页)(小,让i=2,最多循环10次,故c最大值为10,A选项错误;当i取最大值5时,循环次数最少,为4次,判断框执行5次,故B选项正确;a的最终值取决于最后一次i的值,可能为负数,故C选项错误;循环结构可以用for语句实现,因为循环最多执行10次,中途退出可用break语句实现,故D选项错误。【解析二】本题考查流程图的相关知识。A,要使得c最大,则a一直减2,一共减了10次,因此c是10;C,最终a小于等于0;D,可以使用for语句搭配break实现)8.某二叉树的树形结构如第 8 题图所示,后序遍历结果为“WUSVTR ”,则该二叉树的前序遍历结果为第 8 题图A.RSTUVW B.RTSVUW C.RTSUWV D.RSUWTV(【答案】D【解析一】本题考查二叉树的遍历方式。根据二叉树的后序遍历,左子树-右子树-根节点的顺序,可将后序遍历结果填入第8题图,得出如图所示二叉树,其前序遍历结果为RSUWTV。【解析二】本题考查二叉树。结合后序遍历可画出树形结构,所以前序遍历时RSUWTV)9.若有一批元素的出栈顺序为“i,n,p,u,t ”,其入栈顺序不可能是A.n,i,t,u,p B.n,i,u,t,p C.t,u,p,n,i D.i,n,p,u,t(【答案】B【解析一】本题考查栈的基本操作。根据栈的先进后出,后进先出的特点,B选项中u,t,p三个元素依次入栈,若按照题干元素p先出栈,那么u和t都在栈内并且t在栈顶,接下来出栈的应该是t,而不是u,故B选项错误。【解析一】本题考查栈。B,n进,i进,i出,n出,u进,t进,p进,p出,这时应该t出而不是u出。)高三技术 试题卷 第 4 页(共 14 页)10.列表 d 有 n 个整型元素,输出列表中最长连续递增序列的长度。小明编写的 Python程序段如下: k= 1;lmax= 1;n=len(d)for i in range(1,n):if d[i]>d[i- 1]:k+= 1else:ifk>lmax:lmax=kk= 1print(lmax)该程序段在某些情况下无法得到符合题意的结果,下列 4 组数据中能测试出这一问题的是 A.[1,4,5, 1,2] B.[1,2,3,4, 1] C.[1,5, 1,2,3] D.[5,4,3,2, 1](【答案】C【解析一】本题考查顺序查找中最后一次查找的特殊性。程序中逐个遍历相邻元素,判断其递增或非递增,若相邻元素为递增,则长度变量k值加1,否则将k值与长度最大值lmax进行比较,若k>lmax,则更新lmax值为k,并将k值回归初始值1;若最长的递增序列一直持续至最后一个元素,即最后一次循环也是d[i]>d[i-1],则无法将k与lmax进行比较,无法将最大值k赋值给lmax,就如C选项中,最终k=3,lmax=2,但是不会再进行k与lmax的比较了,得到的最大长度只能是2。【解析二】本题考查最长连续序列。判断最长在else语句中,即d[i]<=d[i-1]时,但忽略了最后一组一直连续递增。因此C选项,1,2,3无法判断。)11.有如下 Python 自定义函数:def fun(x,i):if xreturn ielif x%i==0:return xelse:return fun(x-i,i+1)执行语句 k=fun(37,3)后,k 的值为A.5 B.6 C.30 D.34(【答案】C【解析一】本题考查递归算法。根据if语句的条件,计算fun(37,3)=fun(34,4)=fun(30,5),此时满足x%i==0的条件,返回x值为30。【解析二】本题考查递归。fun(37,3) fun(34,4) fun(30,5) 30)高三技术 试题卷 第 5 页(共 14 页)12.有如下 Python程序段,其功能是删除无序链表(元素个数大于等于 2)中的重复元素。 def dele(a,head):pre=head;p=a[head][1]while p!=- 1:q=headflag=Falsewhile :if a[q][0]==a[p][0]:p=a[p][1]flag=Truebreakq=a[q][1]if not flag:pre=pp=a[p][1]a=[[0,3],[1,2],[1,4],[0, 1],[0,5],[2,- 1]]dele(a,0)①q!=- 1 ②q!=p ③a[pre][1]=a[p][1] ④a[pre][1]=a[q][1]方框中填入的正确代码依次为A.②④ B.②③ C.①④ D.①③(【答案】B【解析一】本题考查链表元素删除的程序实现。程序中外层循环用指针p从第二个节点开始遍历至最后一个节点,内层循环用指针q从头节点开始遍历查找相同元素,当出现相同元素时,删除其中一个,而pre为p的前驱节点,并未记录q的前驱节点,故删除的是节点p,第二个方框填入的是语句③;由于删除的是p节点,而p用于外层循环的遍历,那么查找范围到从头节点到p节点,保证p节点之前没有相同的元素即可,故第一个方框中填入的是语句②。【解析二】本题考查链表元素删除的程序实现。由pre=p, p=a[p][1],可知pre是p的前驱,删除是删除后继节点,因此第二加框处是删除后继p节点,选③;从q=head,p=a[head][1],可知第一加框处q!=p,否则ifa[q][0]==a[p][0]必然成立,因此第一加框处选②。)二、非选择题(本大题共 3 小题,其中第 13 小题 7 分,第 14 小题 10 分,第 15 小题 9 分,共 26 分) 13.对某二值图像(颜色编号只有 0 、1)按如下规则对其进行数据压缩:(1)记录原数据第 1 个位置的颜色编号;(2)从左往右依次扫描颜色编号,统计并记录连续出现的相同颜色编号个数;例如:图像的颜色编号:00000000011111111000,压缩结果为“0,9,8,3 ”(用逗号分隔)9 个 8 个 3 个请回答下列问题:(1)若某二值图像按此规则压缩的结果为“ 1, 1,3,5,6 ”,则该图像的颜色数据中有 个 1。(2)定义如下jys(s)函数,参数 s 存储压缩结果,为字符串类型,如“0,9,8,3 ”。函数功能是实现数据解 压缩,函数以字符串类型返回原数据。请在划线处填入合适的代码。高三技术 试题卷 第 6 页(共 14 页)def jys(s) :d={" 1":"0","0":" 1"}①ns="";p=s[0];i=2while inum =0while ② :num =num* 10 +int(s[i])i += 1i += 1for j in range(num):③p=d[p]return ns(【答案】(1)6(1分)(2)①n=len(s)(2分)②i <= n-1 and"0"<=s[i]<="9"或i <=n-1ands[i]!=","(2分)③ns += p(2分)【解析一】本题考查python基础应用的相关知识。(1)考查考生对题干的理解,根据题干中的例子“0,9,8,3”以及结合代码中字典d的数据,可得出“1,1,3,5,6”的结果是有1个1,3个0,5个1,6个0。故最后1的个数是6。(2)观察下方代码在while的条件表达式中有一个未知量n,根据已有线索可推断第1空中的赋值语句形式是求“n=”,结合已有线索解密过程需要遍历字符串s的每个元素,故推出“n=len(s)”。代码说明如下:ns="";p=s[0];i=2#变量p表示当前数字,i=2由于第一个位置表示开始的颜色,故从第二个数字开始取。whileinum=0whilei<=n-1and"0"<=s[i]<="9":num=num*10 +int(s[i])#遍历整个加密字符串s#设初值num=0,每次取出当前数字后再重置#若当前数字不是逗号且没有遍历完#则取出当前数字i+=1i+=1forj in range(num):ns+=pp=d[p]结合图析整个解密过程更加清楚:#继续遍历#若遇到逗号退出,则i的位置要加1。若遍历完了加1后,结束整个while循环。#访问num个数,来决定有几个0或1。#将个数添加到ns中#若开始是0,则下一个数字表示的是1。#若开始是1,则下一个数字表示的是0。#可通过字典d来实现切换。#结合returnns语句可知,ns为解密后输出的字符串。)高三技术 试题卷 第 7 页(共 14 页)(【解析二】本题以RLE字符压缩算法为背景,主要考察字符串处理。(1)压缩由结果“1,1,3,5,6”可知,原串由字符“1”开头,其中字符“1”连续出现1次,随后分别为3个“2”、5个“1”、6个“2”。因此字符“1”共出现6次。(2)①空初始化原串长度n =len(s);②空较为常规,考察字符的索引访问以及字符比较,当s[i]为数字字符时更新num变量,即“当前有效数据”。这里由于字符串本身可以进行比较,因此答案“0”<=s[i]<=”9”即可,不必要将字符“0”和“9”用ord函数转换。然而考虑到原串的结尾分隔符缺失,因此i==len(s)时需要强制退出循环,因此答案为“0”<=s[i]<=”9”andi< n。③空用于记录连续出现的num个字符,变量p记录了当前连续出现的基本字符,这一点可以从变量p的初始化和更新确认p= s[0]、p= d[p]。因此第③空更新返回值ns的表达式为ns+= p。)14. 小明搭建了图书查询系统,模拟如第 14 题图 a 所示自助图书借阅机的查询功能:把书籍放置在读写器 上,读写器读取到图书上 RFID 电子标签的唯一编号后通过 Wi-Fi 传输到 Web 服务器数据库中,并在该 数据库查询到该书籍的借阅日期。该系统结构示意图如第 14 题图 b 所示。若图书编号是“A20-2440 ”, 智能终端提交数据到 Web 服务器的 URL 为 http://192.168.3.200/cx bbh=A20-2440,请回答下列问题。第 14 题图 a 第 14 题图 b(1)关于该图书查询系统,下列说法正确的是 (多选,填字母)。(注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)A.该系统网络应用软件的实现架构是 B/S 架构B.数据库是服务器的外接数据存储设备C.智能终端的 IP 地址是 192.168.3.200D.若无线路由器出现故障,智能终端将无法提交数据到服务器(2)该系统实现查询功能的部分服务器端程序如下,请在划线处填入合适的代码@app.route(" ① ",methods=["GET"])def get_h() :DB="data/books.db"bbh = request.args.get("bbh")高三技术 试题卷 第 8 页(共 14 页)conn=sqlite3.connect( ② )#在数据库中查询编号为 bbh 的图书借阅日期存入变量 rslt ,代码略return rslt(3)除了给图书贴电子标签,并用读写器采集图书编号外,请写出两种其它采集图书编号的方 式 。(注: 回答 2 种,1 种正确得 1 分)(4)导出某月的图书借阅流水数据如第 14 题图 c 所示,统计借阅次数最多的前 5 名(相同借阅次数排 名相同),统计结果如第 14 题图 d 所示,部分 Python程序如下。第 14 题图 c 第 14 题图 dimport pandas as pdimport matplotlib.pyplot as pltdf= pd.read csv('bookdata.csv') #读取 bookdata.csv 中的数据df_gp=df.groupby('BookTitle',as index=False)['BookID'].#分组统计书籍被借阅次数n=len(df_gp)pm=[1]*nfor i in range(n):for j in range(n):if df_gp.at[i,'BookID']#通过行标签和列标签选取值进行比较pm[i]+= 1df_gp.insert(2,'排名', pm) #插入“排名”列,值为列表 pmdf _pm=df_gp[ ○B ] #筛选最受欢迎的五本图书df_pm=df_pm.sort_values('排名', ascending=True , ignore_index=True) #升序排列print('本月图书借阅次数最多的前五名:')print(df_pm['BookTitle'])①划线处应填入的代码为 (单选,填字母)。A.sum() B. mean() C.count() D.max()②在划线○B 处填写合适的代码。(【答案】(1)AD(2分,少选1分,错选0分)(2)①/cx(1分)②DB(1分,小写不给分)(3)图书贴条形码,并用扫描枪采集图书编号/用键盘(语音、手写板)输入图书编号/用摄像头识别图书封面、图书编号等(2分,1种1分))高三技术 试题卷 第 9 页(共 14 页)((4)①C(2分)②df_gp['排名']<=5或df_gp.排名<=5(2分)【解析一】本题考查信息系统、pandas模块以及分析处理数据的能力。(1)选项A:根据图b可得,用户可以通过浏览器为实现对服务器的访问,系统采用了B/S架构,所以A正确;选项B:数据库将数据以文件的形式存储在存储服务器中,而非外接的数据存储设备,B错误;选项C:服务器的IP为:192.168.3.200,C错误。选项D:根据图b可得,智能终端通过无线路由实现和服务器双向数据交互,所以D正确。(2)从题干中数据提交的URL可得,实现数据提交的功能的路由为“/cx”;sqlite3.connect(path)表示连接到数据库文件,path参数表示数据库文件的路径或者文件名。(3)采集图书编号的方式有多种:可以通过图书编号以条形码的形式编码,然后通过扫描枪扫描;也可以通过手动输入图书编号等方法。(4)第一空根据题干要求分组统计书籍被借阅次数,count()函数可以用于对Dataframe中每一列的非空值进行计数操作,以生成计数结果;第二空前面的代码段已经统计出每本书借阅次数,并且根据借阅次数计算排名,借阅次数越多,排名越高。所以最受欢迎的五本图书即为排名的前5名的记录,可以通过筛选“排名”数据列小于等于5的记录得到结果。【解析二】本题考查信息系统、pandas模块以及分析处理数据的能力。(1)A根据描述,传输、查阅数据均是通过浏览器完成,该系统是B/S架构,正确B数据库是系统软件,不是存储设备,错误C这是服务器的IP地址,不是智能终端的,错误D从图b可知,无线路由器故障,连接中断,无法传输数据,正确(2)①从URL不难得出正确路由:/cx;② 这里是要连接数据库文件DB,或者"data/books.db"亦可(3)贴条形码、二维码,用摄像头(扫描枪)采集数据、直接输入(键盘等设备)、摄像头智能识别均可。(4)① 根据要求,这里应该是分组计数,count(),选C② 根据前面双重循环的代码,遇到借阅次数比i多的,pm[i]累加,说明pm存储的是对应的排名,pm[i]如果是初值1,那就是没有借阅次数比它更多,排名第一。考虑到重名的情况,筛选条件是:df_gp['排名']<=5)15.某工厂生产的产品包含 n 个(编号为 0~n- 1)组件,其组装可由多名工人共同协助完成。组装时每个组件 都不可遗漏并能按序完成,有些组件存在前置组件(以下简称“前置 ”) ,即安装有先后顺序。例如,某 产品有 6 个组件,如第 15 题图 a 所示,组件 3 的前置是组件 1 和组件 2 ,即安装组件 3 需要在组件 1 和 组件 2 完成之后。若 0~5 号组件的组装所需单位时间分别为 2 ,5 ,2 ,4 ,3 ,5 ,则在工人数量不限的情 况下,所有组件安装完成最短需要 14 个单位时间。为了梳理产品组件的组装顺序,并计算所有组件安装完成所需的最短时间,编写程序模拟组装过程: 先同时组装前置总数为 0 的组件,完成后更新每个组件的前置总数,再重复以上步骤,直至所有组件安 装完毕,程序运行结果如第 15 题图 b 所示,请回答下列问题:高三技术 试题卷 第 10 页(共 14 页)(1)第 15 题图 a 所示产品的 1 号组件组装时长若缩短为 3 个单位时间,其它时间保持不变,则所有组 件安装完成所需最短时间为 个单位时间。(2)定义如下 cal(a,n)函数,参数 a 列表的每个元素包含两项,a[i][1]是组件编号,a[i][0]是 a[i][1]的前置编 号,例如 a 中某个元素值为[2 ,3] ,表示组件 2 是组件 3 的前置。该函数的返回值是列表 s 和列表 pre ,其中 s 记录所有组件的相互关系,pre[i]记录初始情况下组件 i 的前置总数。def cal (a, n):pre=[0]*ns=[[0 for i in range(n)] for j in range(n)] #创建 n*n 的二维数组 s ,元素初始值为 0for i in range(len(a)):x, y=a[i][0],a[i][1]s[x][y]=1pre[y]=return pre,s(3)定义如下 proc(n, s, pre)函数,该函数的返回值是列表 v ,v[i]代表从开始到组件 i 完成组装所需的最 短时间。请在划线处填入合适的代码。def proc(n, s, pre):head=tail=0que=[0]*nfor i in range(n):if pre[i]==0:que[tail]=itail+= 1while headx=que[head]head+= 1for i in range(n):if s[x][i]==1:pre[i]-= 1if pre[i]==0:que[tail]=itail+= 1v[i]=max(v[i], ① )return v"""组装编号 0~n- 1 的单个组件所需时间存入 t 列表,组件前置关系存入 a 列表,第 15 题图 a 所需时 间 t=[2,5,2,4,3,5];a=[[0,2],[2,3],[1,3],[3,5],[4,5]]"""n=len(t)print('编号为 0~'+str(n- 1)+' 的组件组装所需单位时间分别为: ’,t)v=t[:]pre, s=cal(a, n)高三技术 试题卷 第 11 页(共 14 页)(012345001202) (数组pre)v=proc(n, s, pre)data=[0]*nresult=[i for i in range(n)] #创建列表 result=[0, 1 ,2 , …… ,n- 1]for i in range(n):data[i]=v[i]-t[i] #data[i]表示组件 i 开始安装时间for i in range(n- 1): #按组件开始安装时间升序排序,开始安装时间相同时按组件序号升序 for j in range(n- 1-i):if data[result[j]]>data[result[j+1]]:②print('组件组装顺序: ', result,',安装完成所需最短时间: ', max(v))(4) 以下选项与题(3)加框处代码功能相同的是 (多选,填字母)。(注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)A.head != tail B.head 0(【答案】)((1分))(1) 13((2)pre[y]+1(2分))((3)①t[i]+v[x](2分))(②result[j],result[j+1]=result[j+1],result[j](2分))((4)AB(2分,少选1分,错选0分)(【解析一】)(本题考查基于索引的冒泡排序,自定义函数,队列等知识)((1)如下图所示,最短时间为2+2+4+5=13)((2)根据题意,pre[i]存储初始情况下组件i的前置总数,遍历数组a,对于每个a[i],a[i][0]是a[i][1](y))(的前置,故该空答案为pre[y]+1)((3)根据题意,以及样例,得到数组s如左图所示,数组pre如右图所示:)0 (1) (2) (3) (4) (5)(0) (0) (0) (1) (0) (0) (0)(1) (0) (0) (0) (1) (0) (0)(2) (0) (0) (0) (1) (0) (0)(3) (0) (0) (0) (0) (0) (1)(4) (0) (0) (0) (0) (0) (1)(5) (0) (0) (0) (0) (0) (0)(数组s)(根据题意,首先处理无前置的组件,故先遍历数组pre,把值为0的对应索引按顺序进行入队(que)操作;)(然后,当队列que非空时,依次进行出队操作,即对每个组件进行如下处理:)(如图所示,)高三技术 试题卷 第 12 页(共 14 页)若当前处理的组件为 0 ,以它为前置的是组件 2 ,则组件 2 的最短完成时间 v[2]更新为 v[0]+t[2]=4 ,同时把 2 入队若当前处理的组件为 1 ,以它为前置的是组件 3 ,则组件 3 的最短完成时间 v[3]更新为 v[1]+t[3]=8,若当前处理的组件为 4 , 以它为前置的组件是 5 ,则组件 5 的最短完成时间 v[5]更新为 v[4]+t[5]=8 ,如下图 所示若当前处理的组件为 2 ,以它为前置的组件是 3 ,则组件 3 的最短完成时间保持不变,同时因为 3 的两个前 置 1 ,2 都已经处理完成,故把 3 进行入队若当前处理的组件为 3 ,以它为前置的组件是 5 ,则组件 5 的最短完成时间更新为 v[3]+t[5]=13 ,同时把 5 入队最后处理的组件为 5 ,它是最后一个,没有前置组件,故处理结束所以,所有组件完成后的最短完成时间是 max(v) ,即 13第二空是对数组 data进行排序,根据题意,数组 result 是索引数组,此处的冒泡排序是基于索引的冒泡排序, 故答案为 result[j],result[j+1]=result[j+1],result[j] ,即比较的是 data 数组的相应数据,交换的是索引数组 result 的相应数据(4)加框处代码的含义是队列非空,故 A 正确。本题中,所有组件都会依次入队和出队,故 B 正确,C 不正确列表 que 的长度保持不变,故 D 不正确【解析二】(1)本题考查题目的理解和执行,执行过程如下高三技术 试题卷 第 13 页(共 14 页)((2)本题考查标记数组pre,pre[i]记录组件i的前景个数根据题意a中某个元素值为[2,3],则x =2,y=3,表示x是y的前件x y,组件y的前件数加一(3)①本题求v[i]的最早结束时间假设x1,x2,…,xm是组件i的前件,则组件i的最早开始时间为max(v[x1],v[x2],…,v[x]),所以组件i的最早结束时间为max(v[x1],v[x2],…,v[x]) + t[i] max(v[x1] + t[i],v[x2] + t[i],…,v[x] + t[i])"""②本题考查冒泡法排序,交换指针data[i]存储组件i的开始安装时间,result列表使用时,作为data列表的索引,所以reuslt列表是指针,存储第i个开始安装的组件的索引。当data[result[j]]>data[result[j+1]]时,节点result[j+1]的开始安装时间早于节点result[j]的开始安装时间。节点result[j+1]应该排在节点result[j]的前面,所以交换result[j+1]和result[j](4)本题考查顺序队列不为空的条件head!=tail head<tail本题处理n个组件,每个组件只入队一次,故全部组件入队时,tail= n所以n个组件没有处理完,即队列不为空的条件可以写成head)高三技术 试题卷 第 14 页(共 14 页) 展开更多...... 收起↑ 资源预览