内容正文:
衢州、丽水、湖州2025年4月三地市高三教学质量检测
技术试题卷
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
下列关于数据和信息说法,正确的是( )
A. 春晚直播的音视频是结构化数据
B. 同一节目针对不同的人群,其信息的价值是相同的
C. 使用手语、音频等方式传递信息,说明信息的载体具有多样性
D. 视障版与听障版春晚传递的信息完全相同
2. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
关于信息安全与信息社会责任,某博主的行为合适的是( )
A. 将春晚视频剪辑后用于商业获利 B. 将演员的手机号码发送至粉丝群
C. 未经允许出售直播中参演人员个人照片 D. 科普无障碍直播中的智能技术
3. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
彩排时,对演员配备的耳返设备使用二进制进行编号。若前3位表示演员所在组别,后5位表示演员在组内的序号,则第2组第16位演员的耳返编号是( )
A. 00110111 B. 00101111 C. 01101110 D. 01010100
4. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列关于该信息系统组成与功能的说法,不正确的是( )
A. 触摸屏属于该系统的硬件 B. 考虑该系统的局限性,增设手动开箱功能
C. 查询积分需要应用软件支持 D. 环保积分保存在学生校园卡中
5. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列关于该系统中网络技术的说法,正确的是( )
A. 电子班牌可以没有IP地址 B. 上传数据至服务器无需遵循网络协议
C. 该系统可以在局域网中实现 D. 电子班牌只能通过有线方式接入系统
6. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列对该系统的改造措施,使用了人工智能技术的是( )
A. 增设人脸识别方式认证身份 B. 成功回收垃圾后自动关盖
C. 垃圾箱满后自动发送短信给后勤人员 D. 增设实时自动更新的积分榜
7. 某电商平台响应国家政策,对购买一级能效商品给予20%补贴,二级能效的15%补贴,单件补贴上限2000元。某顾客一次性购买n件电器,已知每件电器的原价W及能效等级T(1为一级,2为二级)。计算该顾客付款金额的部分流程图如图所示,(1)~(4)处可选表达式为
①s←s+W-p ②p←2000 ③i≤n? ④T=1?
则(1)~(4)处表达式序号依次为( )
A. ③④①② B. ④③①② C. ③④②① D. ④③②①
8. 对于任意非空字符串s,甲、乙程序段输出结果相同,则乙程序段加框处的正确代码为( )
def f(s):
if len(s)<=1:
return s
if s[0]==s[1]:
return f(s[1:])
return s[0]+f(s[1:])
print(f(s))
r=""
n=len(s)
for i in range(n):
if i==0 or s[i]!=s[i-1]:
print(r)
甲程序段
乙程序段
A. r=r+s[i] B. r=s[i]+r C. r=r+s[i-1] D. r=s[i-1]+r
9. 某二叉树如图所示,下列遍历方式中,结果呈升序排列的是( )
A. 后序遍历 B. 中序遍历
C. 前序遍历 D. 从根开始按层次逐个遍历
10. 数组元素a[0]~a[n-1]已按降序排列,现要将a[pos](0≤pos≤n-1)的值加5,并保持数组的有序性不变,实现该功能的部分程序段如下,括号中应填入的正确代码为( )
t=a[pos]+5
LR=0,pos-1
while L<=R:
m=(L+R)//2
if t < a[m]:
L=m+1
else:
R=m-1
for i in range( ):
a[i]=a[i-1]
a[L]=t
A. pos,R,-1 B. pos,L,-1 C. R,pos D. L,pos
11. 有如下Python程序:
import random
def f(s):
i,j=0,len(s)-1
k=random.randint(1,3)
ans=""
flag=True
while i<=j:
if flag or s[i]<=s[j]:
ans+=s[i]
i+=1
else:
ans+=s[k]
j-=1
flag=not flag
return ans
执行语句print(f("avocado"))后,下列输出结果不可能的是( )
A. aavaoac B. avvvovc C. aovoooc D. acvcocc
12. 列表lst长度为20,如下表所示,其中lst[5]~1st[15]各元素的值均为小于等于0的随机整数。执行如下程序段,输出结果是( )
i
0
1
2
3
4
……
16
17
18
19
1st[i]
2
-3
9
1
2
……
-2
0
-6
5
n=len(lst)
p=lst[0]
for i in range(0,n):
tmps=0
j=i
while(j+1)%n!=i:
tmps+=lst[j]
if tmps>p:
p=tmps
j=(j+1)%n
print(p)
A. 10 B. 12 C. 16 D. 19
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某快递中转站有分拣机器人调度系统,该系统监测机器人电量并调度低电量机器人充电。充电区域有6个普通充电桩(编号0-5)和1个紧急充电桩(编号6)。调度规则:若机器人处于电量紧急状态,调度至等待时间最短的充电桩;若为非紧急状态,调度至等待时间最短的普通充电桩。机器人状态数据格式为[a,b],其中a为待充电时长,b为状态(1为紧急,0为普通)。
(1)某时刻0~6号充电桩完成当前任务所需时间依次为7、8、2、4、5、3、1,此时有1台状态为[4,1]的机器人到达。根据规则,该机器人将被调度到的充电桩编号为_________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
n=7 #充电桩个数
wt=[0]*n #列表wt长度为n,各元素值均为0
while True:
#系统读取当前机器人待充电时长以及状态,存入变量r,代码略
p=0
mt=wt[p]
for i in range(1,n-1):
if_________:
p=i
mt=wt[i]
if_________:
if mt>wt[n-1]:
wt[n-1]+=r[0]
#调度机器人前往n-1号充电桩,代码略
else:
_________
#调度机器人前往p号充电桩,代码略
else:
#调度机器人前往p号充电桩,代码略
#输出当前机器人等待时间,代码略
14. 某小组开发静音车厢噪声检测系统。该系统将车厢划分为A~F六个区域,并在每个区域设置监测点。各监测点每隔6秒采集一次噪声值,通过网络传输至服务器并存储至数据库。服务器每接收到同一监测点上传的100个数据时,会自动计算出等效声压级,并据此向系统控制端发送指令,不同指令对应不同的提醒方式。
(1)结合该系统的功能,下列硬件中非必要的是_________(单选,填字母)。
A.IoT模块 B.声音传感器 C.智能终端
(2)在编写程序时,必须在服务器端实现的有_________(多选,填字母)。
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") 4
C.@app.route("/sub?") 4 D.@app.route("/sub") 2
(4)若选择在各监测点先完成等效声压级计算,再发送给服务器并存储至数据库,则该方案的优势有_________。
(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["等效声压级"]]>40
E.x=df1.index
F.x=df1["区域编号"]
15. 某市A区域有一套租车系统,设有m个公共自行车租车点(编号0~m-1),市政部门投放n辆自行车(编号1~n,n为m的倍数)并平均分配。用户可在租车点借车,之后将自行车归还到任意租车点。每天特定时间,工作人员根据系统指示,从存量超出平均数的租车点回收最新归还的若干辆自行车,再分配给存量低于平均数的租车点,以保证各租车点自行车数量相等。
若m为3,n为12,初始自行车分配情况如图a所示。经过若干次租借与归还操作(记录如图b)之后,各租车点的自行车编号如图c所示。
回收时,工作人员从A2租车点回收8号和1号自行车,并重新分配给A1租车点,完成后,A1租车点的自行车编号为8,1,5,7;A2租车点的自行车编号为9,10,11,12。
(1)若将图b中最后一条租借信息的自行车编号由6修改为5,则次日A0租车点的自行车编号为__________。
(2)定义如下rent(x,y,z)函数,参数x,y,z分别表示编号x的自行车从y租车点借出后归还至z租车点。函数功能是处理一条借还车记录。
def rent(x,y,z):
queinfo[y][1]-=1
queinfo[z][1]+=1
head=queinfo[y][0]
if x==bikelst[head][0]:
①bikelst[head][1]=queinfo[z][0]
②queinfo[z][0]=head
③queinfo[y][0]=bikelst[head][1]
else:
#处理编号x的自行车在y租车点其他位置的情况,代码略
程序中加框处代码顺序有误,正确的排列顺序为__________。
(3)实现回收和重新分配自行车的部分Python程序如下,请在划线处填入合适代码。
def proc( ):
#从自行车存量超平均数的租车点回收自行车
flag,cnt=0,0
for i in range(m):
p,q=queinfo[i][0],queinfo[i][0]
if queinfo[i][1]>num:
if flag==0:
flag=1
head,tail=queinfo[i][0],queinfo[i][0]
else:
________
while queinfo[i][1]>num:
p=q
q=bikelst[q][1]
_________
queinfo[i][0]=q
tail=p
bikelst[tail][1]=-1
#将回收的自行车重新分配到各租车点
p,q=head,head
for i in range(m):
_________
if cnt>0:
while cnt>0:
p=q
q=bikelst[q][1]
cnt-=1
bikelst[p][1]=queinfo[i][0]
queinfo[i][0]=head
head=q
queinfo[i][1]=num
`读入n和m分别表示自行车数量和租车点数量,代码略
读取租车信息,过滤租车点与还车点编号前字母A后存入1st列表
1st[i][0],1st[i][1],1st[i][2]分别表示第i条租车记录中自行车编号,租车
点编号,还车点编号,代码略`
num=n//m #每个租车点分配的自行车数量
bikelst=[]
for i in range(1n+1):
bikelst.append([i,i])
bikelst[n-1][1]=-1
queinfo=[] #列表queinfo存放各租车点相关信息
for i in range(0,n,num):
queinfo.append([I,num])
for i in range(len(lst)):
rent(lst[i][0],lst[i][1],lst[i][2])
proc(queinfo) #回收并重新分配自行车
第1页/共1页
学科网(北京)股份有限公司
$$
衢州、丽水、湖州2025年4月三地市高三教学质量检测
技术试题卷
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
下列关于数据和信息的说法,正确的是( )
A. 春晚直播的音视频是结构化数据
B. 同一节目针对不同的人群,其信息的价值是相同的
C. 使用手语、音频等方式传递信息,说明信息的载体具有多样性
D. 视障版与听障版春晚传递的信息完全相同
【答案】C
【解析】
【详解】本题考查数据和信息。 A 选项错误,春晚直播的音视频属于非结构化数据。 B 选项错误,同一节目针对不同人群,信息的价值是不同的。 C 选项正确,信息可以通过多种不同的载体来呈现和传递,如文字、图像、声音、手势等。 D 选项错误,视障版通过音频进行创作解读与背景拓展,听障版通过竖屏分屏呈现手语翻译与 AI 实时生成的字幕,两者传递信息的方式和内容有所不同。 因此,本题选择 C 选项。
2. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
关于信息安全与信息社会责任,某博主的行为合适的是( )
A. 将春晚视频剪辑后用于商业获利 B. 将演员的手机号码发送至粉丝群
C. 未经允许出售直播中参演人员个人照片 D. 科普无障碍直播中的智能技术
【答案】D
【解析】
【详解】本题考查信息安全与信息社会责任。 A 选项错误,将春晚视频剪辑后用于商业获利,侵犯了央视春晚的版权。 B 选项错误,将演员的手机号码发送至粉丝群,侵犯了演员的个人隐私。 C 选项错误,未经允许出售直播中参演人员个人照片,侵犯了参演人员的肖像权和隐私权。 D 选项正确,科普无障碍直播中的智能技术,有助于推广和传播先进技术,让更多人了解其应用和意义。 因此,本题选择 D 选项。
3. 2025年央视春晚运用智能技术推出无障碍直播特别版。听障版采用竖屏分屏同步呈现手语翻译与Al实时生成的字幕,满足听障人士的观看需求;视障版通过音频对春晚节目进行创作解读与背景拓展,让视障人士更好地“听”春晚。
彩排时,对演员配备的耳返设备使用二进制进行编号。若前3位表示演员所在组别,后5位表示演员在组内的序号,则第2组第16位演员的耳返编号是( )
A. 00110111 B. 00101111 C. 01101110 D. 01010100
【答案】B
【解析】
【详解】本题考查二进制数。已知前3位表示演员所在组别,后5位表示演员在组内的序号。先看组别,第2组对应组内编号1,将1转换为三位二进制,根据除2取余的方法可得001。再看组内序号,第16位演员对应演员编号15,15转换为五位二进制,根据除2取余的方法可得01111。因此,本题选择B选项。
4. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列关于该信息系统组成与功能的说法,不正确的是( )
A. 触摸屏属于该系统的硬件 B. 考虑该系统的局限性,增设手动开箱功能
C. 查询积分需要应用软件支持 D. 环保积分保存在学生校园卡中
【答案】D
【解析】
【详解】本题考查信息系统的组成与功能。 A 选项正确,触摸屏是信息系统中用于接收用户输入的硬件设备,属于该系统的硬件部分。 B 选项正确,考虑到系统可能出现故障或其他特殊情况,增设手动开箱功能可以作为一种备用方式,提高系统的可靠性和可用性,这是对系统局限性的一种合理应对措施。 C 选项正确,查询积分功能需要通过应用软件来实现,应用软件负责与校园服务器进行数据交互,获取学生的环保积分信息并展示给学生。 D 选项错误,根据题目描述 “垃圾投放后数据通过网络实时上传至校园服务器” 可知,环保积分是保存在校园服务器中,而不是学生校园卡中。校园卡主要用于身份识别和登录系统,并不负责存储环保积分数据。 因此,本题选择 D 选项。
5. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列关于该系统中网络技术的说法,正确的是( )
A. 电子班牌可以没有IP地址 B. 上传数据至服务器无需遵循网络协议
C. 该系统可以在局域网中实现 D. 电子班牌只能通过有线方式接入系统
【答案】C
【解析】
【详解】本题考查网络技术。 A 选项错误,电子班牌作为网络设备,要与其他设备通信就必须有 IP 地址来标识其在网络中的位置。 B 选项错误,上传数据至服务器必须遵循网络协议,这样才能保证数据准确有序传输。 C 选项正确,该系统主要在校园内使用,校园范围相对小,通过局域网能实现其各项功能,便于管理维护。 D 选项错误,电子班牌既可以通过有线方式接入系统,也可以通过无线方式接入。 因此,本题选择 C 选项。
6. 某校部署智能垃圾分类管理系统。学生刷校园卡登录系统后,点击触摸屏选择垃圾类别开启对应回收箱,垃圾投放后数据通过网络实时上传至校园服务器(支持管理员远程设置回收箱工作时间)。系统同步对接教室电子班牌,学生可随时查询个人环保积分。
下列对该系统的改造措施,使用了人工智能技术的是( )
A. 增设人脸识别方式认证身份 B. 成功回收垃圾后自动关盖
C. 垃圾箱满后自动发送短信给后勤人员 D. 增设实时自动更新的积分榜
【答案】A
【解析】
【详解】本题考查人工智能技术。 A 选项正确,人脸识别是人工智能领域中模式识别的重要应用,它通过计算机对人脸图像进行分析、处理和识别,涉及到机器学习、深度学习等人工智能算法,能够准确地识别出不同的人脸,从而实现身份认证功能。 B 选项错误,成功回收垃圾后自动关盖,这主要是基于机械装置和传感器等硬件设备的配合来实现的,通过传感器检测到垃圾投放完成后,触发机械装置关闭回收箱盖。 C 选项错误,垃圾箱满后自动发送短信给后勤人员,这是通过传感器检测垃圾箱的状态(是否已满),当达到满的状态时,按照预设的程序发送短信通知后勤人员。 D 选项错误,增设实时自动更新的积分榜,是根据学生的垃圾投放数据实时计算并更新积分,然后展示在积分榜上,这主要是基于数据处理和数据库操作等技术。 因此,本题选择 A 选项。
7. 某电商平台响应国家政策,对购买一级能效商品给予20%补贴,二级能效的15%补贴,单件补贴上限2000元。某顾客一次性购买n件电器,已知每件电器的原价W及能效等级T(1为一级,2为二级)。计算该顾客付款金额的部分流程图如图所示,(1)~(4)处可选表达式为
①s←s+W-p ②p←2000 ③i≤n? ④T=1?
则(1)~(4)处表达式序号依次为( )
A. ③④①② B. ④③①② C. ③④②① D. ④③②①
【答案】C
【解析】
【详解】本题考查流程图。(1)处为循环条件,用于控制是否处理完 n 件电器,应判断 i≤n,故(1)为 ③。(2)处根据能效等级 T 确定补贴比例,需判断 T=1(一级能效),故(2)为 ④。(3)处当补贴 p>2000 时,按上限补贴,即 p←2000,故(3)为 ②。(4)处计算付款金额 s,s 应为原价 W 减去补贴 p 后累加到 s,即 s←s+W−p,故(4)为 ①。因此,本题选择C选项。
8. 对于任意非空字符串s,甲、乙程序段输出结果相同,则乙程序段加框处的正确代码为( )
def f(s):
if len(s)<=1:
return s
if s[0]==s[1]:
return f(s[1:])
return s[0]+f(s[1:])
print(f(s))
r=""
n=len(s)
for i in range(n):
if i==0 or s[i]!=s[i-1]:
print(r)
甲程序段
乙程序段
A. r=r+s[i] B. r=s[i]+r C. r=r+s[i-1] D. r=s[i-1]+r
【答案】A
【解析】
【详解】本题考查递归。首先分析甲程序段,如果字符串s的长度小于等于1,直接返回s。如果s的第一个字符和第二个字符相同,那么递归调用f(s[1:]),也就是去掉第一个字符后的子串。否则,返回第一个字符加上递归处理剩下的子串的结果,所以甲程序段是通过递归去除了字符串中连续的重复字符,按顺序保留不重复字符,例如将"aabbcc"处理为"abc"。乙程序段需在循环中实现相同逻辑,for循环遍历每个字符,当i==0(首个字符)或当前字符与前一个不同时,将当前字符s[i]添加到结果r的末尾即执行r = r + s[i],确保字符按原顺序添加。因此,本题选择A选项。
9. 某二叉树如图所示,下列遍历方式中,结果呈升序排列的是( )
A. 后序遍历 B. 中序遍历
C. 前序遍历 D. 从根开始按层次逐个遍历
【答案】B
【解析】
【详解】本题考查二叉树。前序遍历:规则为 “根 - 左 - 右”。此树前序遍历结果为 5,4,3,9,6,8,不是升序。中序遍历:规则为 “左 - 根 - 右”。此树中序遍历过程为:先左子树 4 的中序(3,4),再根 5,最后右子树 9 的中序(6,8,9),结果为 3,4,5,6,8,9,呈升序排列。后序遍历:规则为 “左 - 右 - 根”。此树后序遍历结果为 3,4,8,6,9,5,不是升序。层次遍历:从根开始按层次逐个遍历,结果为 5,4,9,3,6,8,不是升序。因此,本题选择B选项。
10. 数组元素a[0]~a[n-1]已按降序排列,现要将a[pos](0≤pos≤n-1)的值加5,并保持数组的有序性不变,实现该功能的部分程序段如下,括号中应填入的正确代码为( )
t=a[pos]+5
L,R=0,pos-1
while L<=R:
m=(L+R)//2
if t < a[m]:
L=m+1
else:
R=m-1
for i in range( ):
a[i]=a[i-1]
a[L]=t
A. pos,R,-1 B. pos,L,-1 C. R,pos D. L,pos
【答案】B
【解析】
【详解】本题考查二分查找。要将a[pos]的值加5后保持数组降序,需确定插入位置并进行元素移位。首先分析二分查找部分,目的是在 a[0] 到 a[pos - 1] 中找到 t 的插入位置 L。循环结束后,L 即为插入点。 接下来,需要将 a[L] 到 a[pos - 1] 的元素后移一位,为 t 腾出位置。循环应从 pos 开始,到 L 结束(不包含 L),步长为 -1(倒序移动)。因此,本题选择B选项。
11. 有如下Python程序:
import random
def f(s):
i,j=0,len(s)-1
k=random.randint(1,3)
ans=""
flag=True
while i<=j:
if flag or s[i]<=s[j]:
ans+=s[i]
i+=1
else:
ans+=s[k]
j-=1
flag=not flag
return ans
执行语句print(f("avocado"))后,下列输出结果不可能的是( )
A. aavaoac B. avvvovc C. aovoooc D. acvcocc
【答案】A
【解析】
【详解】本题考查字符串处理。分析程序,第一次循环:flag=True,直接取 s[0] = 'a',i=1,flag 变为 False。此时 ans = "a"。第二次循环:flag=False,需判断 s[i] <= s[j](即 s[1] = 'v' 和 s[6] = 'o'); 'v' <= 'o' 为 False,进入 else 分支,添加 s[k](k 为 1、2、3 中的一个,对应字符 v、o、c)。 因此,第二个字符只能是 v、o 或 c。而选项A的第二个字符为a,这无法通过任何k的取值实现。因此,本题选择A选项。
12. 列表lst长度为20,如下表所示,其中lst[5]~1st[15]各元素的值均为小于等于0的随机整数。执行如下程序段,输出结果是( )
i
0
1
2
3
4
……
16
17
18
19
1st[i]
2
-3
9
1
2
……
-2
0
-6
5
n=len(lst)
p=lst[0]
for i in range(0,n):
tmps=0
j=i
while(j+1)%n!=i:
tmps+=lst[j]
if tmps>p:
p=tmps
j=(j+1)%n
print(p)
A. 10 B. 12 C. 16 D. 19
【答案】C
【解析】
【详解】本题考查数组。分析程序逻辑,该程序用于找出列表中环形连续元素相加的最大值。列表 lst 长度为 20,其中 lst[5]~lst[15] 各元素的值均为小于等于 0 的随机整数。已知 lst[0] = 2,lst[1] = -3,lst[2] = 9,lst[3] = 1,lst[4] = 2,lst[19] = 5。 当 i = 19 时: j = 19,tmps += lst[19] = 5,p = 5。 j = (19 + 1) % 20 = 0,tmps += lst[0] = 2,tmps = 7 > 5,p = 7。 j = (0 + 1) % 20 = 1,tmps += lst[1] = -3,tmps = 4 < 7,p 不变。 j = (1 + 1) % 20 = 2,tmps += lst[2] = 9,tmps = 13 > 7,p = 13。 j = (2 + 1) % 20 = 3,tmps += lst[3] = 1,tmps = 14 > 13,p = 14。 j = (3 + 1) % 20 = 4,tmps += lst[4] = 2,tmps = 16 > 14,p = 16。 后续 j = 5~18 时,因 lst[5]~lst[15] <= 0,lst[16] = -2,lst[18] = -6,tmps 不会超过 16。 其他 i 值的循环中,无法得到超过 16 的值。因此,本题选择C选项。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某快递中转站有分拣机器人调度系统,该系统监测机器人电量并调度低电量机器人充电。充电区域有6个普通充电桩(编号0-5)和1个紧急充电桩(编号6)。调度规则:若机器人处于电量紧急状态,调度至等待时间最短的充电桩;若为非紧急状态,调度至等待时间最短的普通充电桩。机器人状态数据格式为[a,b],其中a为待充电时长,b为状态(1为紧急,0为普通)。
(1)某时刻0~6号充电桩完成当前任务所需时间依次为7、8、2、4、5、3、1,此时有1台状态为[4,1]的机器人到达。根据规则,该机器人将被调度到的充电桩编号为_________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
n=7 #充电桩个数
wt=[0]*n #列表wt长度为n,各元素值均为0
while True:
#系统读取当前机器人的待充电时长以及状态,存入变量r,代码略
p=0
mt=wt[p]
for i in range(1,n-1):
if_________:
p=i
mt=wt[i]
if_________:
if mt>wt[n-1]:
wt[n-1]+=r[0]
#调度机器人前往n-1号充电桩,代码略
else:
_________
#调度机器人前往p号充电桩,代码略
else:
#调度机器人前往p号充电桩,代码略
#输出当前机器人等待时间,代码略
【答案】 ①. 6 ②. wt[i]<mt或wt[i]<wt[p] ③. r[1]==1或r[1]!=0 ④. wt[p]+=r[0]
【解析】
【详解】本题考查循环结构的程序实现。
(1)此时有一台状态为[4, 1]的机器人到达,其中1表示紧急状态。当前 0 - 6 号充电桩完成当前任务所需时间依次为 7、8、2、4、5、3、1。 因为是紧急状态,需要选择等待时间最短的充电桩,在这些时间中,1 是最短的,对应的充电桩编号为 6。所以该机器人将被调度到的充电桩编号为 6。
(2)①处 ,此处在寻找等待时间最短的普通充电桩(因为循环范围是range(1, n - 1),不包含紧急充电桩)。所以当当前充电桩的等待时间wt[i]小于之前记录的最短等待时间mt时,更新最短等待时间和对应的充电桩编号。故①处应填入wt[i] < mt。 ②处,这里需要判断机器人是否处于紧急状态。已知机器人状态数据格式为[a, b],其中b为状态(1 为紧急,0 为普通),所以判断条件为r[1] == 1。故②处应填入r[1] == 1。 ③处,若机器人处于紧急状态,且紧急充电桩(编号n - 1)的等待时间wt[n - 1]小于当前找到的普通充电桩中等待时间最短的mt,则将机器人调度到紧急充电桩;否则,将机器人调度到普通充电桩中等待时间最短的那个。当前已经找到了普通充电桩中等待时间最短的编号p,所以需要更新该充电桩的等待时间,即wt[p] += r[0]。故③处应填入wt[p] += r[0]。
14. 某小组开发静音车厢噪声检测系统。该系统将车厢划分为A~F六个区域,并在每个区域设置监测点。各监测点每隔6秒采集一次噪声值,通过网络传输至服务器并存储至数据库。服务器每接收到同一监测点上传的100个数据时,会自动计算出等效声压级,并据此向系统控制端发送指令,不同指令对应不同的提醒方式。
(1)结合该系统功能,下列硬件中非必要的是_________(单选,填字母)。
A.IoT模块 B.声音传感器 C.智能终端
(2)在编写程序时,必须在服务器端实现的有_________(多选,填字母)。
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") 4
C.@app.route("/sub?") 4 D.@app.route("/sub") 2
(4)若选择在各监测点先完成等效声压级计算,再发送给服务器并存储至数据库,则该方案的优势有_________。
(5)将系统中某天数据导出到文件noise.csv中,部分数据如图a所示,分析各区域等效声压级超过40的次数并绘制柱形图,如图b所示。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
df=pd.read_csv("noise.csv")
_____________________
_____________________
_____________________
plt.bar(x,df1["等效声压级"]) #绘制柱状图
#设置绘图参数,显示如图b所示,代码略
①②③处可选代码有:
A.df1=df1.groupby("区域编号").count( )
Bdf=df.groupby("区域编号",as_index=False).count( )
C.df1=df[df["等效声压级"]>40]
D.df=df1[df1["等效声压级"]]>40
E.x=df1.index
F.x=df1["区域编号"]
【答案】 ①. A ②. ABD ③. D ④. ①降低了服务器负担②降低了通信开销③节省了服务器存储空间 ⑤. C ⑥. A ⑦. E
【解析】
【详解】本题考查搭建信息系统。
(1)系统需要通过声音传感器(B)采集噪声数据,通过智能终端(C)用于连接传感器并与服务器通信,因此,本题选择A选项。
(2)服务器端需实现数据接收存储(A)、逻辑处理(如发送提醒短信,B)、数据服务(如查询功能,D)。采集噪声数据(C)由监测点的传感器完成,属于硬件层功能,非服务器端任务,因此正确答案为 ABD。
(3)URL 中http://.../sub为路由路径,?id=C&val=41.3为查询参数,路由设置只需匹配路径/sub,对应@app.route("/sub")。传递的参数为id和val,共 2 个,因此该空答案为 D。
(4)若在监测点先计算等效声压级,可将原始噪声数据(100 个)预处理为 1 个结果值,减少传输数据量,降低了通信开销,节省了服务器存储空间;服务器无需执行计算,降低了服务器负担。
(5)①处:需先筛选出等效声压级超过 40 的数据。df[df["等效声压级"]>40]表示从原始数据df中筛选符合条件的行,存入df1,对应选项 C。 ②处:按 “区域编号” 分组统计超标次数。df1.groupby("区域编号").count()表示对筛选后的数据按区域分组,统计每个区域的记录数(即超标次数),对应选项 A。 ③处:柱状图的 x 轴应为区域编号,而在groupby函数中区域编号列已成为默认索引index。所以i采用df1.index提取分组后的区域编号作为 x 轴数据,对应选项 E。
15. 某市A区域有一套租车系统,设有m个公共自行车租车点(编号0~m-1),市政部门投放n辆自行车(编号1~n,n为m的倍数)并平均分配。用户可在租车点借车,之后将自行车归还到任意租车点。每天特定时间,工作人员根据系统指示,从存量超出平均数的租车点回收最新归还的若干辆自行车,再分配给存量低于平均数的租车点,以保证各租车点自行车数量相等。
若m为3,n为12,初始自行车分配情况如图a所示。经过若干次租借与归还操作(记录如图b)之后,各租车点的自行车编号如图c所示。
回收时,工作人员从A2租车点回收8号和1号自行车,并重新分配给A1租车点,完成后,A1租车点的自行车编号为8,1,5,7;A2租车点的自行车编号为9,10,11,12。
(1)若将图b中最后一条租借信息自行车编号由6修改为5,则次日A0租车点的自行车编号为__________。
(2)定义如下rent(x,y,z)函数,参数x,y,z分别表示编号x的自行车从y租车点借出后归还至z租车点。函数功能是处理一条借还车记录。
def rent(x,y,z):
queinfo[y][1]-=1
queinfo[z][1]+=1
head=queinfo[y][0]
if x==bikelst[head][0]:
①bikelst[head][1]=queinfo[z][0]
②queinfo[z][0]=head
③queinfo[y][0]=bikelst[head][1]
else:
#处理编号x自行车在y租车点其他位置的情况,代码略
程序中加框处代码顺序有误,正确的排列顺序为__________。
(3)实现回收和重新分配自行车的部分Python程序如下,请在划线处填入合适代码。
def proc( ):
#从自行车存量超平均数的租车点回收自行车
flag,cnt=0,0
for i in range(m):
p,q=queinfo[i][0],queinfo[i][0]
if queinfo[i][1]>num:
if flag==0:
flag=1
head,tail=queinfo[i][0],queinfo[i][0]
else:
________
while queinfo[i][1]>num:
p=q
q=bikelst[q][1]
_________
queinfo[i][0]=q
tail=p
bikelst[tail][1]=-1
#将回收的自行车重新分配到各租车点
p,q=head,head
for i in range(m):
_________
if cnt>0:
while cnt>0:
p=q
q=bikelst[q][1]
cnt-=1
bikelst[p][1]=queinfo[i][0]
queinfo[i][0]=head
head=q
queinfo[i][1]=num
`读入n和m分别表示自行车数量和租车点数量,代码略
读取租车信息,过滤租车点与还车点编号前的字母A后存入1st列表
1st[i][0],1st[i][1],1st[i][2]分别表示第i条租车记录中自行车编号,租车
点编号,还车点编号,代码略`
num=n//m #每个租车点分配的自行车数量
bikelst=[]
for i in range(1,n+1):
bikelst.append([i,i])
bikelst[n-1][1]=-1
queinfo=[] #列表queinfo存放各租车点相关信息
for i in range(0,n,num):
queinfo.append([I,num])
for i in range(len(lst)):
rent(lst[i][0],lst[i][1],lst[i][2])
proc(queinfo) #回收并重新分配自行车
【答案】 ①. 5,2,3,4 ②. ③①② ③. bikelst[tail][1]=queinfo[i][0] ④. queinfo[i][1]-=1 ⑤. cnt=num-queinfo[i][1]
【解析】
【详解】本题考查链表。
(1)当最后一条租借记录中的自行车编号由6改为5时,由于A0租车点仍然是4辆车(等于平均数),所以处理后的A0租车点车辆为5、2、3、4,无需调整。该空答案为5,2,3,4。
(2)在rent函数中,正确处理链表顺序应为:更新原租车点y的头节点为当前头节点的下一个节点,使 y 租车点去掉已借出的头节点自行车(③)。将当前头节点(要归还的自行车节点)的下一个节点指向目标租车点z的原头节点(①)。更新目标租车点z的头节点为当前头节点(②),使z租车点加入该自行车节点。该空答案为③①②。
(3)①处:当处理多个存量超平均数的租车点时,需将这些租车点回收的自行车连成链表。当 flag != 0 时,说明不是第一个超量的租车点,此时应将当前租车点的回收车连接到之前回收车的尾部。因此该空答案为bikelst[tail][1] = queinfo[i][0]。②处:在循环中,每次处理一辆车,将当前租车点的自行车数量减1,该空答案为 queinfo[i][1] -= 1。③处:计算每个租车点缺少的自行车数量 cnt,即 cnt = num - queinfo[i][1],因此该空答案为 cnt = num - queinfo[i][1]。
第1页/共1页
学科网(北京)股份有限公司
$$