内容正文:
台州市2025届高三第一次教学质量评估试题
技术
2024.11
命题:孙轩展(北师大台州附中) 杨玲玲(温岭中学)
朱锦官(天台育青中学) 樊金贝(玉环中学)
审题:范诚(黄岩中学) 廖根仁(台州中学)
考生须知:
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(共50分)
一、选择题(本大题共12题,每题2分,共24分。每题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。关于无人驾驶出租车行驶中实时采集的路况数据,下列描述正确的是( )
A. 路况数据只有图像这一种表现形式 B. 未经处理的路况数据是没有价值的
C. 高清摄像头采集的车辆行驶视频是结构化数据 D. 路况数据需要经过数字化才能被处理
【答案】D
【解析】
【详解】本题考查数据。D选项正确,计算机只能处理数字化的数据。激光雷达、高清摄像头等设备采集的路况数据,无论是图像、车距还是车速等数据,都需要经过数字化转换为计算机能够理解和处理的0和1的二进制代码形式,才能被自动驾驶系统进行处理。A选项错误,根据题意无人驾驶出租车行驶中会实时采集车距、车速和路面图像等路况数据,所以路况数据不只有图像这一种表现形式,还有车距、车速等数据。B选项错误,未经处理的路况数据是有价值的。例如,原始的车距数据可以直接用于判断车辆是否需要紧急制动,原始的车速数据可以用于简单的交通流量分析等。C选项错误,结构化数据是指数据以固定格式和结构存储,通常可以用二维表结构来表示,如数据库中的表格数据。高清摄像头采集的车辆行驶视频属于非结构化数据,因为视频数据没有固定的格式和结构来简单地用表格等形式表示。因此本题选择D。
2. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。下列有关信息安全与保护的做法,合理的是( )
A. 定期备份无人驾驶出租车的行驶数据 B. 以明文的方式存储用户的相关信息
C. 将乘车记录发布至社交平台 D. 乘客将APP账号分享给他人使用
【答案】A
【解析】
【详解】本题考查信息安全与保护。A选项正确,定期备份数据可以在数据丢失或需要进行数据分析时发挥重要作用。B选项错误,以明文方式存储这些信息很容易导致信息泄露,一旦存储系统被非法访问,黑客或不法分子就可以直接获取用户的敏感信息,从而可能对用户造成隐私侵犯、诈骗等安全风险。C选项错误,乘车记录可能包含出行信息,如出发地、目的地、乘车时间等,这些信息属于个人隐私信息。将其发布到社交平台可能会泄露隐私,使他人能够获取出行习惯、生活轨迹等信息,存在安全隐患。D选项错误,APP 账号可能关联乘客的个人信息、支付信息等。如果乘客将账号分享给他人,他人可能会滥用账号,如篡改乘车记录、使用支付功能等,导致乘客的个人信息泄露和经济损失等风险。因此本题选择A。
3. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。关于自动驾驶系统中涉及的人工智能技术,下列描述正确的是( )
A. 系统根据路况规划路线,需要手工构造的知识库和推理引擎
B. 系统通过学习海量数据实现交通标识的精准识别
C. 激光雷达自动采集车距、车速,是一种人工智能技术的应用
D. 无人驾驶出租车的运营,造成部分出租车司机失业,应限制其发展
【答案】B
【解析】
【详解】本题考查人工智能。B选项正确,根据题意,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,而深度学习是需要通过海量数据训练学习的。A选项错误,自动驾驶系统的路线规划主要依靠深度学习,它通过大量的地图数据、实时路况数据等进行训练,而不是手工构造知识库和推理引擎。C选项错误,激光雷达自动采集车距、车速不是人工智能技术。激光雷达是一种利用激光来测量距离的传感器,它通过发射激光束并接收反射光来计算物体与车辆之间的距离,以及根据反射光的变化来间接计算车速。D选项错误,无人驾驶出租车的运营,虽然造成部分出租车司机,但无人驾驶技术也带来了许多好处,如提高交通效率、减少人为驾驶错误导致的交通事故等。而且社会可以通过职业培训等方式帮助出租车司机转向其他相关领域的工作,而不是限制无人驾驶技术的发展。因此本题选择B。
4. 某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。下列关于该智能结算系统组成的说法,正确的是( )
A. 该系统中的用户只有师生 B. 手机APP属于该系统的应用软件
C. 识别菜品名称的摄像头是输出设备 D. 该系统中的数据仅包含菜品的名称和单价
【答案】B
【解析】
【详解】本题考查信息系统组成。B选项正确,手机APP是为了方便师生预订菜品、查看用餐记录和消费明细而开发的软件,属于该智能结算系统的应用软件。A选项错误,该系统中的用户不只有师生,还有食堂工作人员,结算系统的开发者等。C选项错误,识别菜品名称的摄像头是输入设备,它的作用是获取菜品的图像信息并传输给服务器进行识别,而不是输出设备。输出设备是将系统处理后的结果呈现给用户的设备,如显示器、打印机等。D选项错误,该系统中的数据不仅包含菜品的名称和单价,还会有师生的用餐记录、消费明细、预订信息等多种数据,这些数据对于系统的正常运行和提供多样化的服务是必不可少的。因此本题选择B。
5. 某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。关于该智能结算系统功能与应用的描述,不正确的是( )
A. 校园卡的刷卡支付功能可采用射频识别技术实现 B. 菜品名称、单价等信息无需事先存储于该系统数据库
C. 可通过分析食堂点餐记录得出各菜品的受欢迎程度 D. 通过手机APP查看消费明细属于数据查询功能
【答案】B
【解析】
【详解】本题考查信息系统功能与应用。正确答案为B选项,为了实现根据菜品计算价格的功能,系统必须事先知道菜品的名称和单价等信息,这些信息通常存储在系统数据库中。当摄像头识别出菜品名称后,系统才能从数据库中获取对应的单价来计算总价。因此本题选择B。
6. 某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。下列关于该智能结算系统中网络技术的说法,正确的是( )
A. 通过手机APP查询消费明细需要遵循网络协议 B. 移动终端必须连接学校局域网才能访问该系统
C. 摄像头通过Wi-Fi传输菜品信息时不需要传输介质 D. 若该系统的服务器未连接网络,师生也能通过APP预订菜品
【答案】A
【解析】
【详解】本题考查网络技术。A选项正确,网络协议是网络通信中为了保证数据准确、有序传输的规则。当通过手机 APP 查询消费明细时,手机(移动终端)与服务器之间要进行数据交互,这个过程必须遵循一定的网络协议,如TCP/IP协议等,这样才能确保数据能够正确地从服务器发送到手机并显示出来。B选项错误,师生在校内外均可通过手机APP访问该系统,因此不一定是连接学校局域网,还可以通过移动数据网络等方式访问系统,只要能与系统服务器所在的网络建立通信连接即可。C选项错误,任何网络通信,包括Wi-Fi通信,都需要传输介质。Wi-Fi是通过无线电磁波进行数据传输的。D选项错误,如果系统的服务器未连接网络,那么服务器无法接收和处理手机APP发送的预订菜品等请求,师生也就不能通过APP预订菜品。因为手机APP的数据和操作请求需要与服务器进行交互,服务器是系统的核心数据处理和存储单元。因此本题选择A。
7. 某算法的部分流程图如图所示,执行这部分流程,若输出k的值为3,则输入s的值可能是( )
A. "13267459" B. "31762594" C. "26374859" D. "62738495"
【答案】C
【解析】
【详解】本题考查流程图。C选项正确, 分析该流程图可知,在循环中,用变量i作为索引,依次遍历字符串s,而每次循环中,如果当前该项大于等于后一项,则k=k+1。因此k的值即为s中前一项大于等于后一项的数量,所以,A选项,k为2,B选项,k为4,C选项,k为3 ,D选项,k为4,因此,本题选择 C。
8. 某二叉树的前序遍历序列和中序遍历序列相同,下列各项中符合该二叉树结构的是( )
A. B. C. D.
【答案】C
【解析】
【详解】本题考查二叉树的遍历。前序遍历顺序是根节点 -> 左子树 -> 右子树。中序遍历顺序是左子树 -> 根节点 -> 右子树。当前序遍历和中序遍历相同时,说明每一个根节点都没有左子树,只可能有右子树。图C的结构符合这个情况,是一棵“右斜树”。故选C。
9. 有如下Python程序段:
from random import randint
s="abcde"
key="123"
res=""
for i in range(len(s)):
k=int(key[i%len(key)])
if randint(0.1)= =0: #随机生成整数0或1
res+=chr((ord(s[i])-ord("a")+k)%26+ord("a"))
else:
res+=chr((ord(s[i])-ord("a")-k)%26+ord("a"))
执行该程序段后,变量res的值不可能是( )
A. "bdzec" B. "bzfzz" C. "zzfcg" D. "zdzeg"
【答案】B
【解析】
【详解】本题考查字符串加密,python程序设计。B选项正确,分析程序可知,明文为s,秘钥为 key ,程序功能为对s进行加密。for循环遍历s中的每一个字符,每次循环中,当if条件成立时,将当前字符s[i]执行向后移动k个字符 ,当if条件不成立时,将当前字符s[i]向前移动k个字符,因此,可以根据变量i,k,列出字符加密后的所有可能,如下图所示:
所以,de加密后的结果不可能为zz 。因此本题选择 B。
10. 小杨编写了一个Python程序,部分代码如下:
#输入数据,存储到列表d中,代码略
n=len(d)
for i in range(1,n):
for j in range(i,n):
if d[j] < d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
执行该程序段,输入下列数据,列表d中元素未按升序排列的是( )
A. 1,2,4,3,5 B. 4,1,2,3,5 C. 5,2,1,4,3 D. 5,1,2,3,4
【答案】C
【解析】
【详解】本题考查冒泡排序。C选项正确,分析内层for循环可知,当第一轮排序结束,即内层for循环结束时,列表d中最后一个元素是最大的一个元素,是有序的,但是下一次不参与排序的是第一个元素,因此,当列表d=[5,2,1,4,3]时,第一轮排序结束后结果为[2,1,4,3,5],而2不再参与排序,程序结束后,结果为[2,1,3,4,5],元素并没有升序排列。因此,本题选择C。
11. 某括号序列中,若左括号出现的顺序及个数与右括号保持一致,则称该序列中的括号是匹配的。例如序列“())(”中的括号是不匹配的,可将其中第3、第4个括号修改为“()”使其重新匹配。现给出一个长度为偶数的不匹配序列,为使其重新匹配,统计最少需要修改的括号数。实现上述功能的Python程序段如下:
s=input() #输入括号序列,序列中仅包含“(”和")”两种字符
top=-1;ans=0
for i in range(len(s)):
if s[i]=="(":
top+=1
else:
if :
top+=1
ans+=1
else:
ans+=
上述程序段中方框处可选代码为:
①top!=-1 ②top==-1 ③top+=1 ④top-=1 ⑤top//2 ⑥(top+1)//2
则(1)(2)(3)处代码依次为( )
A. ①③⑥ B. ①④⑤ C. ②④⑤ D. ②④⑥
【答案】D
【解析】
【详解】本题考查栈。D选项正确,程序通过for循环遍历输入的括号序列 s,利用变量 top 当作栈顶指针统计当前未匹配的左括号的数量,ans 用于统计最少需要修改的括号数。第一个if语句为当遇到左括号时,将 top 加 1,表示将左括号入栈;那么对应else的情况为当遇到右括号的情况,需要分情况讨论:如果此时 top 等于 -1(即栈为空),说明没有可以匹配的左括号,那么将 top 加 1(这里可以理解为将这个右括号当作左括号处理,因为要修改它使其匹配,相当于增加了一个左括号),同时将 ans 加 1,表示进行了一次修改操作。 如果此时 top 不等于 -1(即栈不为空),说明有可以匹配的左括号,那么左括号出栈,top-=1。遍历完整个序列后,最后还需要将 top 的一半(向上取整)加到 ans 上。这是因为经过前面的处理后,top 表示的是多余的左括号数量(或者说不匹配的左括号数量),要使整个序列匹配,这些多余的左括号需要一半修改为右括号,所以,要加上 (top + 1) // 2。因此本题选择D。
12. 某二分查找算法的Python程序段如下:
n=len(a)
L=0
R=(n-1)//2 #语句①
while L<=R:
m=(L+R)//2 #语句②
if key==a[m]:break
if key < a[m]:
R=m-1
else:
L=m+1
if L<=R or R>=0 and a[n-R-1]==key:
print("YES")
else:
print("NO")
执行该程序段后,下列说法正确的是( )
A. 若列表a有8个元素,则语句②最多被执行4次 B. 若a为[1,5,8,7,3],key为7.输出结果为“NO”
C. 若要实现key的查找,a中元素应按升序排列 D. 将语句①修改为“R=n-1”,可能会影响程序输出的结果
【答案】D
【解析】
【详解】本题考查二分查找。D选项正确,分析程序可知,该二分查找的变形能处理的a应该满足左右交替升序的特征,即中间向两边分别做降序排列。因此,将语句①修改为“R=n-1”,可能会影响程序输出的结果。A选项错误,若列表a有8个元素,L=0,R=3,②最多被执行3次;B选项错误,key=7存在列表a中,能被找到,输出结果为“YES”;C选项错误,若要实现key的查找,a中元素不是升序排列,而是左右交替升序。因此本题选择D。
二、非选择题(本大题共3题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 某路边有一排照明装饰灯,编号依次为1~n。现发现有多个装饰灯不亮,受维修成本的限制,只对其中的一部分进行维修,维修后保证有k个编号连续的装饰灯能够正常照明。编写程序,根据已损坏的装饰灯编号,输出最少需要维修的装饰灯数量。请回答下列问题:
(1)若路边有10个照明装饰灯(编号1~10),其中编号为1、4、8、10的装饰灯不亮,维修后需保证有6个编号连续的装饰灯能正常照明,则最少需要维修的装饰灯数量是____。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码
#输入照明装饰灯的总数n、编号连续的正常照明装饰灯数量k,代码略
#读取不亮的装饰灯编号,存入d,代码略
v=[0]*(n+1)
c=[0]*(n+1)
ans=n
for i in ①____:
v[d[i]]=1
for i in range(1,n+1):
c[i]=c[i-1]+v[i]
i=1
while i<=n-k+1:
last=②____
num=c[last]-c[i-1]
if ③____:
ans=num
i=i+1
print(ans)
【答案】 ①. 1 ②. range(len(d)) ③. i+k-1 ④. num<ans
【解析】
【详解】本题考查,循环结构,python程序设计。
第一小题答案为1,根据题意,若有10个装饰灯,其中1,4,8,10 不亮,需要保证6个编号连续的装饰灯能正常照明,此时仅需要修理编号为4的装饰灯,即可保证2到7号这6个装饰灯正常照明,则最少需要维修的装饰灯数量是1。
第二小题第一空答案为range(len(d)),此处for语句是要遍历存储不亮装饰灯编号的列表d,range(len(d))可以实现遍历d中的每个元素的索引,从而对每个不亮的灯编号进行后续处理,即将对应的v列表中的位置标记为1,表示该灯不亮。
第二小题第二空答案为i+k-1,在这个循环中,要检查每一个长度为k的区间内不亮灯的数量。i是区间的起始位置,那么i+k-1就是区间的结束位置,通过这个计算得到每个检查区间的最后一个位置,以便后续计算该区间内不亮灯的数量。
第二小题第三空答案为num<ans,该处目的是找到最少需要维修的装饰灯数量,也就是找到包含不亮灯数量最少的区间。num是当前区间内不亮灯的数量,ans是目前记录的最少维修数量,当num小于ans 时,说明找到了一个包含不亮灯更少的区间,就更新ans的值为当前的num。
14. 小杨搭建了一个模拟药品仓储环境监测系统的实验,用于监测药品储存区域的温度和湿度。该系统的智能终端获取传感器数据,并通过无线通信方式将数据传输到Web服务器,服务器根据采集的温湿度数据与设定的相应阈值进行判断,出现异常时,通过智能终端控制执行器发出预警信号。用户可通过浏览器查询历史数据。请回答下列问题:
(1)用户通过浏览器查询的历史数据存储在____(单选,填字母:A.传感器/B.数据库/C.智能终端)
(2)下列功能需要在服务器端程序实现的是____(多选,填字母)。
A.打开或关闭执行器 B.处理浏览器访问请求
C.获取温湿度传感器上的数据 D.根据采集的数据和阈值判断异常情况
(3)系统正常工作一段时间后,通过浏览器查看历史数据,发现有多次温湿度数据超过阈值时,执行器均未发出预警信号。下列解决问题的方法合理的是____(单选,填字母:A.更换服务器/B.重新设定阈值/C.更换执行器)。
(4)不同类别的药品在储存时对温湿度有不同的要求,现要将药品进行分区域储存。为了对不同区域温湿度实现有效监测,从硬件的角度写出一种可行的办法____,从软件的角度写出一种可行的办法____。
(5)小杨将系统中过去一年的湿度数据导出,部分数据如图a所示(日期格式为“年/月/日”)。若设定的湿度阈值为70.当采集的湿度值超过阈值时,执行器会发出预警信号。现要统计每月执行器发出预警信号的次数,并绘制如图b所示的柱形图。
图a 图b
实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df.insert(1,"月份","") #插入列
for i in df.index:
m=df.at[i,"日期"]
df.at[i,"月份"]=m[5:7]
plt.bar(df1.月份,df1.监测值)
#设置绘图参数,显示如图b所示的柱形图,代码略
方框中应填入语句依次为____(选填2项,填数字序列,少选、多选、错选或次序错均不得分)
①df1=df1[df1["监测值"]>70]
②df1=df[df["监测值"]>70]
③df1=df1.groupby("月份",as_index=False).count()
④df1=df1.groupby("月份",as_index=False).sum()
【答案】 ①. B ②. BD ③. C ④. 硬件:设置多个监测点,每个监测点配备智能终端和温湿度传感器等设备; (或其他等价答案) ⑤. 软件:每个监测点设置不同的阈值;为每个智能终端设置不同的编号,以便在数据发送时能够区分;(或其他等价答案) ⑥. ②③
【解析】
【详解】本题考查信息系统, pandas处理数据。
第一小题答案为B。用户通过浏览器查询历史数据通常是存储在数据库中的,传感器主要负责采集数据,智能终端用于获取传感器数据并传输以及控制执行器等操作,而数据库用于存储各类数据以便后续查询等操作。因此,本题答案为B。
第二小题答案为BD。处理浏览器访问请求是服务器重要功能之一,这样用户才能通过浏览器与系统进行交互并查询数据等,故B正确。根据采集的数据和阈值判断异常情况是服务器端根据接收到的传感器采集的数据与设定的阈值进行对比分析,以确定是否出现异常,是在服务器端实现的功能,故D正确。打开或关闭执行器是由智能终端根据服务器的判断结果来控制执行的,不是服务器端程序直接实现的功能,故A错误。获取温湿度传感器上的数据主要是由智能终端负责获取并传输给服务器的,故C错误。因此,本题答案为BD。
第三小题答案为C。根据题意,可以通过浏览器查看历史数据,说明服务器正常;该问题可能是执行器故障,可以尝试更换执行器解决问题。因此,本题答案为C。
第四小题第一空答案为设置多个监测点,每个监测点配备智能终端和温湿度传感器等设备。由于要将药品进行分区域储存,要对不同区域温湿度实现有效监测,所以可以在不同药品储存区域分别安装温湿度传感器,确保每个区域温湿度数据都能准确采集。
第四小题第二空答案为每个监测点设置不同的阈值或者为每个智能终端设置不同的编号,以便在数据发送时能够区分;在服务器端程序中对不同区域设置不同的温湿度阈值参数,以便根据不同区域的要求准确判断异常情况或者为每个智能终端设置不同的编号,以便在数据发送时能够区分。
第三小题答案为②③。根据题意,要统计每月执行器发出预警信号的次数,首先要筛选出湿度值超过阈值的记录,即 df1=df [df [“监测值”]>70],这里应该对原始的df数据进行筛选,所以选②。然后要统计每月这些超过阈值的记录的数量,也就是按月份进行分组并计数,即 df1=df1.groupby (“月份”,as_index=false).count(),所以选③。因此,本题答案为②③。
15. 某计算机中,CPU通过与Cache(高速缓存)交换数据,减少直接访问主存的次数,从而提升数据的读取速度,CPU通过主存单元编号来实现数据的访问。当CPU访问的主存单元数据在Cache中时,访问结果为命中,无需从主存调入数据;当CPU访问的主存单元数据不在Cache中时,访问结果为缺失,需要从主存中将被访问的主存单元数据调入Cache,若Cache容量已满,则需要进行替换操作。
替换操作如下:根据CPU依次访问主存单元数据的编号,优先替换Cache中后续不再据被访问的数据;若Cache中的数据在后续均会被访问,则选择最晚被访问到的数据进行替换。
例如,某Cache容量为3,且其中已有编号为10和20的主存单元数据,CPU依次访问的主存单元编号为“10、30、40、50、10、30、40”,其过程如下表所示:
步骤
Cache状态
访问主存单元编号
缺失访问
Cache调度操作
①
10,20
10
结果
无
②
10,20
30
命中
将编号为30的主存单元数据调入
③
10,20,30
40
缺失
替换编号为20的主存单元数据
④
10,40,30
50
缺失
替换编号为40的主存单元数据
……
……
……
……
……
编写程序,根据CPU依次访问主存单元数据的编号(编号范围为0~1023),计算访问结果为缺失的次数。请回答下列问题:
(1)若Cache容量为2,且初始状态为空,CPU对编号为“1,2,3,2,3,1”的主存单元数据依次进行访问,此过程中访问结果为缺失的次数为____。
(2)定义getpos(info)函数,参数info列表元素表示CPU依次访问主存单元数据的编号。
def getpos(info):
n=len(info)
last=[-1]*1024
next=[n]*1024
for i in range(n):
k=info[i]
if last[k]!=-1:
next[last[k]]=i
last[k]=i
return next
若info为[1,2,3,2,3,1],执行语句nxt=getpos(info)后,next[0]的值为____。
(3)定义update(head,data,val,num)函数,函数功能是在链表data中插入一个新的节点,并保持链表节点按照val的值降序排列。请在划线处填入合适的代码。
def update(head,data,val,num):
pre=-1;p=head
while p!=-1 and ____:
pre=p
p=data[p][2]
data.append([val,num,p]) #为data追加一个元素[val,num,p]
if pre==-1:
head=len(data)-1
else:
data[pre][2]=len(data)-1
return head,data
(4)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
`读取Cache的容量存入变量m,代码略
读取CPU依次访问主存单元数据的编号存入info列表,代码略`
data=[]
vis=[False]*1024
ans,cnt,head=0,0,-1
next=getpos(info)
for i in range(len(info)):
if ①____:
ans+=1
vis[info[i]]=True
if cnt < m:
cnt+=1
else:
vis[data[head][1]]=False
②____
head,data=update(head,data,next[i],info[i])
print(ans)
【答案】 ①. 4 ②. 5 ③. data[p][0]>val ④. not vis[info[i]]或者vis[info[i]]==False ⑤. head=data[head][2]
【解析】
【详解】本题考查链表。
第一小题答案为4,根据题意可将每次步骤列出,如下图:因此,缺失结果为4.
第二小题答案5,参数info列表元素表示CPU依次访问主存单元数据的编号,而getpos(info)函数功能为根据info列表中 CPU 依次访问主存单元数据的编号,计算每个编号在后续再次出现的最近位置(如果没有再次出现则为列表长度n)。而next[0]存储的是info列表中第一个元素1的最近位置,即5。
第三小题答案为data[p][0]>val,update函数的功能是在链表data中插入一个新的节点,并保持链表节点按照val的值降序排列。在循环中,需要判断当前节点的val值是否小于要插入节点的val值,这样才能找到合适的插入位置。所以划线处应填入:val < data[p][0]。
第四小题第一空答案为not vis[info[i]]或者vis[info[i]]==False,在主程序中,通过循环遍历info列表来模拟 CPU 对主存单元数据的访问过程,并根据访问情况更新Cache相关状态及统计缺失次数。该处if条件是用来判断当前访问的主存单元数据是否不在Cache中(即未被访问过),所以应填入:not vis[info[i]]或者vis[info[i]]==False。
第四小题第二空答案为head=data[head][2],当Cache已满(cnt == m)且当前访问数据不在Cache中时,需要进行替换操作,此时,这里要替换的是head指向的节点所对应的数据,所以删除表头元素,更新头节点位置即可。
第1页/共1页
学科网(北京)股份有限公司
$$
台州市2025届高三第一次教学质量评估试题
技术
2024.11
命题:孙轩展(北师大台州附中) 杨玲玲(温岭中学)
朱锦官(天台育青中学) 樊金贝(玉环中学)
审题:范诚(黄岩中学) 廖根仁(台州中学)
考生须知:
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.考生答题前,务必将姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
2.选择题的答案须用2B铅笔将答题纸上对应题目的答案标号涂黑。
3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。
第一部分信息技术(共50分)
一、选择题(本大题共12题,每题2分,共24分。每题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。关于无人驾驶出租车行驶中实时采集的路况数据,下列描述正确的是( )
A. 路况数据只有图像这一种表现形式 B. 未经处理的路况数据是没有价值的
C. 高清摄像头采集的车辆行驶视频是结构化数据 D. 路况数据需要经过数字化才能被处理
2. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。下列有关信息安全与保护的做法,合理的是( )
A. 定期备份无人驾驶出租车的行驶数据 B. 以明文的方式存储用户的相关信息
C. 将乘车记录发布至社交平台 D. 乘客将APP账号分享给他人使用
3. 某市为了优化公共交通体系,引入了无人驾驶出租车。该出租车配备自动驾驶系统,搭载激光雷达、高清摄像头等设备,行驶中实时采集车距、车速和路面图像等路况数据,结合深度学习模型,能够精准识别交通标识、路障、行人车辆等,以应对复杂的交通状况。乘客通过手机APP进行预约乘车,体验全程无人驾驶服务。关于自动驾驶系统中涉及的人工智能技术,下列描述正确的是( )
A. 系统根据路况规划路线,需要手工构造的知识库和推理引擎
B. 系统通过学习海量数据实现交通标识的精准识别
C. 激光雷达自动采集车距、车速,是一种人工智能技术的应用
D. 无人驾驶出租车运营,造成部分出租车司机失业,应限制其发展
4. 某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。下列关于该智能结算系统组成的说法,正确的是( )
A. 该系统中的用户只有师生 B. 手机APP属于该系统的应用软件
C. 识别菜品名称摄像头是输出设备 D. 该系统中的数据仅包含菜品的名称和单价
5. 某学校食堂引入一款智能结算系统。师生将选好菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。关于该智能结算系统功能与应用的描述,不正确的是( )
A. 校园卡的刷卡支付功能可采用射频识别技术实现 B. 菜品名称、单价等信息无需事先存储于该系统数据库
C. 可通过分析食堂点餐记录得出各菜品的受欢迎程度 D. 通过手机APP查看消费明细属于数据查询功能
6. 某学校食堂引入一款智能结算系统。师生将选好的菜品餐盘放入该系统结算台的识别区,摄像头识别出菜品名称,服务器根据所选的菜品计算价格;师生将校园卡放置在结算台的刷卡机上,即可完成支付;师生在校内外均可通过手机APP预订菜品、查看用餐记录和消费明细。下列关于该智能结算系统中网络技术的说法,正确的是( )
A. 通过手机APP查询消费明细需要遵循网络协议 B. 移动终端必须连接学校局域网才能访问该系统
C. 摄像头通过Wi-Fi传输菜品信息时不需要传输介质 D. 若该系统的服务器未连接网络,师生也能通过APP预订菜品
7. 某算法的部分流程图如图所示,执行这部分流程,若输出k的值为3,则输入s的值可能是( )
A. "13267459" B. "31762594" C. "26374859" D. "62738495"
8. 某二叉树的前序遍历序列和中序遍历序列相同,下列各项中符合该二叉树结构的是( )
A. B. C. D.
9. 有如下Python程序段:
from random import randint
s="abcde"
key="123"
res=""
for i in range(len(s)):
k=int(key[i%len(key)])
if randint(0.1)= =0: #随机生成整数0或1
res+=chr((ord(s[i])-ord("a")+k)%26+ord("a"))
else:
res+=chr((ord(s[i])-ord("a")-k)%26+ord("a"))
执行该程序段后,变量res的值不可能是( )
A. "bdzec" B. "bzfzz" C. "zzfcg" D. "zdzeg"
10. 小杨编写了一个Python程序,部分代码如下:
#输入数据,存储到列表d中,代码略
n=len(d)
for i in range(1,n):
for j in range(i,n):
if d[j] < d[j-1]:
d[j],d[j-1]=d[j-1],d[j]
执行该程序段,输入下列数据,列表d中元素未按升序排列的是( )
A. 1,2,4,3,5 B. 4,1,2,3,5 C. 5,2,1,4,3 D. 5,1,2,3,4
11. 某括号序列中,若左括号出现的顺序及个数与右括号保持一致,则称该序列中的括号是匹配的。例如序列“())(”中的括号是不匹配的,可将其中第3、第4个括号修改为“()”使其重新匹配。现给出一个长度为偶数的不匹配序列,为使其重新匹配,统计最少需要修改的括号数。实现上述功能的Python程序段如下:
s=input() #输入括号序列,序列中仅包含“(”和")”两种字符
top=-1;ans=0
for i in range(len(s)):
if s[i]=="(":
top+=1
else:
if :
top+=1
ans+=1
else:
ans+=
上述程序段中方框处可选代码为:
①top!=-1 ②top==-1 ③top+=1 ④top-=1 ⑤top//2 ⑥(top+1)//2
则(1)(2)(3)处代码依次为( )
A. ①③⑥ B. ①④⑤ C. ②④⑤ D. ②④⑥
12. 某二分查找算法的Python程序段如下:
n=len(a)
L=0
R=(n-1)//2 #语句①
while L<=R:
m=(L+R)//2 #语句②
if key==a[m]:break
if key < a[m]:
R=m-1
else:
L=m+1
if L<=R or R>=0 and a[n-R-1]==key:
print("YES")
else:
print("NO")
执行该程序段后,下列说法正确的是( )
A. 若列表a有8个元素,则语句②最多被执行4次 B. 若a为[1,5,8,7,3],key为7.输出结果为“NO”
C. 若要实现key的查找,a中元素应按升序排列 D. 将语句①修改为“R=n-1”,可能会影响程序输出的结果
二、非选择题(本大题共3题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 某路边有一排照明装饰灯,编号依次为1~n。现发现有多个装饰灯不亮,受维修成本的限制,只对其中的一部分进行维修,维修后保证有k个编号连续的装饰灯能够正常照明。编写程序,根据已损坏的装饰灯编号,输出最少需要维修的装饰灯数量。请回答下列问题:
(1)若路边有10个照明装饰灯(编号1~10),其中编号为1、4、8、10的装饰灯不亮,维修后需保证有6个编号连续的装饰灯能正常照明,则最少需要维修的装饰灯数量是____。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码
#输入照明装饰灯的总数n、编号连续的正常照明装饰灯数量k,代码略
#读取不亮的装饰灯编号,存入d,代码略
v=[0]*(n+1)
c=[0]*(n+1)
ans=n
for i in ①____:
v[d[i]]=1
for i in range(1,n+1):
c[i]=c[i-1]+v[i]
i=1
while i<=n-k+1:
last=②____
num=c[last]-c[i-1]
if ③____:
ans=num
i=i+1
print(ans)
14. 小杨搭建了一个模拟药品仓储环境监测系统的实验,用于监测药品储存区域的温度和湿度。该系统的智能终端获取传感器数据,并通过无线通信方式将数据传输到Web服务器,服务器根据采集的温湿度数据与设定的相应阈值进行判断,出现异常时,通过智能终端控制执行器发出预警信号。用户可通过浏览器查询历史数据。请回答下列问题:
(1)用户通过浏览器查询的历史数据存储在____(单选,填字母:A.传感器/B.数据库/C.智能终端)
(2)下列功能需要在服务器端程序实现的是____(多选,填字母)。
A.打开或关闭执行器 B.处理浏览器访问请求
C.获取温湿度传感器上数据 D.根据采集的数据和阈值判断异常情况
(3)系统正常工作一段时间后,通过浏览器查看历史数据,发现有多次温湿度数据超过阈值时,执行器均未发出预警信号。下列解决问题的方法合理的是____(单选,填字母:A.更换服务器/B.重新设定阈值/C.更换执行器)。
(4)不同类别的药品在储存时对温湿度有不同的要求,现要将药品进行分区域储存。为了对不同区域温湿度实现有效监测,从硬件的角度写出一种可行的办法____,从软件的角度写出一种可行的办法____。
(5)小杨将系统中过去一年的湿度数据导出,部分数据如图a所示(日期格式为“年/月/日”)。若设定的湿度阈值为70.当采集的湿度值超过阈值时,执行器会发出预警信号。现要统计每月执行器发出预警信号的次数,并绘制如图b所示的柱形图。
图a 图b
实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
import pandas as pd
import matplotlibpyplot as plt
df=pd.read_excel("data.xlsx")
df.insert(1,"月份","") #插入列
for i in df.index:
m=df.at[i,"日期"]
df.at[i,"月份"]=m[5:7]
plt.bar(df1.月份,df1.监测值)
#设置绘图参数,显示如图b所示的柱形图,代码略
方框中应填入的语句依次为____(选填2项,填数字序列,少选、多选、错选或次序错均不得分)
①df1=df1[df1["监测值"]>70]
②df1=df[df["监测值"]>70]
③df1=df1.groupby("月份",as_index=False).count()
④df1=df1.groupby("月份",as_index=False).sum()
15. 某计算机中,CPU通过与Cache(高速缓存)交换数据,减少直接访问主存的次数,从而提升数据的读取速度,CPU通过主存单元编号来实现数据的访问。当CPU访问的主存单元数据在Cache中时,访问结果为命中,无需从主存调入数据;当CPU访问的主存单元数据不在Cache中时,访问结果为缺失,需要从主存中将被访问的主存单元数据调入Cache,若Cache容量已满,则需要进行替换操作。
替换操作如下:根据CPU依次访问主存单元数据的编号,优先替换Cache中后续不再据被访问的数据;若Cache中的数据在后续均会被访问,则选择最晚被访问到的数据进行替换。
例如,某Cache的容量为3,且其中已有编号为10和20的主存单元数据,CPU依次访问的主存单元编号为“10、30、40、50、10、30、40”,其过程如下表所示:
步骤
Cache状态
访问主存单元编号
缺失访问
Cache调度操作
①
10,20
10
结果
无
②
10,20
30
命中
将编号为30的主存单元数据调入
③
10,20,30
40
缺失
替换编号为20的主存单元数据
④
10,40,30
50
缺失
替换编号为40的主存单元数据
……
……
……
……
……
编写程序,根据CPU依次访问主存单元数据的编号(编号范围为0~1023),计算访问结果为缺失的次数。请回答下列问题:
(1)若Cache容量为2,且初始状态为空,CPU对编号为“1,2,3,2,3,1”的主存单元数据依次进行访问,此过程中访问结果为缺失的次数为____。
(2)定义getpos(info)函数,参数info列表元素表示CPU依次访问主存单元数据的编号。
def getpos(info):
n=len(info)
last=[-1]*1024
next=[n]*1024
for i in range(n):
k=info[i]
if last[k]!=-1:
next[last[k]]=i
last[k]=i
return next
若info为[1,2,3,2,3,1],执行语句nxt=getpos(info)后,next[0]的值为____。
(3)定义update(head,data,val,num)函数,函数功能是在链表data中插入一个新的节点,并保持链表节点按照val的值降序排列。请在划线处填入合适的代码。
def update(head,data,val,num):
pre=-1;p=head
while p!=-1 and ____:
pre=p
p=data[p][2]
data.append([val,num,p]) #为data追加一个元素[val,num,p]
if pre==-1:
head=len(data)-1
else:
data[pre][2]=len(data)-1
return head,data
(4)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
`读取Cache的容量存入变量m,代码略
读取CPU依次访问主存单元数据的编号存入info列表,代码略`
data=[]
vis=[False]*1024
ans,cnt,head=0,0,-1
next=getpos(info)
for i in range(len(info)):
if ①____:
ans+=1
vis[info[i]]=True
if cnt < m:
cnt+=1
else:
vis[data[head][1]]=False
②____
head,data=update(head,data,next[i],info[i])
print(ans)
第1页/共1页
学科网(北京)股份有限公司
$$