资源简介 浙江省普通高校招生选考科目模拟考试技术 试题考生须知:1.本卷满分 100 分,考试时间 90 分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场、座位号及准考证号并核对条形码信息;3.所有答案必须写在答题卷上,写在试卷上无效,考试结束后,只需上交答题卷。第一部分 信息技术(共 50 分)一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 下列关于数据、信息和知识的说法,正确的是( )A. 在数据处理过程中不会有新的信息产生B. 只要获取足够信息,就能掌握丰富的知识C. 信息在数字化后才可以进行传递和共享D. 数据是信息的载体,数据经过解释可以获得信息2. 下列关于人工智能的说法,正确的是( )A. 行为主义人工智能通过模仿人类大脑中神经元之间的复杂交互来进行认知推理B. 强化学习应用了行为主义人工智能方法C. 网络上获取的数据可直接应用于深度学习D. 联结主义人工智能依据“交互—反馈”进行学习3. 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统的说法,正确的是( )A. 智能终端上既要安装系统软件,也要安装应用软件B. 网络环境的好坏,不会对智能购物车的使用造成影响C. 摄像头用于刷脸及商品扫描,属于输出设备D. 购物车可以直接拿到其他超市去使用4. 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统中使用的软硬件技术的说法,不正确的是( )A. 根据消费者需求提供路径导航,依靠的是陀螺仪和导航技术B. 找到商品二维码添加到购物车,依靠是摄像头和文字识别技术C. 用户登录后根据喜好推荐商品,依靠的是人脸识别和大数据处理技术D. 商品称重及自动金额计算,依靠的是重力传感器和购物系统5. 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统中数据的说法不正确的是( )A. 用户扫码商品的数据,可以保存在购物车的智能终端上B. 用户登录购物系统后,以往的消费数据会从系统数据库中被提取并分析C. 用户的购买记录,在用户付款结算后会保存到系统数据库中D. 用户增删当前购物车的商品,必须实时将数据上传到系统数据库6. 以下关于网络一些说法,正确的是( )A. 有线接入网络的设备需要 IP 地址,无线接入的不需要B. 在同一局域网中,不同的大楼之间允许出现相同 IP 地址的终端C. 在局域网中,DHCP 服务器负责将局域网的私有地址转换为公有地址D. 网址一般称作 URL,由网络协议、服务器地址及文件名等组成7. a、b 是两个正整数,a 不能被 b 整除。下列选项中,表达式结果与其他三项不同的是( )A. int(a/b)==a/b B. a-a/b*b==0 C. a//b==a/b D. a%b==08. 设栈 S 和队列 Q 的初始状态为空,元素按 a1,a2,a3,a4,a5,a6 的顺序依次通过栈 S 后进入队列 Q。若队列 Q 中的元素依次为 a2,a4,a3,a6,a5,a1,则栈 S 的容量至少是( )A. 6 B. 4 C. 3 D. 29. 假设完全二叉树的树根为第1 层,树中第10 层有5 个叶子节点,则完全二叉树最多有多少个节点?( )A. 2047 B. 2048 C. 2037 D. 203810. 有如下 python 程序段:m=int(input())def dex_oct(m):if m>=8:dex_oct(m//8)print(m%8,end='')else:print(m,end='')dex_oct(m)运行该程序时,如果输入 15,则输出的结果是( )A. 81 B. 71 C. 17 D. 1811. 有如下 Python 代码:import randoma=[25,56,74,28,40,34]b=[0,1,2,3,4,5]n=len(a)x=random.randint(0,2)for i in range(n-1-x):for j in range(n-1,i,-1):if a[b[j]]>a[b[j-1]]:b[j],b[j-1]=b[j-1],b[j]程序执行后列表 b 的值不可能的是( )A. [2,1,4,5,3,0] B. [2,1,4,5,0,3] C. [2,1,4,0,5,3] D. [2,1,0,4,5,3]12. 有一个数组,它的偶数位是一个升序的奇数,奇数位是降序的偶数,如[1,10,3,8,5,6,7,4,9,2] 因原数组中元素太多,小明想用对分查找的方法来确定各个元素所在的位置,请填充以下程序:#自定义函数 df,参数 a 是有序列表,k 是要查找的数,返回值为 k 所在的位置,找不到返回-1def df(a,k):i=0j=len(a)-1while i<=j:m=(i+j)//2if a[m]==k:return melif a[m]>k:j=m-1else:i=m+1return -1k=int(input('请输入 k:'))a=[1,10,3,8,5,6,7,4,9,2]b=[]c=[]for x in range(len(a)):if x%2==0:b.append( )else:c.append( )if k%2==1:y=else:y=if y>=0:print(y)else:print(‘k 不在列表中’)划线处填入的代码可以从下面的代码中选择①a[x] ②-a[x] ③df(b,k)*2 ④df(c,-k)*2+1 则正确选项为( )A. ①②③④ B. ②①③④ C. ①②④③ D. ②①④③二、非选择题(本大题共 3 小题,其中第 13 小题 7 分,第 14 小题 11 分,第 15 小题 8 分,共 26 分)13. 你是一名数据分析师,正在开发一个处理特定序列数据的应用程序,这些数据是以环状序列的形式提供的。现在需要设计一个算法,能够在这些环状序列中找出最长升序子串(若有多组最长子串,则输出最先出现那组)。例如环状序列“BCEGHBCEFGA”中最长升序子串是“ABCEGH”。程序运行界面如图所示。请输入序列数据:BCEGHBCEFGA最长升序长度是:6最长升序子串是:ABCEGH实现上述功能的程序段如下,请回答下列问题:(1)请在划线处填入合适的代码(2)加框处代码有误,请改正____s=input("请输入序列数据:")n=len(s)for i in range(n-1):if:breakif i==n-2:k=n-1maxc=nelse:maxc=1cnt=1p1=i+1p2=(p1+1)%nwhile①____:if s[p1]cnt+=1if cnt>maxc:maxc=cnt②____else:cnt=1p1=p2p2=(p2+1)%nprint("最长升序长度是:",maxc)s1=""for i in range(maxc):s1=s[k]+s1③____print("最长升序子串是:",s1)14. 某比赛组委会为了工作方便,决定开发一个成绩发布系统。工作人员在系统中录入成绩后,选手和观众可以在浏览器中查看各选手的成绩,如图:部分代码如下 :import pandas as pdfrom flask import Flask, render_template,request app=Flask( name ) @app.route('/',methods=["GET","POST"])def quanbancj():if request.method=="GET":return render_template('index.html', cj=df.values)else:xingm=request.form.get("xm")for i in a:if xingm==i[0]:return xingm+':'+str(i[1])else:return "没有人叫 "+xingm @app.route('/q1')def zuigaofen():px=df.sort_values('成绩')zgf=px.tail(1)return render_template('index.html', cj=zgf.values) @app.route('/q5')def qian5min():px=df.sort_values('成绩')zgf=px.tail(5)return render_template('index.html', cj=zgf.values) app.run(host='0.0.0.0',port=80)(1)组委会在决定采用网站发布选手的比赛成绩,在搭建信息系统的前期准备工作中属于____ 阶段(单选,填字母:A.需求分析 B.可行性分析 C.概要设计 D.详细设计),采用了____架构(B/S 或 C/S)。(2)如果服务器所在的电脑的 IP 地址为 172.28.12.30,那么要查看本次比赛前 5 名的情况,应该在浏览器中输入的网址为____(3)由于比赛人员多,网页一面显示不完,某选手通过搜索框搜索他自己,请问单击搜索按钮时所使用的请求是____(GET/POST)(4)该信息系统投入使用过程中,好多用户反映网页打开的速度慢,请写出 2 种提升用户体验的改进方法:____(5) 某次比赛的成绩为 [["小张",58],["小李",60],["小周",53],["小陈",63],["小吴",62],["小王",52]],为求出各选手的名次,请完善下面的代码: df=pd.DataFrame(a,columns=['姓名','成绩'])df['名次']=0for i in range(len(df)):____for j in range(len(df)):if df.at[j,'成绩']>=df.at[i,'成绩']:c+=1____15. 有一个经典的小游戏,主要任务是把一个九宫格内排乱的八个数码格利用空格,按要求重新排列好。移动时,只能横向或纵向将空格与其他格子交换位置。具体可参见下图。小明编写了一段Python 程序来模拟该游戏,在测试过程中发现并不是每一种初始的八数码排列布局, 最后都能转换为目标布局,在长期的研究过程中,发现可以通过计算逆序数的方法来判断八数码问题是否有解,如果初始序列与目标序列的逆序数的奇偶性相同,则问题有解,否则无解。(1)#计算序列对应的逆序数def inverse(data):ns=0for i in range(1,9):if data[i]==0 :continuefor j in range(0,i):if_______:ns=ns+1return ns(2)在移动格子的过程中,要是每一步都跟最后的结果靠近一点,一步步走下来,自然就可以解决问题了。但问题在于,怎么知道一个排列方案比另一个排列方案更接近目标,我们可以使用差异评估法,它分为两部分:①统计有多少个数字格不在自己的位置上,结果记为 f(n); ②所有位置不对的数字格,其横、纵坐标与目标位置横、纵坐标的差的绝对值,结果记为 h(n)。 当一个方案的 f(n)+h(n)比另一方案小的时候,就认为这个方案更接近目标。def comp_differ(data): # 评估差异度f,h = [],[]for index, n in enumerate(data): #enumerate 函数把 data 列表的各元素索引给 index,各元素的值给 nif n == 0:continueif index==n-1:f.append(0)else:f.append(1)cx = index//3_____________x,y=ps[n-1]h.append(abs(cx - x) + abs(cy - y))return sum(f) + sum(h)def get_steps(data): #根据差异评估值,筛选出差异度更小的排列方案i0 = data.index(0)ds = [data[ci]for ci in cr[i0]]r, dif = None, 100 # 默认交换的格子为None,默认差异度是 100for d in ds:t, id = data[:], data.index(d)t[i0], t[id] = t[id], t[i0]if t in puzs:continue__________ # 评估差异度if td < dif:dif = tdr = treturn rps={0:(0,0),1:(0,1),2:(0,2),3:(1,0),4:(1,1),5:(1,2),6:(2,0),7:(2,1),8:(2,2)}cr={0:(1,3),1:(0,2,4),2:(1,5),3:(0,4,6),4:(1,3,5,7),5:(2,4,8),6:(3,7),7:(4,6,8),8: (5,7)} # 可移动位关系steps, puzs = [], []def solve(data):result=Falsewhile data != mubiao:steps.append(data)if data not in puzs:puzs.append(data)data = get_steps(data)if data == None:steps.pop()data = steps[-1]if len(steps) > 50000:break # 步数太多就强制退出else :result=Truereturn resulta = [8,1,3,4,0,2,7,5,6]mubiao = [12,3,4,5,6,7,8,0]if____:print('无解')else:if solve(a) :print(f'解出来了,共{len(steps)}步。')else :浙江省普通高校招生选考科目模拟考试技术 试题考生须知:1.本卷满分 100 分,考试时间 90 分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场、座位号及准考证号并核对条形码信息;3.所有答案必须写在答题卷上,写在试卷上无效,考试结束后,只需上交答题卷。第一部分 信息技术(共 50 分)一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 下列关于数据、信息和知识的说法,正确的是( )A. 在数据处理过程中不会有新的信息产生B. 只要获取足够的信息,就能掌握丰富的知识C. 信息在数字化后才可以进行传递和共享D. 数据是信息的载体,数据经过解释可以获得信息【答案】D【解析】【详解】本题考查数据、信息与知识相关内容。信息,指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容,信息是加工了的数据,是经过组织的有结构的数据;数据是记录客观事物的、可鉴别的符号;知识是人们运用大脑对所获取或积累的信息进行的提炼、研究和分析的结果,能够精确的反应事物的本质;数据、信息、知识可以看作人类对客观事物感知的三个不同阶段。信息是数据经过储存、分析及解释后产生的意义,数据处理的过程中,会有新的信息产生,A选项错误。获取足够的信息,未必就能掌握丰富的知识,B选项错误。信息不经过数字化也可以进行传递和共享,C选项错误。数据是信息的载体,数据经过解释可以获得信息,D选项正确。故本题答案是D选项。2. 下列关于人工智能的说法,正确的是( )A. 行为主义人工智能通过模仿人类大脑中神经元之间的复杂交互来进行认知推理B. 强化学习应用了行为主义人工智能方法C. 网络上获取的数据可直接应用于深度学习D. 联结主义人工智能依据“交互—反馈”进行学习【答案】B【解析】【详解】本题考查人工智能相关内容。联结主义通过模仿人类大脑神经元之间的复杂交互来进行认知和推理;强化学习应用了行为主义人工智能方法;网络上获取的数据不可直接应用于深度学习;行为主义人工智能依据“交互—反馈”进行学习。故本题答案是B选项。3. 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统的说法,正确的是( )A. 智能终端上既要安装系统软件,也要安装应用软件B. 网络环境的好坏,不会对智能购物车的使用造成影响C. 摄像头用于刷脸及商品扫描,属于输出设备D. 购物车可以直接拿到其他超市去使用【答案】A【解析】【详解】本题考查信息系统相关内容。A选项,智能终端上既要安装系统软件,也要安装应用软件,选项正确。B选项,网络环境的好坏,会对智能购物车的使用造成影响,选项错误。C选项,摄像头用于刷脸及商品扫描,属于输入设备,选项错误。D选项,该购物车能只能在部署该信息系统的超市发挥作用,不可以直接拿到其他超市去使用,选项错误。故本题答案是A选项。4. 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统中使用的软硬件技术的说法,不正确的是( )A. 根据消费者需求提供路径导航,依靠的是陀螺仪和导航技术B. 找到商品二维码添加到购物车,依靠的是摄像头和文字识别技术C. 用户登录后根据喜好推荐商品,依靠的是人脸识别和大数据处理技术D. 商品称重及自动金额计算,依靠是重力传感器和购物系统【答案】B【解析】【详解】本题考查信息系统相关内容。ACD选项说法正确,B选项,找到商品二维码添加到购物车,依靠的是摄像头和图像识别技术,选项错误。故本题答案是B选项。5 阅读以下材料回答问题某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:硬件参数 软件功能智能终端:搭载鸿蒙操作系统,具备无线 WIFI 连接功能,搭配 10.1 寸显示屏摄像头:前置及后置全高清摄像头 搭载传感器:陀螺仪(方向传感)、重力感应器、射频感应器等多款传感器 超市购物系统:刷脸登录、商品扫码、商品称重及金额计算、刷脸或扫码支付 商品推荐系统:根据过往消费者喜好,推荐优惠商品 路径导航系统:根据用户需求提供路径导航下列关于该信息系统中数据的说法不正确的是( )A. 用户扫码商品的数据,可以保存在购物车的智能终端上B. 用户登录购物系统后,以往的消费数据会从系统数据库中被提取并分析C. 用户的购买记录,在用户付款结算后会保存到系统数据库中D. 用户增删当前购物车的商品,必须实时将数据上传到系统数据库【答案】D【解析】【详解】本题考查信息系统相关内容。由题目内容知:A选项,用户扫码商品的数据,可以保存在购物车的智能终端上,选项正确。B选项,用户登录购物系统后,以往的消费数据会从系统数据库中被提取并分析,选项正确。C选项,用户的购买记录,在用户付款结算后会保存到系统数据库中,选项正确。D选项,用户增删当前购物车的商品,不需要实时将数据上传到系统数据库,待用户选择商品结束后可以一并上传,选项错误。故本题答案是D选项。6. 以下关于网络的一些说法,正确的是( )A. 有线接入网络的设备需要 IP 地址,无线接入的不需要B. 在同一局域网中,不同的大楼之间允许出现相同 IP 地址的终端C. 在局域网中,DHCP 服务器负责将局域网的私有地址转换为公有地址D. 网址一般称作 URL,由网络协议、服务器地址及文件名等组成【答案】D【解析】【详解】本题考查网络相关内容。个人计算机、手机、平板、家用路由器等网络设备均需要配置IP地址,A选项错误。IP地址是一个唯一地址,用于标识互联网或本地网络上的设备,B选项错误。DHCP(动态主机配置协议)服务器是一种网络服务,它的作用是为计算机、网络设备、移动设备等客户端分配动态IP地址、子网掩码、默认网关、DNS服务器等网络配置信息,C选项错误。网址一般称作URL,由网络协议、服务器地址及文件名等组成,D选项正确。故本题答案是D选项。7. a、b 是两个正整数,a 不能被 b 整除。下列选项中,表达式结果与其他三项不同的是( )A. int(a/b)==a/b B. a-a/b*b==0 C. a//b==a/b D. a%b==0【答案】B【解析】【详解】本题考查Python表达式相关内容。A选项,表达式左侧结果为整型,右侧为浮点型,两者不相等,结果为False。B选项,左侧a-a/b*b-->a-a-->0,两侧相等,结果为True。C选项,左侧为整除运算,结果为整型,右侧为除运算,结果为浮点型,两侧不相等,结果为False。D选项,由“a 不能被 b 整除”知,a%b结果不为0,两侧不相等,结果为False。ACD选项结果相同,故本题答案是B选项。8. 设栈 S 和队列 Q 的初始状态为空,元素按 a1,a2,a3,a4,a5,a6 的顺序依次通过栈 S 后进入队列 Q。若队列 Q 中的元素依次为 a2,a4,a3,a6,a5,a1,则栈 S 的容量至少是( )A. 6 B. 4 C. 3 D. 2【答案】C【解析】【详解】本题考查栈、队列操作相关内容。元素按 a1,a2,a3,a4,a5,a6 的顺序依次通过栈 S 后进入队列 Q,依据栈先进后出,队列先进先出的特点,推知:队列中出现a2,说明a2出栈后再入队,则a2出栈前,栈中有 a1,a2,说明栈容量至少为2;队列中出现a4,说明a4出栈后再入队,则a4出栈前,栈中有 a1,a3,a4(a2已出栈),说明栈容量至少为3;队列中出现a3,说明a3出栈后再入队,则a3出栈前,栈中有 a1,a3,说明栈容量至少为2;队列中出现a6,说明a6出栈后再入队,则a6出栈前,栈中有 a1,a6,说明栈容量至少为2;队列中出现a5,说明a5出栈后再入队,则a5出栈前,栈中有 a1,a5,说明栈容量至少为2;队列中出现a1,说明a1出栈后再入队,则a1出栈前,栈中有a1,说明栈容量至少为1;总结为:栈容量至少为3,才可以实现题中叙述结果。故本题答案是C选项。9. 假设完全二叉树的树根为第1 层,树中第10 层有5 个叶子节点,则完全二叉树最多有多少个节点?( )A. 2047 B. 2048 C. 2037 D. 2038【答案】C【解析】【详解】本题考查二叉树相关内容。由题目内容可知,若求该完全二叉树最多有多少个节点,两种方法可解决:(1)该二叉树共11层,前10层为满二叉树,第10层有5个叶子节点,说明这5个节点没有孩子,则第11层将缺少10个节点才可以达到节点数最多。前10层节点数为:210-1=1023,第11层节点数最多为:211-1-10=210-10=1014。1023+1014=2037。(2)一棵完全二叉树达到最多节点,则该二叉树可以为满二叉树,但题目中告知第10层有5个叶子节点,则其最多节点数为11层满二叉树节点数-10,即:211-1-10=2037。以上两种方法都可得结果:2037。故本题答案是C选项。10. 有如下 python 程序段:m=int(input())def dex_oct(m):if m>=8:dex_oct(m//8)print(m%8,end='')else:print(m,end='')dex_oct(m)运行该程序时,如果输入 15,则输出的结果是( )A. 81 B. 71 C. 17 D. 18【答案】C【解析】【详解】本题考查Python程序。用户输入数字 m,即输入 15。 程序调用 dex_oct 函数,并将输入的数字传递给该函数。 dex_oct 函数进行八进制转换,通过递归调用自身实现对输入数字 m 的八进制转换。 输出的结果是将每次转换得到的余数逆序输出,即 15 转换为八进制为 17。 故答案为:C。11. 有如下 Python 代码:import randoma=[25,56,74,28,40,34]b=[0,1,2,3,4,5]n=len(a)x=random.randint(0,2)for i in range(n-1-x):for j in range(n-1,i,-1):if a[b[j]]>a[b[j-1]]:b[j],b[j-1]=b[j-1],b[j]程序执行后列表 b 的值不可能的是( )A. [2,1,4,5,3,0] B. [2,1,4,5,0,3] C. [2,1,4,0,5,3] D. [2,1,0,4,5,3]【答案】D【解析】【详解】本题考查列表排序算法。列表 a 包含了一些整数,列表 b 包含了索引值 [0, 1, 2, 3, 4, 5]。 程序通过嵌套的循环对列表 b 进行排序,排序的依据是根据列表 a 中元素的大小,由大到小进行冒泡排序。 随机选择了一个整数 x,该整数的范围是 [0, 2]。 在外层循环中,对 b 进行排序,但由于内层循环的范围是动态的 range(n-1-x),因此排序的次数和范围都可能受到随机选择的 x 的影响。 程序执行后,最终 b 的值是根据排序的结果得到的。 需要注意的是,由于 x 的取值范围是 [0, 2],可能导致外层循环的范围不同,影响排序的次数。 分析选项,找出不可能的情况: x=0,选项 A: [2, 1, 4, 5, 3, 0],是可能的排序结果。 x=1,选项 B: [2, 1, 4, 5, 0, 3],是可能的排序结果。x=2, 选项 C: [2, 1, 4, 0, 5, 3],是可能的排序结果。 选项 D: [2, 1, 0, 4, 5, 3],是不可能的排序结果。故答案为:D。12. 有一个数组,它的偶数位是一个升序的奇数,奇数位是降序的偶数,如[1,10,3,8,5,6,7,4,9,2] 因原数组中元素太多,小明想用对分查找的方法来确定各个元素所在的位置,请填充以下程序:#自定义函数 df,参数 a 是有序列表,k 是要查找的数,返回值为 k 所在的位置,找不到返回-1def df(a,k):i=0j=len(a)-1while i<=j:m=(i+j)//2if a[m]==k:return melif a[m]>k:j=m-1else:i=m+1return -1k=int(input('请输入 k:'))a=[1,10,3,8,5,6,7,4,9,2]b=[]c=[]for x in range(len(a)):if x%2==0:b.append( )else:c.append( )if k%2==1:y=else:y=if y>=0:print(y)else:print(‘k 不在列表中’)划线处填入的代码可以从下面的代码中选择①a[x] ②-a[x] ③df(b,k)*2 ④df(c,-k)*2+1 则正确选项为( )A. ①②③④ B. ②①③④ C. ①②④③ D. ②①④③【答案】A【解析】【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:第一个下划线处,若x%2==0成立,x为偶数,说明x位置元素为奇数,应存放在b列表内,故此处填写:a[x]。第二个下划线处,若x%2==0不成立,x为奇数,说明x位置元素为偶数,由“奇数位是降序的偶数”及df函数中查找表a为升序排列,保持相对位置不变,可以将x位置元素变为负数,存放在c列表内,则c列表内元素按照df函数要求升序排列。故此处填写:-a[x]。第三处下划线,若if k%2==1成立,说明要查找的数k为奇数,可调用df(b,k)函数进行查找,而b列表内元素位置*2即为其在原列表中a的位置,故此处填写:df(b,k)*2。第四处下划线,若if k%2==1不成立,说明要查找的数k为偶数,可调用df(c,-k)函数进行查找,而c列表内元素位置*2+1即为其在原列表中a的位置,故此处填写:df(c,-k)*2+1。所以,四个下划线处代码对应序号为:①②③④。故本题答案为A选项。二、非选择题(本大题共 3 小题,其中第 13 小题 7 分,第 14 小题 11 分,第 15 小题 8 分,共 26 分)13. 你是一名数据分析师,正在开发一个处理特定序列数据的应用程序,这些数据是以环状序列的形式提供的。现在需要设计一个算法,能够在这些环状序列中找出最长升序子串(若有多组最长子串,则输出最先出现那组)。例如环状序列“BCEGHBCEFGA”中最长升序子串是“ABCEGH”。程序运行界面如图所示。请输入序列数据:BCEGHBCEFGA最长升序长度是:6最长升序子串是:ABCEGH实现上述功能的程序段如下,请回答下列问题:(1)请在划线处填入合适的代码(2)加框处代码有误,请改正____s=input("请输入序列数据:")n=len(s)for i in range(n-1):if:breakif i==n-2:k=n-1maxc=nelse:maxc=1cnt=1p1=i+1p2=(p1+1)%nwhile①____:if s[p1]cnt+=1if cnt>maxc:maxc=cnt②____else:cnt=1p1=p2p2=(p2+1)%nprint("最长升序长度是:",maxc)s1=""for i in range(maxc):s1=s[k]+s1③____print("最长升序子串是:",s1)【答案】 ①. s[i]>s[i+1] ②. p1!=i或p2!=i+1 ③. k=p2 ④. k=(k-1)%n【解析】【详解】本题考查Python程序设计相关内容。分析题目及程序段可知,该程序功能求出环状序列中找出最长升序子串。①处,结合题意及该处代码上下文,遍历字符序列,若当前字符小于或等于下一个字符时继续遍历;若当前字符比下一个字符大时应结束此次遍历,i初值为0,因此加框处应改为s[i]>s[i+1]。②处,结合此代码所在if语句分析,若i==n-2,说明遍历字符序列时,所有元素都满足升序,则最大子串为该字符串本身,k保留最长子串最后一个字符的位置,maxc为字符串长度;否则,从i+1位置处继续遍历,由于序列为环状,故p1往前移动,最终会回到该位置,意味着遍历走了一圈,所以应在回到原位置前去寻找最大子串,故此处应填写:p1!=i或p2!=i+1。③处,若s[p1]maxc成立,说明已有更长子串出现,maxc需要更新为cnt,并保留更长子串最后一个字符位置p2,故此处应填写:k=p2。④处,上文已求得最长子串中的字符个数maxc,此处for循环作用是将最长子串存入s1中,以便后续输出。由于是环状序列,借鉴循环队列,采取取模运算计算下一个字符位置,故此处应填写:k=(k-1)%n。14. 某比赛组委会为了工作方便,决定开发一个成绩发布系统。工作人员在系统中录入成绩后,选手和观众可以在浏览器中查看各选手的成绩,如图:部分代码如下 :import pandas as pdfrom flask import Flask, render_template,request app=Flask( name ) @app.route('/',methods=["GET","POST"])def quanbancj():if request.method=="GET":return render_template('index.html', cj=df.values)else:xingm=request.form.get("xm")for i in a:if xingm==i[0]:return xingm+':'+str(i[1])else:return "没有人叫 "+xingm @app.route('/q1')def zuigaofen():px=df.sort_values('成绩')zgf=px.tail(1)return render_template('index.html', cj=zgf.values) @app.route('/q5')def qian5min():px=df.sort_values('成绩')zgf=px.tail(5)return render_template('index.html', cj=zgf.values) app.run(host='0.0.0.0',port=80)(1)组委会在决定采用网站发布选手的比赛成绩,在搭建信息系统的前期准备工作中属于____ 阶段(单选,填字母:A.需求分析 B.可行性分析 C.概要设计 D.详细设计),采用了____架构(B/S 或 C/S)。(2)如果服务器所在的电脑的 IP 地址为 172.28.12.30,那么要查看本次比赛前 5 名的情况,应该在浏览器中输入的网址为____(3)由于比赛人员多,网页一面显示不完,某选手通过搜索框搜索他自己,请问单击搜索按钮时所使用的请求是____(GET/POST)(4)该信息系统投入使用过程中,好多用户反映网页打开的速度慢,请写出 2 种提升用户体验的改进方法:____(5) 某次比赛的成绩为 [["小张",58],["小李",60],["小周",53],["小陈",63],["小吴",62],["小王",52]],为求出各选手的名次,请完善下面的代码: df=pd.DataFrame(a,columns=['姓名','成绩'])df['名次']=0for i in range(len(df)):____for j in range(len(df)):if df.at[j,'成绩']>=df.at[i,'成绩']:c+=1____【答案】 ①. A ②. B/S ③. http://172.28.12.30:80/q5 ④. POST ⑤. 换CPU,换内存,增加网络宽带等 ⑥. c=0 ⑦. df.at[i,'名次']=c【解析】【详解】本题考查信息系统相关内容。(1)信息系统搭建的前期准备的顺序为需求分析、可行性分析、开发模式选择、概要设计、详细设计。组委会决定采用网站发布选手的比赛成绩,在搭建信息系统的前期准备工作中属于需求分析,故①处答案为:A。②处,B/S(Browser/Server)结构,即浏览器服务器结构。用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现;C/S(Client/Server)结构,即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。采用网站发布选手的比赛成绩,则该系统采用了B/S结构,故②处答案为:B/S。(2)由“服务器所在的电脑的 IP 地址为172.28.12.30”、“return render_template('index.html', cj=zgf.values)@app.route('/q5')”及“app.run(host='0.0.0.0',port=80)”,可知,其网址为:http://172.28.12.30:80/q5。故③处答案为:http://172.28.12.30:80/q5。(3)在HTTP协议中,GET和POST是两种常用的请求方法,用于向服务器发送请求并获取响应。它们有以下特点:GET方法用于请求一个指定资源的表示形式,通常用于获取数据,不应该对服务器产生副作用,GET请求的参数会附加在URL后面。POST方法用于向指定的资源提交要被处理的数据,通常会导致服务器上的状态变化或产生副作用。POST请求的参数会包含在请求的正文中。某选手通过搜索框搜索他自己,请问单击搜索按钮时所使用的请求是POST,故④处答案为:POST。(4)网页打开速度慢,可以通过换CPU、换内存、增加网络宽带等方式提升用户体验,故⑤处答案为:换CPU、换内存、增加网络宽带(选两项回答即可)(5)分析代码段知,第i个选手的名次需要通过与其他选手成绩比较才能明确,c的作用是标识第i个学生的名次,其初始值为0,故⑥处答案为:c=0,⑦处答案为:df.at[i,'名次']=c。15. 有一个经典的小游戏,主要任务是把一个九宫格内排乱的八个数码格利用空格,按要求重新排列好。移动时,只能横向或纵向将空格与其他格子交换位置。具体可参见下图。小明编写了一段Python 程序来模拟该游戏,在测试过程中发现并不是每一种初始的八数码排列布局, 最后都能转换为目标布局,在长期的研究过程中,发现可以通过计算逆序数的方法来判断八数码问题是否有解,如果初始序列与目标序列的逆序数的奇偶性相同,则问题有解,否则无解。(1)#计算序列对应的逆序数def inverse(data):ns=0for i in range(19):if data[i]==0 :continuefor j in range(0,i):if_______:ns=ns+1return ns(2)在移动格子的过程中,要是每一步都跟最后的结果靠近一点,一步步走下来,自然就可以解决问题了。但问题在于,怎么知道一个排列方案比另一个排列方案更接近目标,我们可以使用差异评估法,它分为两部分:①统计有多少个数字格不在自己的位置上,结果记为 f(n); ②所有位置不对的数字格,其横、纵坐标与目标位置横、纵坐标的差的绝对值,结果记为 h(n)。 当一个方案的 f(n)+h(n)比另一方案小的时候,就认为这个方案更接近目标。def comp_differ(data): # 评估差异度f,h = [],[]for index, n in enumerate(data): #enumerate 函数把 data 列表的各元素索引给 index,各元素的值给 nif n == 0:continueif index==n-1:f.append(0)else:f.append(1)cx = index//3_____________x,y=ps[n-1]h.append(abs(cx - x) + abs(cy - y))return sum(f) + sum(h)def get_steps(data): #根据差异评估值,筛选出差异度更小的排列方案i0 = data.index(0)ds = [data[ci]for ci in cr[i0]]r, dif = None, 100 # 默认交换的格子为None,默认差异度是 100for d in ds:t, id = data[:], data.index(d)t[i0], t[id] = t[id], t[i0]if t in puzs:continue__________ # 评估差异度if td < dif:dif = tdr = treturn rps={0:(0,0),1:(0,1),2:(0,2),3:(1,0),4:(1,1),5:(1,2),6:(2,0),7:(2,1),8:(2,2)}cr={0:(1,3),1:(0,2,4),2:(1,5),3:(0,4,6),4:(1,3,5,7),5:(2,4,8),6:(3,7),7:(4,6,8),8: (5,7)} # 可移动位关系steps, puzs = [], []def solve(data):result=Falsewhile data != mubiao:steps.append(data)if data not in puzs:puzs.append(data)data = get_steps(data)if data == None:stepspop()data = steps[-1]if len(steps) > 50000:break # 步数太多就强制退出else :result=Truereturn resulta = [8,1,3,4,0,2,7,5,6]mubiao = [1,2,3,4,5,6,7,8,0]if____:print('无解')else:if solve(a) :print(f'解出来了,共{len(steps)}步。')else :print('失败了!')【答案】 ①. data[j ]> data [i] ②. cy=index % 3 ③. td = comp_differ(t) ④. inverse(a) % 2 != inverse(mubiao)% 2【解析】【详解】本题考查的是Python综合应用。(1)在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。故横线处应为:data[j ]> data [i]。 展开更多...... 收起↑ 资源列表 浙江三校省2023-2024学年高三上学期12月第一次选考科目联考模拟技术试题 Word版含解析.docx 浙江三校省2023-2024学年高三上学期12月第一次选考科目联考模拟技术试题(原卷版).docx