内容正文:
绝密★寒假返校考试结束前
浙江省新阵地教育联盟2025届第二次联考
技术试题卷
信息技术命题:台州一中 宣鑫娜、林怡冶 磨题:北仑中学詹芳 淳安中学 方钰琳 校稿:张红光
通用技术命题:余姚中学 葛尧鼎、鲁哲雨 磨题:北师大台州附中 杨晓慧 仙居中学 徐碧霞 校稿:陈颖
本试题卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
考生须知:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分:信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。关于该数字文印通中数据的叙述,正确的是( )
A. 该文印通中的所有数据都是结构化数据 B. 用户上传的文本、表格、图片等都是信息
C. 不同类型的数据可以脱离载体直接上传至文印通 D. 分类存储可以有效地管理数据,提高了文印效率
2. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。下列有关信息安全与保护的做法,合理的是( )
A. 文印通升级时,必须关闭防火墙 B. 以明文方式公开用户每次的支付账单
C. 需要用户通过手机号和口令验证身份登录 D. 未经允许将用户已打印过的文件用于商业交易
3. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字形式咨询相关问题。下列对文印通中数据处理的说法,不合理的是( )
A. 为了提高图片的打印质量,降低图片的总像素数 B. 文印费用结算体现了数据加工处理的功能
C. 为了便于分享,将登录该文印通的网址制作成二维码 D. 该文印通中所有数据以二进制方式存储在计算机中
4. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。该文印通的下列应用中,体现人工智能技术的是( )
A. 将用户上传的数据保存到数据库中 B. 提供打印任务状态和历史记录查询功能
C. 在主页不定期推送相关文印优惠活动 D. 通过智慧助手回答用户提交的文印相关问题
5. 某小区采用新型健身房管理系统,业主可通过刷门禁卡或人脸识别的方式进入场馆。各运动器材内置传感器收集运动者的体能数据,传输至服务器分析数据,生成运动报告。用户可随时随地登录该系统app查询实时人流量及阅读运动报告。关于该系统设计与应用的说法,正确的是( )
A. 利用人流量数据分析健身的高峰时段 B. 进入场馆仅运用了RFID技术
C. 系统中的硬件包括门禁卡、器材、app D. 系统运行需要传感技术的支持,不需要控制技术
6. 某小区采用新型健身房管理系统,业主可通过刷门禁卡或人脸识别的方式进入场馆。各运动器材内置传感器收集运动者的体能数据,传输至服务器分析数据,生成运动报告。用户可随时随地登录该系统app查询实时人流量及阅读运动报告。下列关于网络技术与通信的说法,合理的是( )
A. 该系统中可以共享的网络资源不包括软件资源
B. 使用手机登录系统,必须使用移动通信网络
C. 服务器网络故障将影响运动质量报告的生成
D. 运动器材通过WiFi接入网络后,无需IP地址也能与服务器正常通信
7. 某许愿星瓶子重量 500克(不包含)以下0.5元/个,500克到1200克(不包含)1.5元/个,1200克及以上2.5元/个。若重量为vol(单位:克),价格为p(单位:元),执行下列部分流程图后,输出p的值不符合要求的是( )
A. B. C. D.
8. 利用栈求逆波兰表达式的方法:从左往右扫描该表达式,遇到数字时入栈;遇到运算符号时,把处于栈上方的两个元素依次出栈,用运算符计算,并把结果压入栈中。如此反复操作,直至表达式扫描结束。使用该算法求表达式“3 7 2 - + 4 * 8 /”的值时,所使用的栈容量至少为( )
A. 2 B. 3 C. 4 D. 5
9. 某二叉树的树形结构,如图所示,下列说法正确的是( )
A. 该二叉树是一棵完全二叉树 B. 该二叉树的深度为3,度为2的节点有2个
C. 若该二叉树中序遍历为DBAEC,则前序遍历为ABCDE D. 若将其补全为高度是4的满二叉树需再添加10个节点
10. 有如下Python程序段:
def dig(n,k):
k=k-1 #①
if k == 0:
return n%10
else:
return dig(n//10,k) #②
print(dig(52617,3))
下列说法不正确的是( )
A. 执行该程序段后,输出结果6
B. 执行该程序段,函数dig一共被调用了3次
C. dig(n,k)函数功能是输出n中从右往左数第k个元素
D. 若删除语句①,将语句②改成return dig(n//10,k-1),不影响程序运行结果
11. 有如下Python程序段:
import random
n=5; a=[0]*(n+1); c=[0]*11
for i in range(1,n+1):
a[i]= random.randint(1,10) #随机生成[1,10]范围内的整数
c[a[i]]+=1
for i in range(len(c)-1,0,-1):
for j in range(c[i]):
print(i,end="")
执行该程序段后,输出的结果可能为( )
A. 1 1 2 3 7 B. 8 6 4 3 2 C. 5 7 9 6 8 D. 10 8 6 8 2
12. 某Python程序段如下:
s="21027,53523,042,"
q=[0]*100; head = tail = 0; tmp = ""; flag = True
for i in range(len(s)):
if "0" <= s[i] <= "9":
q[tail]=s[i]; tail += 1
elif s[i]==",":
while head < tail:
tmp += q[head]; head += 1
if head != tail and flag:
head += 1
flag = not flag
flag=True
执行该程序段后,变量tmp的值为( )
A. "20735204" B. "20255202" C. "20755302" D. "20235304"
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某照明设备可控制n盏(n>2)霓虹灯状态,每盏灯编号依次为0~n-1,状态数据存入列表light(0表示灯灭,1表示灯亮)。
编写程序,每隔固定时间控制霓虹灯状态并输出。亮灭规则为:A.某时刻从第3盏灯开始,灯的状态取决于它的前两盏灯的状态之和(若和为奇数则亮,偶数则灭);B.若亮灯数量大于霓虹灯总数的50%,则将每一盏灯的状态取反,否则将第一盏灯状态取反;重复上述操作。请回答下列问题:
(1)若light初始为[1,0,0,0,0],经过规则A后编号为3的霓虹灯状态值为____(填数字:0/1)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取霓虹灯的总数,存入n,代码略
light=[0]*n #初始化灯的状态
while True:
for i in range(2,n):
①____
if m%2 == 0:
light[i]=0
else:
light[il=1
#输出霓虹灯当前状态,代码略
#延时1秒,代码略
count = sum(light)
if ②____:
j=0
while j < n:
③____
j += 1
#输出霓虹灯当前状态,代码略
else:
light[0]=1-light[0]
#延时1秒,代码略
14. 某研究小组搭建了一个校园车辆速度监测系统。该系统设有若干个监测点,智能终端通过IoT模块将采集的车速数据上传至Web服务器,若车速超过阈值达到3次及以上,则该车牌会被系统拉黑,将不会被识别,车辆无法进入校园。管理员可通过浏览器查看数据。请回答下列问题:
(1)该小组要完成该系统的搭建,需要编写的程序是____(单选,填字母:A.服务器端程序/B.客户端程序)
(2)下列关于该系统智能终端的说法,正确的有____(多选,填字母)。
A.通过浏览器查看历史数据需访问智能终端 B.传感器与智能终端之间的数据传输是单向的
C.若服务器故障,智能终端无法继续采集传感器数据 D.智能终端具备数据存储和处理能力
(3)若提交数据到Web服务器的URL为http://192.168.10.2:8080/input?id=3&speed=27,则服务器端与该URL 关联的路由设置语句是@app.route("____ ")
(4)为了让用户遵循限速规定,避免超速行为,顺利进出校园,请选择其中一个角度提出一条合理的功能设计建议。____
(5)该小组将某周的数据导出,部分数据如图a所示。车辆行驶速度超过30(单位:千米/小时)则判定为超速,现要分析每个监测点超速车辆行驶的平均车速情况,并绘制如图b所示的柱形图,部分Python程序如下:
图a 图b
import pandas as pd
import matplotlib.pyplot as plt
#显示中文字符,设置字体,代码略
df = pd.read_excel ("car.xlsx")
df1 = df[df.车速>30]
df2 = df1.groupby("监测点").mean()
plt.bar (df2.index ,____)
# 设置绘图参数,显示如图b所示的柱形图,代码略
print (df4)
①请在程序中划线处填入合适的代码。
②若要查看这一周被系统因超速拉黑的前10条车辆数据记录,方框中应填入的语句依次为____(选3项,填字母序列)。
A.df3 = df1.groupby ("车牌号码",as_index=False).车速.count ()
B.df3 = df3[df3.车速>=3]
C.df3 = df3[df3.车牌号码>=3]
D.df4 = df3.sort_values("车速",ascending=False).head(10)
E.df4 = df3.sort_values("车速")[ :10]
15. 某考试在某个考点共有n名考生,每个试场共m个座位,每位考生的信息包含准考证号、姓名。按照所有考生的准考证号由小到大依次编排试场号和座位号(为增删方便,数据以链表的形式存储)。编写程序模拟查找过程,输入考生准考证号,输出考生信息。
若n为60,m为20,编排后的考生信息如图a所示,以准考证号升序构成链接关系后,进行分段索引查找,每段长度为m,每段结束位置的下标存入列表b,列表b的结果为[23,58,42]。若最后一个试场人数不足m,则不用记录结束位置。程序运行结果如图b所示。请回答下列问题:
图a 图b
(1)当n为80,m为30时,则列表b中的元素个数为____。(填数字)
(2)定义如下linksort(data,mark)函数,参数data和mark共同模拟链表的结构,data存储每位考生的准考证号,mark表示data中每个元素指向下一个元素位置的指针。函数功能是使链表按照准考证号升序排列,最后返回头指针head。
①若data为[2501067,2501078,2501046,2501059,2501044],mark为[-1,-1,-1,-1,-1],调用linksort(data,mark)函数后,返回head的值为4,mark的值为____。
②请在划线处填入合适的代码。
def linksort(data,mark):
head=0
for i in range(1,len(data)):
p = head
if data[p] >= data[i]:
mark[i] = p
head = i
else:
while p != -1 and data[i] > data[p]:
pre = p
p = mark[p]
mark[i] = p
____
return head
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
def search(key,data,mark):
i = 0; j = k-1
while i <= j:
mid=(i+j)//2
if ①____:
j = mid-1
else:
i = mid +1
if i == 0:
p = head
q = b[i]
elif i == k:
p = mark[b[k-1]]
q =- 1
else:
②____
q=b[i]
while p != q and key > data[p]:
p=mark[p]
if key == data[p]:
return p
else:
return-1 #未找到,则返回-1
"""读取所有考生的信息存入二维列表message,如[[2501178,'李悦',113002,12],[2501156,'王梓轩',113002,7],[2501064,'周逸飞',113001,11],…],从 message 中提取准考证号存入data列表,如[2501178,2501156,2501064,…],读取考生总人数存入n,每个试场的座位数存入m,代码略"""
mark=[-1] * n
k = n//m; b=[-1]*k
③____
p = head
for i in range(k):
for j in range(m-1):
p = mark[p]
b[i] = p
p = mark[p]
key = int(input("请输入准考证号:"))
p = search(key,data,mark)
# 输出考生信息、试场号和座位号,代码略
第1页/共1页
学科网(北京)股份有限公司
$$
绝密★寒假返校考试结束前
浙江省新阵地教育联盟2025届第二次联考
技术试题卷
信息技术命题:台州一中 宣鑫娜、林怡冶 磨题:北仑中学詹芳 淳安中学 方钰琳 校稿:张红光
通用技术命题:余姚中学 葛尧鼎、鲁哲雨 磨题:北师大台州附中 杨晓慧 仙居中学 徐碧霞 校稿:陈颖
本试题卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
考生须知:
1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,如要改动,须将原填涂处用橡皮擦净。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分:信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。关于该数字文印通中数据的叙述,正确的是( )
A. 该文印通中的所有数据都是结构化数据 B. 用户上传的文本、表格、图片等都是信息
C. 不同类型的数据可以脱离载体直接上传至文印通 D. 分类存储可以有效地管理数据,提高了文印效率
【答案】D
【解析】
【详解】本题考查数据。A选项错误,文印通中用户上传的图片、语音等数据属于非结构化数据,并非所有数据都是结构化数据,结构化数据有固定格式和明确结构,如数据库表格数据。B选项错误,用户上传的文本、表格、图片等是数据,数据是信息的载体,只有经解读处理后才转化为信息,它们本身不是信息。C选项错误,数据依赖载体存在,文本、图片等数据需通过存储设备、网络传输介质等载体才能上传存储,不存在脱离载体的数据。D选项正确,分类存储使数据有序,便于快速查找处理,在文印通中对不同类型文件数据分类存储后,安排文印任务时能更高效找文件,提高文印效率,也利于数据管理维护。因此,本题选择D选项。
2. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。下列有关信息安全与保护的做法,合理的是( )
A. 文印通升级时,必须关闭防火墙 B. 以明文方式公开用户每次的支付账单
C. 需要用户通过手机号和口令验证身份登录 D. 未经允许将用户已打印过的文件用于商业交易
【答案】C
【解析】
【详解】本题考查信息安全与保护相关做法合理性的知识点。A选项错误,防火墙是保护信息系统安全的重要手段,能阻挡外部非法网络访问和恶意攻击,文印通升级时关闭防火墙会使系统面临网络风险,增加被黑客入侵和数据泄露的可能性。B选项错误,用户支付账单包含个人敏感信息,如金额、时间、对象等,以明文方式公开易导致用户隐私泄露,可能被不法分子利用进行诈骗等违法活动。C选项正确,通过手机号和口令验证身份登录,手机号可作为身份标识,口令是个人密码,二者结合能有效防止他人冒用身份登录,保护用户个人信息和操作安全。D选项错误,用户已打印文件属于个人信息和知识产权范畴,未经允许用于商业交易,侵犯用户隐私权和知识产权,是违法行为,违背信息安全与保护原则。因此,本题选择C选项。
3. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。下列对文印通中数据处理的说法,不合理的是( )
A. 为了提高图片的打印质量,降低图片的总像素数 B. 文印费用结算体现了数据加工处理的功能
C. 为了便于分享,将登录该文印通的网址制作成二维码 D. 该文印通中所有数据以二进制方式存储在计算机中
【答案】A
【解析】
【详解】本题考查数据编码。 A选项,图片像素数影响清晰度和细节,降低像素数会使图片细节丢失、变模糊,降低打印质量,而非提高,所以“为了提高图片的打印质量,降低图片的总像素数”不合理。 B选项,文印费用结算需依据打印任务(页数、纸张类型等)收集、计算和处理数据,将打印任务信息转化为费用金额,体现了数据加工处理功能。 C选项,把登录文印通的网址制作成二维码,方便用户扫描快速访问登录页面,利于信息传播分享,是常见有效的数据处理和应用方式。 D选项,计算机系统中所有数据(文本、图像等)最终都以二进制形式存储和处理,文印通作为基于计算机系统的应用也遵循此原理。因此,本题选择A选项。
4. 某校基于线下文印室衍生出在线数字文印通。用户通过终端浏览器登录,上传文档、表格、图片等数据,平台将数据分类存储后安排相关文印任务。文印通为用户提供费用结算、任务查询、历史记录检索、优惠活动推送等功能。用户还可向智慧助手以语音、图片、文字的形式咨询相关问题。该文印通的下列应用中,体现人工智能技术的是( )
A. 将用户上传的数据保存到数据库中 B. 提供打印任务状态和历史记录查询功能
C. 在主页不定期推送相关的文印优惠活动 D. 通过智慧助手回答用户提交的文印相关问题
【答案】D
【解析】
【详解】本题考查人工智能技术。 A选项错误,将用户上传的数据保存到数据库中是按照既定规则进行数据存储管理的常规操作,未涉及对数据的智能理解等,不属于人工智能技术。 B选项错误,提供打印任务状态和历史记录查询功能是基于数据库查询的常规功能,只是按固定逻辑获取和呈现数据,无智能判断推理能力,不属于人工智能技术。 C选项错误,在主页不定期推送相关的文印优惠活动是依据设定规则进行的信息推送,未对用户行为偏好等进行智能分析,不属于人工智能技术。 D选项正确,通过智慧助手回答用户提交的文印相关问题,智慧助手能接收多种形式问题,进行理解分析并检索或生成回答,涉及自然语言处理等人工智能技术,能模拟智能交互过程。 因此,本题选择D选项。
5. 某小区采用新型健身房管理系统,业主可通过刷门禁卡或人脸识别的方式进入场馆。各运动器材内置传感器收集运动者的体能数据,传输至服务器分析数据,生成运动报告。用户可随时随地登录该系统app查询实时人流量及阅读运动报告。关于该系统设计与应用的说法,正确的是( )
A. 利用人流量数据分析健身的高峰时段 B. 进入场馆仅运用了RFID技术
C. 系统中的硬件包括门禁卡、器材、app D. 系统运行需要传感技术的支持,不需要控制技术
【答案】A
【解析】
【详解】本题考查信息系统相关内容。系统能够收集实时人流量数据,而通过对这些人流量数据进行分析,例如统计不同时间段的人流量大小,就可以清晰地了解到健身的高峰时段。进入场馆有两种方式,刷门禁卡运用了RFID(射频识别)技术,它通过无线电信号识别特定目标并读写相关数据,但人脸识别是利用计算机对人的面部特征进行识别,和RFID技术原理不同,并非仅运用了RFID技术。系统中的硬件指的是实际的物理设备,门禁卡、器材属于硬件,而app是运行在手机等终端上的软件程序,它不属于硬件范畴。系统运行确实需要传感技术,各运动器材内置传感器收集体能数据,这依赖传感技术,系统也需要控制技术,例如对门禁卡识别、人脸识别进入场馆的控制,以及对数据传输、服务器分析等环节的流程控制等都需要控制技术。故本题答案是A选项。
6. 某小区采用新型健身房管理系统,业主可通过刷门禁卡或人脸识别的方式进入场馆。各运动器材内置传感器收集运动者的体能数据,传输至服务器分析数据,生成运动报告。用户可随时随地登录该系统app查询实时人流量及阅读运动报告。下列关于网络技术与通信的说法,合理的是( )
A. 该系统中可以共享的网络资源不包括软件资源
B. 使用手机登录系统,必须使用移动通信网络
C. 服务器网络故障将影响运动质量报告的生成
D. 运动器材通过WiFi接入网络后,无需IP地址也能与服务器正常通信
【答案】C
【解析】
【详解】本题考查网络技术。A选项错误,网络资源包含硬件、软件、数据等资源,在该健身房管理系统中,像系统管理软件、体能数据分析软件等软件资源同样可在网络中共享使用。B选项错误,使用手机登录该系统,既可以通过移动通信网络(如4G、5G),也能通过连接WiFi网络实现,并非只能用移动通信网络。C选项正确,运动器材传感器收集的体能数据需传输至服务器分析才能生成运动报告,若服务器网络故障,数据可能无法正常传输或处理,会影响运动质量报告的生成。D选项错误,IP地址是网络中设备的唯一标识,运动器材通过WiFi接入网络后必须获取IP地址,才能被识别定位并与服务器正常通信,没有IP地址服务器无法准确接收处理其数据。因此,本题选择C选项。
7. 某许愿星瓶子重量 500克(不包含)以下0.5元/个,500克到1200克(不包含)1.5元/个,1200克及以上2.5元/个。若重量为vol(单位:克),价格为p(单位:元),执行下列部分流程图后,输出p的值不符合要求的是( )
A. B. C. D.
【答案】C
【解析】
【详解】本题考查流程图和分支结构。C选项,当vol<500时,第一个条件判断成立,p=0.5,但是由于第二个条件判断不成立,p=1.5;与题意不符。其他选项均符合要求。因此本题选择C。
8. 利用栈求逆波兰表达式的方法:从左往右扫描该表达式,遇到数字时入栈;遇到运算符号时,把处于栈上方的两个元素依次出栈,用运算符计算,并把结果压入栈中。如此反复操作,直至表达式扫描结束。使用该算法求表达式“3 7 2 - + 4 * 8 /”的值时,所使用的栈容量至少为( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查栈。在求逆波兰表达式“3 7 2 - + 4 * 8 /”的值时,当扫描到“3”时,将其入栈,栈深度为 1。当扫描到“7”时,将其入栈,栈深度为 2。当扫描到“2”时,入栈,栈深度为 3。扫描到“ - ”运算符时,弹出栈顶的两个元素“2”和“7”,计算 7 - 2 = 5,将结果“5”入栈,此时栈深度减少为 2。扫描到“ + ”运算符,弹出栈顶的两个元素“5”和“3”,计算 3 + 5 = 8,将结果“8”入栈,栈深度为 1。扫描到“4”,入栈,栈深度增加为 2。扫描到“ * ”运算符,弹出栈顶的两个元素“4”和“8”,计算 8 * 4 = 32,将结果“32”入栈,栈深度为 1。扫描到“8”,入栈,栈深度增加为 2。扫描到“ / ”运算符,弹出栈顶的两个元素“8”和“32”,计算 32 / 8 = 4,将结果“4”入栈,栈深度为 1。在整个过程中,栈的深度最大为 3。因此,为了求逆波兰表达式“3 7 2 - + 4 * 8 /”的值,所使用的栈的深度至少为 3。因此本题选择B。
9. 某二叉树的树形结构,如图所示,下列说法正确的是( )
A. 该二叉树是一棵完全二叉树 B. 该二叉树的深度为3,度为2的节点有2个
C. 若该二叉树中序遍历为DBAEC,则前序遍历为ABCDE D. 若将其补全为高度是4的满二叉树需再添加10个节点
【答案】D
【解析】
【详解】本题考查二叉树。A选项错误,完全二叉树是指除最后一层外,每一层上的节点数均达到最大值,且最后一层上只缺少右边的若干节点。观察题目所给二叉树,其最后一层节点并非从左到右连续排列,不满足完全二叉树的定义,所以该二叉树不是一棵完全二叉树。B选项错误,树的深度是指从根节点到最远叶子节点的最长路径上的节点数,该二叉树的深度为 3。度为 2 的节点即有两个子节点的节点,图中只有根节点度为 2,共 1个。C选项错误,若中序遍历为 DBAEC,中序遍历顺序是左子树 - 根节点 - 右子树。前序遍历(根节点 - 左子树 - 右子树)为 ABDCE。D选项正确,高度为 4 的满二叉树节点总数为24-1=15个,当前二叉树有5个节点,所以需要添加10个。因此,本题选择D。
10. 有如下Python程序段:
def dig(n,k):
k=k-1 #①
if k == 0:
return n%10
else:
return dig(n//10,k) #②
print(dig(52617,3))
下列说法不正确的是( )
A. 执行该程序段后,输出结果为6
B. 执行该程序段,函数dig一共被调用了3次
C. dig(n,k)函数的功能是输出n中从右往左数第k个元素
D. 若删除语句①,将语句②改成return dig(n//10,k-1),不影响程序运行结果
【答案】D
【解析】
【详解】本题考查Python程序设计相关内容。该程序段通过递归的方式来处理数字,其功能是根据传入的第二个参数k来决定从数字n的哪一位获取数值。dig(52617,3)的作用是获取并返回数字52617从右向左数第3位的数字,即6。执行该程序段后,输出结果为6。执行该程序段,函数dig一共被调用了3次。ABC选项说法正确。D选项,若删除语句①,将语句②改成return dig(n//10,k - 1)。当print(dig(52617,3))调用函数时,第一次调用dig(52617,3),进入函数直接执行return dig(n//10,k - 1),即return dig(5261,2);第二次调用dig(5261,2),进入函数执行return dig(n//10,k - 1),即return dig(526,1);第三次调用dig(526,1),进入函数执行return dig(n//10,k - 1),即return dig(52,0),此时k==0,执行return n%10,即52%10=2,与原来程序输出结果不同,会影响程序运行结果。故本题答案是D选项。
11. 有如下Python程序段:
import random
n=5; a=[0]*(n+1); c=[0]*11
for i in range(1,n+1):
a[i]= random.randint(1,10) #随机生成[1,10]范围内的整数
c[a[i]]+=1
for i in range(len(c)-1,0,-1):
for j in range(c[i]):
print(i,end="")
执行该程序段后,输出的结果可能为( )
A. 1 1 2 3 7 B. 8 6 4 3 2 C. 5 7 9 6 8 D. 10 8 6 8 2
【答案】B
【解析】
【详解】本题考查循环结构、随机数模块。程序中通过第一个for循环生成 5 个在 [1,10] 范围内的随机整数存入列表a,同时用列表c统计每个随机数出现的次数。最后根据c列表中统计的次数来输出相应的数字。由第二个for循环可知,i从len(c)-1到0(取不到)依次递减1,由于print语句输出的是相应的i的值,因此最后输出的结果必然符合前一个数大于等于后一个数这个规律,因此本题选择B。
12. 某Python程序段如下:
s="21027,53523,042,"
q=[0]*100; head = tail = 0; tmp = ""; flag = True
for i in range(len(s)):
if "0" <= s[i] <= "9":
q[tail]=s[i]; tail += 1
elif s[i]==",":
while head < tail:
tmp += q[head]; head += 1
if head != tail and flag:
head += 1
flag = not flag
flag=True
执行该程序段后,变量tmp的值为( )
A. "20735204" B. "20255202" C. "20755302" D. "20235304"
【答案】B
【解析】
【详解】本题考查队列。 程序的主要目的是对给定的字符串 s 进行处理,根据字符类型(数字或逗号)执行不同的操作,最终生成一个新的字符串 tmp。具体步骤如下:当处理到 "21027" 时: 依次将 "2"、"1"、"0"、"2"、"7" 存入列表 q 中,此时 q = ["2", "1", "0", "2", "7"],head = 0,tail = 5。 遇到逗号,开始处理列表 q 中的元素: 第一次循环:tmp += q[head],即 tmp = "2",head += 1 变为 1。 由于if条件成立,head += 1 变为 2,flag = not flag 变为 False。 第二次循环:tmp += q[head],即 tmp = "20",head += 1 变为 3。 由于if条件不成立,不执行 head += 1,flag = not flag 变为 True。 第三次循环:tmp += q[head],即 tmp = "202",head += 1 变为 4。由于if条件成立,head += 1 变为 5,flag = not flag 变为 False。 此时 head == tail,循环结束。观察可知,tmp中的字符串遵循先隔一个字符进行拼接再将相邻字符拼接的规律。因此当处理到 "53523" 时:tmp="202"+ "5"+ "5"+ "2";当处理到 "042" 时:tmp="202552"+ "0"+ "2"="20255202";因此本题选择B。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某照明设备可控制n盏(n>2)霓虹灯状态,每盏灯的编号依次为0~n-1,状态数据存入列表light(0表示灯灭,1表示灯亮)。
编写程序,每隔固定时间控制霓虹灯状态并输出。亮灭规则为:A.某时刻从第3盏灯开始,灯的状态取决于它的前两盏灯的状态之和(若和为奇数则亮,偶数则灭);B.若亮灯数量大于霓虹灯总数的50%,则将每一盏灯的状态取反,否则将第一盏灯状态取反;重复上述操作。请回答下列问题:
(1)若light初始为[1,0,0,0,0],经过规则A后编号为3的霓虹灯状态值为____(填数字:0/1)。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取霓虹灯的总数,存入n,代码略
light=[0]*n #初始化灯的状态
while True:
for i in range(2,n):
①____
if m%2 == 0:
light[i]=0
else:
light[il=1
#输出霓虹灯当前状态,代码略
#延时1秒,代码略
count = sum(light)
if ②____:
j=0
while j < n:
③____
j += 1
#输出霓虹灯当前状态,代码略
else:
light[0]=1-light[0]
#延时1秒,代码略
【答案】 ①. 1 ②. m=light[i-1] + light[i-2] ③. count/n > 0.5或count > n//2或count > n/2或其他等价答案 ④. light[j]=1-light[j]或light[j]=abs(light[j]-1)或其他等价答案
【解析】
【详解】本题考查循环结构的程序实现。
(1) 根据亮灭规则 A,从第 3 盏灯开始,灯的状态取决于它前两盏灯状态之和(奇数亮,偶数灭)。已知light初始为[1,0,0,0,0],编号为 3 的灯前两盏灯状态值之和为1 + 0 = 1(奇数),所以经过规则 A 后编号为 3 的霓虹灯状态值为 1。
(2) ①在根据前两盏灯状态确定当前灯状态的循环中,light[i]应根据light[i - 1]和light[i - 2]的和的奇偶性来确定,所以应填入m= light[i - 1] + light[i - 2] 。 ②在判断亮灯数量与霓虹灯总数关系的部分,若亮灯数量大于总数的 50%,所以应填入count/n > 0.5或count > n//2或count > n/2或其他等价答案;③条件成立时要将每一盏灯的状态取反;这里是对每一盏灯状态取反的循环部分,所以应填入light[j] = 1 - light[j]或light[j]=abs(light[j]-1)或其他等价答案。
14. 某研究小组搭建了一个校园车辆速度监测系统。该系统设有若干个监测点,智能终端通过IoT模块将采集的车速数据上传至Web服务器,若车速超过阈值达到3次及以上,则该车牌会被系统拉黑,将不会被识别,车辆无法进入校园。管理员可通过浏览器查看数据。请回答下列问题:
(1)该小组要完成该系统的搭建,需要编写的程序是____(单选,填字母:A.服务器端程序/B.客户端程序)
(2)下列关于该系统智能终端的说法,正确的有____(多选,填字母)。
A.通过浏览器查看历史数据需访问智能终端 B.传感器与智能终端之间的数据传输是单向的
C若服务器故障,智能终端无法继续采集传感器数据 D.智能终端具备数据存储和处理能力
(3)若提交数据到Web服务器的URL为http://192.168.10.2:8080/input?id=3&speed=27,则服务器端与该URL 关联的路由设置语句是@app.route("____ ")
(4)为了让用户遵循限速规定,避免超速行为,顺利进出校园,请选择其中一个角度提出一条合理的功能设计建议。____
(5)该小组将某周的数据导出,部分数据如图a所示。车辆行驶速度超过30(单位:千米/小时)则判定为超速,现要分析每个监测点超速车辆行驶的平均车速情况,并绘制如图b所示的柱形图,部分Python程序如下:
图a 图b
import pandas as pd
import matplotlibpyplot as plt
#显示中文字符,设置字体,代码略
df = pd.read_excel ("car.xlsx")
df1 = df[df车速>30]
df2 = df1.groupby("监测点").mean()
plt.bar (df2.index ,____)
# 设置绘图参数,显示如图b所示的柱形图,代码略
print (df4)
①请在程序中划线处填入合适的代码。
②若要查看这一周被系统因超速拉黑的前10条车辆数据记录,方框中应填入的语句依次为____(选3项,填字母序列)。
A.df3 = df1.groupby ("车牌号码",as_index=False).车速.count ()
B.df3 = df3[df3.车速>=3]
C.df3 = df3[df3.车牌号码>=3]
D.df4 = df3.sort_values("车速",ascending=False).head(10)
E.df4 = df3.sort_values("车速")[ :10]
【答案】 ①. A ②. BD ③. /input ④. 通过短信的方式发给用户超速次数信息;或为管理员增设取消拉黑操作的权限,恢复车辆通行或其他答案合理即可 ⑤. df2.车速或df2["车速"] ⑥. ABD
【解析】
【详解】本题考查信息系统搭建。
第 (1) 问:该系统涉及智能终端采集数据上传至 Web 服务器,以及管理员通过浏览器查看数据,所以需要编写服务器端程序来处理数据存储、分析和响应客户端请求等操作,答案选 A。
第 (2) 问: A 选项错误,通过浏览器查看历史数据访问的是 Web 服务器,不是智能终端。 B 选项正确,传感器与智能终端之间的数据传输是单向的,传感器将数据传给智能终端。 C 选项错误,服务器故障不影响智能终端采集传感器数据,只是无法将数据上传和进行后续分析。 D 选项正确,智能终端需要具备一定的数据存储和处理能力,如暂存采集的数据等。所以答案选 BD。
第 (3) 问:服务器端与该 URL 关联的路由设置语句应根据 Flask 框架的路由设置规则,结合 URL 中的路径和参数来确定,该空应为/input。
第 (4) 问:可以在车辆接近校园时,通过短信的方式发给用户超速次数信息;或为管理员增设取消拉黑操作的权限,恢复车辆通行或其他答案合理即可。
第 (5) 问: ①处应填入df2.车速或df2["车速"],用于绘制柱形图时指定纵坐标为超速车辆的平均车速。 ②处要查看被系统因超速拉黑的前 10 条车辆数据记录,首先需要按车牌号码分组统计每辆车的超速次数(A 选项df3=dfl.groupby("车牌号码",as_index=False).车速.count()),然后筛选出超速次数大于等于 3 的车辆(B选项df3=df3[df3.车速>=3]),最后按车速降序排列并取前 10 条记录(D 选项df4 =df3.sort_values("车速",ascending=False).head(10)),所以答案为 ABD。
15. 某考试在某个考点共有n名考生,每个试场共m个座位,每位考生的信息包含准考证号、姓名。按照所有考生的准考证号由小到大依次编排试场号和座位号(为增删方便,数据以链表的形式存储)。编写程序模拟查找过程,输入考生准考证号,输出考生信息。
若n为60,m为20,编排后的考生信息如图a所示,以准考证号升序构成链接关系后,进行分段索引查找,每段长度为m,每段结束位置的下标存入列表b,列表b的结果为[23,58,42]。若最后一个试场人数不足m,则不用记录结束位置。程序运行结果如图b所示。请回答下列问题:
图a 图b
(1)当n为80,m为30时,则列表b中元素个数为____。(填数字)
(2)定义如下linksort(data,mark)函数,参数data和mark共同模拟链表结构,data存储每位考生的准考证号,mark表示data中每个元素指向下一个元素位置的指针。函数功能是使链表按照准考证号升序排列,最后返回头指针head。
①若data为[2501067,2501078,2501046,2501059,2501044],mark为[-1,-1,-1,-1,-1],调用linksort(data,mark)函数后,返回head的值为4,mark的值为____。
②请在划线处填入合适的代码。
def linksort(data,mark):
head=0
for i in range(1,len(data)):
p = head
if data[p] >= data[i]:
mark[i] = p
head = i
else:
while p != -1 and data[i] > data[p]:
pre = p
p = mark[p]
mark[i] = p
____
return head
(3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
def search(key,data,mark):
i = 0; j = k-1
while i <= j:
mid=(i+j)//2
if ①____:
j = mid-1
else:
i = mid +1
if i == 0:
p = head
q = b[i]
elif i == k:
p = mark[b[k-1]]
q =- 1
else:
②____
q=b[i]
while p != q and key > data[p]:
p=mark[p]
if key == data[p]:
return p
else:
return-1 #未找到,则返回-1
"""读取所有考生的信息存入二维列表message,如[[2501178,'李悦',113002,12],[2501156,'王梓轩',113002,7],[2501064,'周逸飞',113001,11],…],从 message 中提取准考证号存入data列表,如[2501178,2501156,2501064,…],读取考生总人数存入n,每个试场的座位数存入m,代码略"""
mark=[-1] * n
k = n//m; b=[-1]*k
③____
p = head
for i in range(k):
for j in range(m-1):
p = mark[p]
b[i] = p
p = mark[p]
key = int(input("请输入准考证号:"))
p = search(key,data,mark)
# 输出考生信息、试场号和座位号,代码略
【答案】 ①. 2 ②. [1,-1,3,0,2] ③. mark[pre]= i ④. key <= data[b[mid]] ⑤. p = mark[b[i-1]] ⑥. head=linksort(data,mark)
【解析】
【详解】本题考查链表结构、排序算法以及查找算法在程序中的应用,涉及对链表的操作和逻辑判断。 (1)当n为80,m为30时,80÷30=2⋯⋯20,即可以编排满2个试场,还剩余20人需再占一个试场,一共3个试场。因为每段结束位置的下标存入列表b,且最后一个试场人数不足m时不用记录结束位置,所以列表b记录前两个试场的结束位置,元素个数为2。
(2) ①若data为[2501067,2501078,2501046,2501059,2501044],mark为[−1,−1,−1,−1,−1] ,调用linksort(data,mark)函数后,要使链表按照准考证号升序排列。比较data中的元素,2501044最小,所以返回head的值为4。因为2501044(下标4)最小,它指向比它大一点的2501046(下标2),2501046指向2501059(下标3),2501059指向2501067(下标0),2501067指向2501078(下标1 ),2501078为最大元素,其指针为−1 。 因此mark为[1,-1,3,0,2]
②在linksort函数中,该函数功能是使链表按照准考证号升序排列,最后返回头指针head。外层循环遍历data列表,内层循环用于找到当前元素在已排序链表中的合适位置。当data[p]≥data[i]时,说明当前元素data[i]应插入到p位置之前,所以要调整指针关系,mark[i]=p,head=i;否则,通过内层while循环找到合适位置,在循环中,pre=p记录当前p的前一个位置,p=mark[p]移动到下一个位置,找到合适位置后,mark[i]=p,将i位置元素插入到p位置前,再将pre位置元素指向i,即mark[pre]=i。所以该空答案为mark[pre]=i。
(3)①在search函数中,此函数实现对考生准考证号的查找功能。通过二分查找确定准考证号所在的区间,mid=(i+j)//2计算中间位置。如果key<=data[b[mid]],说明要查找的准考证号在中间位置的左边,所以要更新j=mid−1缩小查找区间;否则更新i=mid+1 。因此该空答案为key<=data[b[mid]]。
② 在if - elif - else语句中,当i既不等于0也不等于k时,q已赋值为b[i],此时需要对p进行赋值,使其指向当前试场的起始位置。 由于b[i - 1]是上一个试场的结束位置,mark[b[i - 1]]就是当前试场的起始位置,所以p应赋值为mark[b[i - 1]] 。 因此该空答案为p = mark[b[i - 1]]。
③根据程序逻辑,前面计算出试场数k=n//m ,列表b用于存储每段结束位置的下标,初始时需要对b列表进行初始化,将每个元素设为−1 。接下来要对链表进行遍历,确定每段的结束位置并存储到b列表中。首先调用linksort(data,mark)函数对链表排序,得到头指针head 。然后通过循环确定每段结束位置,所以该空答案为head=linksort(data,mark)。
第1页/共1页
学科网(北京)股份有限公司
$$