资源简介 浙江省普通高校招生信息技术选考模拟卷(二) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)阅读下列材料,回答第1至3题:某智慧校园系统集成了师生基本信息、教学活动记录以及系统设备状态等多类型数据,这些数据涵盖了文本、图像、音视频等多种形式。该系统借助人工智能技术分析服务器中的数据生成个性化学习建议,师生可通过终端设备进行查阅。1.关于智慧校园中数据的叙述,正确的是( )A.文本数据的价值大于音视频数据B.数据以二进制的形式存储在计算机中C.音视频数据容量大,是大数据D.该系统中的数据均为非结构化数据2.下列对于师生教学活动数据的处理方式,不合理的是( )A.定期删除重复的数据B.对教学视频的语音进行识别并生成字幕C.为了方便传输,对视频文件进行压缩D.为了节省存储空间,降低声音文件的音量3.下列措施中,不能有效地改善系统生成个性化建议的速度和精准度的是( )A.升级服务器的硬件配置B.提升终端设备的性能C.提高数据质量D.提高生成个性化建议算法的效率阅读下列材料,回答第4至6题:某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。4.下列关于该智能结算系统组成的说法,正确的是( )A.该系统中的用户只有师生B.手机APP属于该系统的应用软件C.识别菜品名称的摄像头是输出设备D.该系统中的数据仅包含菜品的名称和单价5.关于该智能结算系统功能与应用的描述,不正确的是( )A.校园卡的刷卡支付功能可采用射频识别技术实现B.菜品名称、单价等信息无需事先存储于该系统数据库C.可通过分析食堂点餐记录得出各菜品的受欢迎程度D.通过手机APP查看消费明细属于数据查询功能6.下列关于该智能结算系统中网络技术的说法,正确的是( )A.通过手机APP查询消费明细需要遵循网络协议B.移动终端必须连接学校局域网才能访问该系统C.摄像头通过Wi-Fi传输菜品信息时不需要传输介质D.若该系统服务器未连接网络,师生也能通过APP预订菜品阅读下列材料,回答第7至8题:某二进制编码方式,n位可生成2n个编码,第1个编码为n个0,第2,4,6…个编码通过对前一个编码执行操作①得到,第3,5,7…个编码通过对前一个编码执行操作②得到。操作①为最右位取反,操作②从右向左查找第一个数字1,将该位置左边的数字取反。7.已知4位二进制的第1、2、4个编码分别为0000、0001、0010,则第5个编码的值是( )A.0110 B.0011C.0101 D.10108.单个编码存放于数组gray中,gray[n-1]对应最右位,则以下流程图能正确实现操作②的是( )9.利用栈求逆波兰表达式的方法:从左往右扫描该表达式,遇到数字时入栈;遇到运算符号时,把处于栈上方的两个元素依次出栈,用运算符计算,并把结果压入栈中。如此反复操作,直至表达式扫描结束。使用该算法求表达式“3 7 2-+4*8 /”的值时,所使用的栈容量至少为( )A.2 B.3C.4 D.510.定义如下函数:def f(x,y,flag): if flag==False: return x*y//f(x,y,not flag) if x==y: return x elif x return f(x,y-x,flag) else: return f(x-y,y,flag)执行语句w=f(6,9,False)后,w的值为( )A.18 B.9C.6 D.311.某二分查找算法的Python程序段如下:n=0;flag=Truekey=int(input("输入要查找的数:"))i,j=0,9while i<=j and flag: m=(i+j) //2 if a[m]==key: flag=False elif a[m] i=m+1;n=n+1 else: j=m-1 n-=1若列表a中的元素依次是[5,11,18,23,27,33,34,41,45,69],程序运行后变量n的值是2,则输入的整数key值不可能是( )A.25 B.34C.45 D.6012.对非空链表进行反转操作。该链表存储在列表d中,如图所示,每个节点由数据区域和指针区域组成,h为头指针。实现上述功能的Python自定义函数如下,方框中应填入的正确代码为( )def revlst(d,h): p=d[h][1] d[h][1]=-1 while p!=-1: return d,hA.r=d[p][1]d[p][1]=hh=pp=rB.r=d[p][1]p=rh=pd[p][1]=hC.r=d[p][1]d[p][1]=hp=rh=pD.p=d[p][1]h=pr=d[p][1]p=r二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)13.某活动招募志愿者,将所有报名学生排成一排,然后从中选出连续的若干个人,使得选出的人中男女生人数相等。若有9位学生报名,性别信息依次存储在a[0]至a[8]中,0代表女生,1代表男生。统计第i位学生之前,即a[0]至a[i-1]中男生和女生总人数之差,依次存储在b[1]至b[9]中,如下表所示。男女生人数相等的连续序列中,总人数rs必定是偶数。从第1位学生开始枚举,排在第i位学生之前的男女生人数相差为b[i],与该学生后面第rs-1位学生比较,相差的人数若等于b[i],说明这个区间内的男女生人数是相等的。如rs值为6,由于b[2]等于b[8],因此第3人开始的6人就是选择的序列。请回答下列问题:(1)若数组a的值为[1,0,0,1,0,1],则男女生人数相等序列的最多人数为 人。 (2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。#输入报名学生总人数n与性别序列a,代码略b=[0]*(n+1) #存储第1至第n个人的男女生人数之差for i in range(1,n+1): if a[i-1]==0: b[i]=b[i-1]-1 else: ① rs=n-n%2while rs>=2: #枚举男女生人数相等的总人数 for i in range(0,n-rs+1): #枚举相等的人数起点 if ② : print("从第",i+1,"位开始的同学中,有相等的男女生人数",rs) rs=0 break ③ else: print("报名的全为女生或全为男生。")14.某小组开发静音车厢噪声检测系统。该系统将车厢划分为A~F六个区域,并在每个区域设置监测点。各监测点每隔6秒采集一次噪声值,通过网络传输至服务器并存储至数据库。服务器每接收到同一监测点上传的100个数据时,会自动计算出等效声压级,并据此向系统控制端发送指令,不同指令对应不同的提醒方式。(1)结合该系统的功能,下列硬件中非必要的是 (单选,填字母)。 A.IoT模块 B.声音传感器C.智能终端(2)在编写程序时,必须在服务器端实现的有 (多选,填字母)。 (注:全部选对的得2分,选对但不全的得1分,不选或有错的得0分)A.接收并存储车厢噪声数据到数据库 B.系统自动给乘务员发送提醒短信C.采集噪声数据 D.提供历史噪声数据的查询功能(3)某时刻提交数据的URL为http://172.20.10.3:8080/sub id=C&val=41.3,则服务器端与该URL关联的路由设置语句和传递的参数数量是 。 A.@app.route("/sub ") 2 B.@app.route("/sub") 4C.@app.route("/sub ") 4 D.@app.route("/sub") 2(4)若选择在各监测点先完成等效声压级计算,再发送给服务器并存储至数据库,则该方案的优势有__________________________________________________。(回答2项,1项正确得1分)。 (5)将系统中某天的数据导出到文件noise.csv中,部分数据如图a所示,分析各区域等效声压级超过40的次数并绘制柱形图,如图b所示。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。df=pd.read_csv("noise.csv")① ② ③ plt.bar(x,df1['等效声压级']) #绘制柱状图#设置绘图参数,显示如图b所示,代码略①②③处可选代码有( )A.df1=df1.groupby("区域编号").count() B.df=df.groupby("区域编号",as_index=False).count()C.df1=df[df["等效声压级"]>40] D.df=df1[df1["等效声压级"]]>40E.x=df1.index F.x=df1["区域编号"]15.小李为某医院体检科室编写体检项目引导程序,体检项目及所需时间如下表第一行(从第2列开始)所示,若同一时刻可以参加多个体检项目,则优先参加最左边的项目。对n位参加体检的人员按体检项目完成时间优先和体检项目时长优先两个原则安排下一个体检项目,输出每位受检者体检的项目顺序和每个项目的受检编号。设n的值为8,按到达医院时间先后顺序用0至7进行编号并存储在order数组中。先在order数组中找出优先参加体检的受检者,再按体检项目优先级找到可以参加的体检项目,具体安排过程如下表所示,表中第1列数字表示时间,其他数字表示受检者编号。体检开始curtime为0时,每位受检者按项目时长优先原则,前7位受检者依次参加各个体检项目,并按完成时间先后重新对order数组进行排序。1分钟后,编号为7的受检者优先选择体检项目,但只有“外科”可以参加。编号为6的受检者完成体检,但没有项目可以参加,处于等待状态,再次对order数组进行排序,值依次为[6,7,4,5,3,2,1,0]。当curtime为2时,可以参加体检的受检者有前4位,但可以参加的体检项目只有3个。curtime B超 (7分钟) CT (5分钟) 心电图 (4分钟) 抽血 (3分钟) 内科 (2分钟) C14检测 (2分钟) 外科 (1分钟)0 0 1 2 3123 34 2(1)若n的值为4,则第3位受检者第2个体检项目名称是 。 (2)定义如下arrpro(utime,order)函数,参数utime存储某个时刻每个受检者完成当前体检项目的时间,参数order存储升序排列的受检者编号。函数的功能是根据受检者完成时间utime,对order数据进行升序排序。def arrpro(utime,order): for i in range(len(order)-1): for j in range(len(order)-i-1): if utime[order[j]]>utime[order[j+1]]: order[j],order[j+1]=order[j+1],order[j] return order若utime的值为[10,11,14,10],order的值为[1,0,3,2],调用该函数,则加框处语句执行次数为 。 (3)实现体检项目分配功能的部分Python程序如下,程序中用到的列表函数与方法下表所示,请在程序中划线处填入合适的代码。函数与方法 功能w.append(x) 在列表w末尾添加元素xw.pop(x) 删除列表w索引为x的元素def arruser(u,curtime): #函数功能是在当前时间curtime时,编号为u的受检者分配相应的体检项目。 j=0 while j if curtime>=protime[j] and u not in phy[j]: phy[j].append(u) ① utime[u]=protime[j]=xtime ulst[u].append(j) break j+=1pro=[['B超',7],['CT',5],['心电图',4],['抽血',3],['内科',2],['C14检测',2],['外科',1]]npro=len(pro)#读取受检者名单,并统计人数,存储到变量n中,代码略。ulst=[[]for i in range(n)] #依次存储每位体检者的体检项目编号utime=[0]*n #存储每位体检者当前体检项目的结束时间order=[i for i in range(n)] #按当前体检项目的结束时间升序排列的编号protime=[0]*npro #存储某个时刻每个体检项目的结束时间phy=[[]for i in range(npro)] #存储每个体检项目的受检者编号curtime=0while len(order)>0: i=0 while ② : arruser(order[i],curtime) i+=1 order=arrpro(utime,order) i=len(order)-1 while i>=0: if ③ : order.pop(i) #删除完成所有体检项目的受检者编号 i-=1 curtime+=1#输出每位受检者体检的项目顺序和每个项目的受检编号,代码略。浙江省普通高校招生信息技术选考模拟卷(二) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)阅读下列材料,回答第1至3题:某智慧校园系统集成了师生基本信息、教学活动记录以及系统设备状态等多类型数据,这些数据涵盖了文本、图像、音视频等多种形式。该系统借助人工智能技术分析服务器中的数据生成个性化学习建议,师生可通过终端设备进行查阅。1.关于智慧校园中数据的叙述,正确的是( )A.文本数据的价值大于音视频数据B.数据以二进制的形式存储在计算机中C.音视频数据容量大,是大数据D.该系统中的数据均为非结构化数据答案 B解析 A选项信息的价值因人而异。C选项大数据须具备4大特征。2.下列对于师生教学活动数据的处理方式,不合理的是( )A.定期删除重复的数据B.对教学视频的语音进行识别并生成字幕C.为了方便传输,对视频文件进行压缩D.为了节省存储空间,降低声音文件的音量答案 D解析 A选项重复的数据有时也是有意义的。B选项语音转换成字幕更加有利于学生理解。C选项文件压缩后容量减少,有利于传输和存储。D选项降低声音文件的音量不会影响文件容量。3.下列措施中,不能有效地改善系统生成个性化建议的速度和精准度的是( )A.升级服务器的硬件配置B.提升终端设备的性能C.提高数据质量D.提高生成个性化建议算法的效率答案 B解析 人工智能的智能水平取决于算法、算力和数据,B选项终端设备的性能不会影响服务器上人工智能的生成。阅读下列材料,回答第4至6题:某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。4.下列关于该智能结算系统组成的说法,正确的是( )A.该系统中的用户只有师生B.手机APP属于该系统的应用软件C.识别菜品名称的摄像头是输出设备D.该系统中的数据仅包含菜品的名称和单价答案 B解析 B选项手机APP是为了某一目的开发使用。C选项摄像头是输入设备。5.关于该智能结算系统功能与应用的描述,不正确的是( )A.校园卡的刷卡支付功能可采用射频识别技术实现B.菜品名称、单价等信息无需事先存储于该系统数据库C.可通过分析食堂点餐记录得出各菜品的受欢迎程度D.通过手机APP查看消费明细属于数据查询功能答案 B解析 A选项刷卡支付是传感技术中的射频识别技术。B选项菜品名称、单价等信息往往存储在数据库中。D选项查看消费明细是查询数据库中的数据。6.下列关于该智能结算系统中网络技术的说法,正确的是( )A.通过手机APP查询消费明细需要遵循网络协议B.移动终端必须连接学校局域网才能访问该系统C.摄像头通过Wi-Fi传输菜品信息时不需要传输介质D.若该系统服务器未连接网络,师生也能通过APP预订菜品答案 A解析 A选项网络协议是网络的重要基础,数据传输必须遵循网络协议。B选项也可能通过互联网进行数据访问。C选项无线电波也是传输介质。D选项未连接网络,不能访问数据库中的数据。阅读下列材料,回答第7至8题:某二进制编码方式,n位可生成2n个编码,第1个编码为n个0,第2,4,6…个编码通过对前一个编码执行操作①得到,第3,5,7…个编码通过对前一个编码执行操作②得到。操作①为最右位取反,操作②从右向左查找第一个数字1,将该位置左边的数字取反。7.已知4位二进制的第1、2、4个编码分别为0000、0001、0010,则第5个编码的值是( )A.0110 B.0011C.0101 D.1010答案 A解析 第5个编码由第4个编码操作②得到,操作②从右向左查找第一个1,将该位置左边的数字取反。8.单个编码存放于数组gray中,gray[n-1]对应最右位,则以下流程图能正确实现操作②的是( )答案 B解析 A和D选项循环条件是找到数字0结束循环,循环条件不正确。C选项应将前一个位置j-1的数字取反,而不是当前j的位置。9.利用栈求逆波兰表达式的方法:从左往右扫描该表达式,遇到数字时入栈;遇到运算符号时,把处于栈上方的两个元素依次出栈,用运算符计算,并把结果压入栈中。如此反复操作,直至表达式扫描结束。使用该算法求表达式“3 7 2-+4*8 /”的值时,所使用的栈容量至少为( )A.2 B.3C.4 D.5答案 B解析 数字3,7,2入栈,需3个空间。7-2的值为5,入栈,3+5的值为8入栈,此时栈中只有1个元素。8*4的值为32,32再除8,得到结果为4。10.定义如下函数:def f(x,y,flag): if flag==False: return x*y//f(x,y,not flag) if x==y: return x elif x return f(x,y-x,flag) else: return f(x-y,y,flag)执行语句w=f(6,9,False)后,w的值为( )A.18 B.9C.6 D.3答案 A解析 f(6,9,False)将调用6*9//f(6,9,True),f(6,9,True)将调用f(6,3,True),f(6,3,True) 将调用f(3,3,True),f(3,3,True)值为3,回归后,函数的结果为6*9//3,值为18。11.某二分查找算法的Python程序段如下:n=0;flag=Truekey=int(input("输入要查找的数:"))i,j=0,9while i<=j and flag: m=(i+j) //2 if a[m]==key: flag=False elif a[m] i=m+1;n=n+1 else: j=m-1 n-=1若列表a中的元素依次是[5,11,18,23,27,33,34,41,45,69],程序运行后变量n的值是2,则输入的整数key值不可能是( )A.25 B.34C.45 D.60答案 B解析 本题考查二分查找算法。用二叉搜索树画出各个元素的搜索顺序,图中各个左子树方向可以让n自减,右子树方向可以让n自增。A选项,若key=25,则从节点23的右侧出循环,此时m、n的值是3、2,同理key=45,m、n的值是8、2,key=60,m、n的值是9、2。key=34,m、n的值是6、1。12.对非空链表进行反转操作。该链表存储在列表d中,如图所示,每个节点由数据区域和指针区域组成,h为头指针。实现上述功能的Python自定义函数如下,方框中应填入的正确代码为( )def revlst(d,h): p=d[h][1] d[h][1]=-1 while p!=-1: return d,hA.r=d[p][1]d[p][1]=hh=pp=rB.r=d[p][1]p=rh=pd[p][1]=hC.r=d[p][1]d[p][1]=hp=rh=pD.p=d[p][1]h=pr=d[p][1]p=r答案 A解析 h为链表头指针,当前指针p从第2个节点开始遍历链表。将原来的节点后继变成节点前驱,代码为d[p][1]=h,但需要先保存p的后继节点r,否则修改p的指针后就找不到r了,故先执行r=d[p][1],而后更新头指针h和p的位置。二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)13.某活动招募志愿者,将所有报名学生排成一排,然后从中选出连续的若干个人,使得选出的人中男女生人数相等。若有9位学生报名,性别信息依次存储在a[0]至a[8]中,0代表女生,1代表男生。统计第i位学生之前,即a[0]至a[i-1]中男生和女生总人数之差,依次存储在b[1]至b[9]中,如下表所示。男女生人数相等的连续序列中,总人数rs必定是偶数。从第1位学生开始枚举,排在第i位学生之前的男女生人数相差为b[i],与该学生后面第rs-1位学生比较,相差的人数若等于b[i],说明这个区间内的男女生人数是相等的。如rs值为6,由于b[2]等于b[8],因此第3人开始的6人就是选择的序列。请回答下列问题:(1)若数组a的值为[1,0,0,1,0,1],则男女生人数相等序列的最多人数为 人。 (2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。#输入报名学生总人数n与性别序列a,代码略b=[0]*(n+1) #存储第1至第n个人的男女生人数之差for i in range(1,n+1): if a[i-1]==0: b[i]=b[i-1]-1 else: ① rs=n-n%2while rs>=2: #枚举男女生人数相等的总人数 for i in range(0,n-rs+1): #枚举相等的人数起点 if ② : print("从第",i+1,"位开始的同学中,有相等的男女生人数",rs) rs=0 break ③ else: print("报名的全为女生或全为男生。")答案 (1)6 (2)①b[i]=b[i-1]+1 ②b[rs+i]==b[i] ③rs-=2解析 (1)经过统计后,前6人的相差人数为0,最长为6人。(2)①如果是男生,则相差的人数在前次相差人数的基础上再加上1个人。②rs表示男女生人数相等的总人数,该数肯定为偶数,表达式n-n%2含义为n若为奇数,最多人数为n-1,若n为偶数,最多人数是n,循环变量i从索引0开始遍历到n-n%2-rs,若b[rs+i]等于b[i],表示从第i+1开始的序列是男女生人数相等的序列。③总人数rs每次递减2人。14.某小组开发静音车厢噪声检测系统。该系统将车厢划分为A~F六个区域,并在每个区域设置监测点。各监测点每隔6秒采集一次噪声值,通过网络传输至服务器并存储至数据库。服务器每接收到同一监测点上传的100个数据时,会自动计算出等效声压级,并据此向系统控制端发送指令,不同指令对应不同的提醒方式。(1)结合该系统的功能,下列硬件中非必要的是 (单选,填字母)。 A.IoT模块 B.声音传感器C.智能终端(2)在编写程序时,必须在服务器端实现的有 (多选,填字母)。 (注:全部选对的得2分,选对但不全的得1分,不选或有错的得0分)A.接收并存储车厢噪声数据到数据库 B.系统自动给乘务员发送提醒短信C.采集噪声数据 D.提供历史噪声数据的查询功能(3)某时刻提交数据的URL为http://172.20.10.3:8080/sub id=C&val=41.3,则服务器端与该URL关联的路由设置语句和传递的参数数量是 。 A.@app.route("/sub ") 2 B.@app.route("/sub") 4C.@app.route("/sub ") 4 D.@app.route("/sub") 2(4)若选择在各监测点先完成等效声压级计算,再发送给服务器并存储至数据库,则该方案的优势有__________________________________________________。(回答2项,1项正确得1分)。 (5)将系统中某天的数据导出到文件noise.csv中,部分数据如图a所示,分析各区域等效声压级超过40的次数并绘制柱形图,如图b所示。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。df=pd.read_csv("noise.csv")① ② ③ plt.bar(x,df1['等效声压级']) #绘制柱状图#设置绘图参数,显示如图b所示,代码略①②③处可选代码有( )A.df1=df1.groupby("区域编号").count() B.df=df.groupby("区域编号",as_index=False).count()C.df1=df[df["等效声压级"]>40] D.df=df1[df1["等效声压级"]]>40E.x=df1.index F.x=df1["区域编号"]答案 (1)A (2)ABD (3)D (4)①降低了服务器负担 ②降低了通信开销 ③节省了服务器存储空间(5)①C ②A ③E解析 (1)智能终端可以用有线网络进行传输数据,因此IoT模块非必要。(2)C选项采集噪声数据需要在智能终端程序中实现。(3)由URL为http://172.20.10.3:8080/sub id=C&val=41.3可知,路由为“/sub”,参数数量为2个。(4)数据在各监测点完成等效声压级计算,减轻了服务器的压力。(5)首先筛选出等效声压级超过40的数据,再按区域进行分组并计数。A选项中分组依据区域编号已经作为索引,作图时只能选择E。15.小李为某医院体检科室编写体检项目引导程序,体检项目及所需时间如下表第一行(从第2列开始)所示,若同一时刻可以参加多个体检项目,则优先参加最左边的项目。对n位参加体检的人员按体检项目完成时间优先和体检项目时长优先两个原则安排下一个体检项目,输出每位受检者体检的项目顺序和每个项目的受检编号。设n的值为8,按到达医院时间先后顺序用0至7进行编号并存储在order数组中。先在order数组中找出优先参加体检的受检者,再按体检项目优先级找到可以参加的体检项目,具体安排过程如下表所示,表中第1列数字表示时间,其他数字表示受检者编号。体检开始curtime为0时,每位受检者按项目时长优先原则,前7位受检者依次参加各个体检项目,并按完成时间先后重新对order数组进行排序。1分钟后,编号为7的受检者优先选择体检项目,但只有“外科”可以参加。编号为6的受检者完成体检,但没有项目可以参加,处于等待状态,再次对order数组进行排序,值依次为[6,7,4,5,3,2,1,0]。当curtime为2时,可以参加体检的受检者有前4位,但可以参加的体检项目只有3个。curtime B超 (7分钟) CT (5分钟) 心电图 (4分钟) 抽血 (3分钟) 内科 (2分钟) C14检测 (2分钟) 外科 (1分钟)0 0 1 2 3123 34 2(1)若n的值为4,则第3位受检者第2个体检项目名称是 。 (2)定义如下arrpro(utime,order)函数,参数utime存储某个时刻每个受检者完成当前体检项目的时间,参数order存储升序排列的受检者编号。函数的功能是根据受检者完成时间utime,对order数据进行升序排序。def arrpro(utime,order): for i in range(len(order)-1): for j in range(len(order)-i-1): if utime[order[j]]>utime[order[j+1]]: order[j],order[j+1]=order[j+1],order[j] return order若utime的值为[10,11,14,10],order的值为[1,0,3,2],调用该函数,则加框处语句执行次数为 。 (3)实现体检项目分配功能的部分Python程序如下,程序中用到的列表函数与方法下表所示,请在程序中划线处填入合适的代码。函数与方法 功能w.append(x) 在列表w末尾添加元素xw.pop(x) 删除列表w索引为x的元素def arruser(u,curtime): #函数功能是在当前时间curtime时,编号为u的受检者分配相应的体检项目。 j=0 while j if curtime>=protime[j] and u not in phy[j]: phy[j].append(u) ① utime[u]=protime[j]=xtime ulst[u].append(j) break j+=1pro=[['B超',7],['CT',5],['心电图',4],['抽血',3],['内科',2],['C14检测',2],['外科',1]]npro=len(pro)#读取受检者名单,并统计人数,存储到变量n中,代码略。ulst=[[]for i in range(n)] #依次存储每位体检者的体检项目编号utime=[0]*n #存储每位体检者当前体检项目的结束时间order=[i for i in range(n)] #按当前体检项目的结束时间升序排列的编号protime=[0]*npro #存储某个时刻每个体检项目的结束时间phy=[[]for i in range(npro)] #存储每个体检项目的受检者编号curtime=0while len(order)>0: i=0 while ② : arruser(order[i],curtime) i+=1 order=arrpro(utime,order) i=len(order)-1 while i>=0: if ③ : order.pop(i) #删除完成所有体检项目的受检者编号 i-=1 curtime+=1#输出每位受检者体检的项目顺序和每个项目的受检编号,代码略。答案 (1)抽血 (2)2 (3)①xtime=curtime+pro[j][1] ②i③len(ulst[order[i]])==npro解析 本题考查冒泡排序算法和二维数组应用等知识。(1)第3位受检者第1个体检项目是心电图,4分钟后,B超和CT还在进行中,只有抽血有空,具体如下表所示。curtime B超 (7分钟) CT (5分钟) 心电图 (4分钟) 抽血 (3分钟) 内科 (2分钟) C14检测 (2分钟) 外科 (1分钟)0 0 1 2 3123 34 2(2)程序的功能是按utime升序排列,加框处语句功能是交换两个数据。排序过程中,没有改变utime数组中数据,而是改变索引数组order的值,排序后order的值为[0,3,1,2],可见元素1与元素0和3发生交换,因此该语句执行2次。(3)①按体检项目优先级依次遍历各个项目,若当前时间curtime大于或等于该项目结束时间protime[j],并且该项目phy[j]不包含编号u,表示未完成该项体检,那么用户u将参加项目j的体检,需更新该项目的完成时间protime[j]和该用户完成当前项目的时间utime[u],更新后的时间为当前时间curtime加上该项目所需时间pro[j][1]。②按完成时间先后依次遍历各个受检者,只有体检完成时间utime[order[i]]小于或等于当前时间curtime的用户,才可以添加新的体检项目。③ulst依次存储每位体检者的体检项目编号,每参加一个项目,添加一个项目的索引号,完成所有体检项目的受检者编号的条件是存储该用户的列表ulst[order[i]]长度达到所有项目的数量npro。 展开更多...... 收起↑ 资源列表 浙江省普通高校招生信息技术选考模拟卷(二).docx 浙江省普通高校招生信息技术选考模拟卷(二)无答案.docx