内容正文:
余姚中学2025学年第二学期4月质量检测高二技术选考试卷
考生须知:
1.本试卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
3.选择题的答案用2B铅笔将答题纸上对应题目的答案选项涂黑,如要改动,须将原填涂处用橡皮擦净。
4.非选择题的答案用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后用黑色字迹的签字笔或钢笔描黑,答案写在非答题纸上无效。
第一部分 信息技术(50分)
一、选择题(本大题共12题,每题2分,共24分,每题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
阅读下列材料,完成下面小题:
某工地采用智能环保喷淋系统,该系统在工地围栏上安装了粉尘传感器,实时采集粉尘浓度数据,数据通过通信网络传输至服务器,系统根据数据处理结果启停喷淋设备或调整喷水量。当工地出口处的摄像头识别出渣土车时,系统会启动车辆冲洗功能。若监测到故障(如传感器接线故障),服务器会发送短信通知维护人员。管理员可通过移动终端APP查看设备运行状况,也可远程控制喷淋设备。此外,系统能根据需要生成运行统计报表和故障记录表。
1. 下列关于该系统组成的描述,正确的是( )
A. 粉尘传感器的性能对系统运行无影响
B. 摄像头是该系统的输入设备
C. APP的运行无需操作系统的支持
D. 维护人员不属于该系统的用户
2. 下列关于该系统功能与应用的描述,正确的是( )
A. 该系统对外部环境没有依赖 B. 服务器不对故障信息进行处理
C. 该系统没有数据输出功能 D. 识别渣土车可采用人工智能技术
3. 下列关于该系统网络技术的分析,正确的是( )
A. 管理员查看故障记录表用的APP属于应用软件
B. 远程控制喷淋设备指令的发送无需遵循网络协议
C. 系统中的数据传输均需采用移动通信技术
D. 服务器必须部署在工地的局域网中
4. 下列关于该系统安全与防护的做法,不合理的是( )
A. 对传感器和网络设备定期检查
B. 对故障记录表等重要数据定期备份
C. 对所有用户设置相同的数据访问控制权限
D. 对系统漏洞及时修复
【答案】1. B 2. D 3. A 4. C
【解析】
【1题详解】
本题考查信息系统的组成。A选项,粉尘传感器是该系统采集粉尘浓度数据的核心设备,其性能直接影响数据采集的准确性,对系统运行有直接影响,A错误;B选项,摄像头负责采集工地出口的车辆图像信息输入系统,属于该系统的输入设备,B正确;C选项,APP运行在移动终端硬件上,必须依赖操作系统的支撑才能运行,C错误;D选项,维护人员接收系统的故障通知,完成设备维护,属于该系统的用户,D错误。故答案为:B。
【2题详解】
本题考查信息系统的功能与应用。A选项,该系统需要采集外部环境的粉尘数据、车辆信息实现对应功能,对外部环境有依赖,A错误;B选项,服务器接收故障信息后,需要处理生成通知,再发送短信给维护人员,会对故障信息进行处理,B错误;C选项,该系统可输出短信通知、运行统计报表、控制设备的信号,具备数据输出功能,C错误;D选项,识别渣土车属于图像识别任务,可采用人工智能图像识别技术实现,D正确。故答案为:D。
【3题详解】
本题考查信息系统中的网络技术与软件分类。A选项,管理员使用的APP是为了满足查看设备状态、远程控制设备的特定需求开发的软件,属于应用软件,A正确;B选项,网络中所有数据、指令的传输都需要遵循对应网络协议才能完成正常通信,B错误;C选项,系统的数据传输可采用有线局域网等方式,并非所有传输都需要移动通信技术,C错误;D选项,服务器可以部署在公有云等外部网络,不需要必须部署在工地局域网中,D错误。故答案为:A。
【4题详解】
本题考查信息系统的安全与防护。A选项,对现场传感器和网络设备定期检查是合理的系统维护方式,做法合理;B选项,对故障记录表等重要数据定期备份可以避免数据丢失,是合理的防护做法;C选项,系统中不同角色用户的职责不同,应当分配不同的访问权限,给所有用户设置相同权限会带来数据泄露、系统被误操作的安全风险,该做法不合理;D选项,及时修复系统漏洞可以有效避免系统被攻击入侵,做法合理。本题要求选出不合理的做法,故答案为:C。
阅读下列材料,完成下面小题:
智能手表是一种穿戴式智能设备。某品牌智能手表安装了鸿蒙操作系统,内置NFC芯片,可以记录用户日常生活中各项健康数据,采用震动等方式提醒用户锻炼、睡觉、健康饮食等。
5. 下列关于智能手表硬件与软件的说法,不正确的是( )
A. 智能手表处理信息主要包括输入、处理、存储和输出四个步骤
B. 智能手表的运行内存类似于计算机中的“内存条”
C. 智能手表安装的鸿蒙操作系统属于系统软件
D. 智能手表的“智能性”体现在其应用了AI技术
6. 下列关于智能手表传感与控制的说法,不正确的是( )
A. 计步功能需要用到加速度传感器
B. 通过震动提醒用户应用了控制技术
C. 智能手环的RFID功能由NFC技术演变而来
D. 智能手环中存在执行器
【答案】5. D 6. C
【解析】
【5题详解】
本题考查智能穿戴设备的硬件与软件基础知识。智能手表作为信息处理设备,处理信息的过程符合输入、处理、存储、输出四个基本步骤,该说法正确;智能手表的运行内存功能和计算机内存条一致,用于临时存储运行数据,该说法正确;鸿蒙操作系统属于操作系统,归为系统软件范畴,该说法正确;智能手表的“智能性”是多项信息技术共同作用的结果,并非仅体现在AI技术的应用,该说法错误,符合题意。故答案为:D。
【6题详解】
本题考查智能穿戴设备的传感与控制相关知识。计步功能依靠加速度传感器采集运动加速度变化来统计步数,该说法正确;震动提醒是根据设定条件输出控制信号触发震动,属于控制技术的应用,该说法正确;NFC技术是由RFID(射频识别)技术演变而来,选项表述逻辑颠倒,该说法错误,符合题意;智能手环的震动模块就属于执行器,因此智能手环中存在执行器,该说法正确。故答案为:C。
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放2,3,4,8,5,4,9,6,执行这部分流程后,输出c的值为( )
A. 1 B. 2 C. 3 D. 4
【答案】D
【解析】
【详解】本题考查数组元素的排序过程及其索引记录能力。该流程图的核心是从数组末尾(i ← n-1)开始,逐次向前比较 a[i] 与 a[i-1] 的值,若 a[i] < a[i-1],则交换并将 c 更新为当前的 i。根据题意,初始数组为 2,3,4,8,5,4,9,6,具体执行过程如下(只列出发生交换的步骤):
i=7,比较 a[7]=6 与 a[6]=9,6<9,交换后数组变为 2,3,4,8,5,4,6,9,更新 c=7。
i=5,比较 a[5]=4 与 a[4]=5,4<5,交换后数组变为 2,3,4,8,4,5,6,9,更新 c=5。
i=4,比较 a[4]=4 与 a[3]=8,4<8,交换后数组变为 2,3,4,4,8,5,6,9,更新 c=4。
之后再往前比较时不再满足交换条件,最终输出的 c 为 4。故答案为:D。
8. 栈S最大长度为3,若元素a,b,c,d依次入栈,则可能的出栈序列为( )
A. d,c,b,a B. b,a,d,c C. c,a,b,d D. c,d,a,b
【答案】B
【解析】
【详解】本题考查栈操作相关内容。栈的特点是:先进后出。题干中限定条件栈s的最大长度为3:A选项,若d先出栈,说明c,b,a均在栈内,栈的容量至少为4,超出最大长度,选项错误。B选项,若b先出栈,说明a在栈内,a可以出栈,此时栈空,c,d先后入栈,再依次出栈,可得出栈序列:b,a,d,c,选项正确。CD选项中,a不应先于b出栈,选项错误。故本题答案是B选项。
9. 某二叉树有a、b、c、d四个节点,若中序遍历序列为abcd,后序遍历序列为abdc,则该二叉树的树形结构为( )
A. B. C. D.
【答案】D
【解析】
【详解】本题考查二叉树的遍历规则与二叉树结构的推导。1. 根据后序遍历“左子树→右子树→根节点”的规则,后序遍历序列为abdc,可得整棵树的根节点为c;2. 根据中序遍历“左子树→根节点→右子树”的规则,中序遍历序列为abcd,根c左侧有a、b两个节点,右侧只有d节点,因此c的左子树包含a、b,右子树为d;3. 推导左子树:左子树的后序顺序为a、b,因此左子树的根为b,中序中a在b左侧,说明a是b的左孩子;最终得到的二叉树结构符合题干遍历要求,对应第4个选项。故答案为:D。
10. 列表a中存放了n个整型元素,现要对该列表中的所有元素进行非降序排序。实现该功能的Python程序如下:
n = len(a)
left = 0
right = n - 1
while left < right:
i = left
while i < right:
if (1)________:
a[i], a[i+1] = a[i+1], a[i]
(2)________
(3)________
print(a)
划线处有如下可选代码:
① i+=1 ② right-=1 ③ a[i]>=a[i+1] ④ a[i]<=a[i+1]
划线处应填入的正确代码为( )
A. ③②① B. ③①② C. ④②① D. ④①②
【答案】B
【解析】
【详解】本题考查Python程序逻辑分析与排序算法的应用能力。(1)处条件判断:非降序要求前面元素不大于后面元素,只有当前面的元素大于等于后面元素时,才需要交换位置,因此(1)选a[i]>=a[i+1](即③)。 (2)处语句:(2)位于内层while i < right循环内部,每遍历一个元素后,需要让索引i自增才能继续向后比较,因此(2)选i+=1(即①)。 (3)处语句:一趟内层冒泡结束后,最大的元素已经交换到当前区间的最右端right位置,该位置已经有序,下一趟只需要排序前面的区间,因此需要将右边界左移,即(3)选right-=1(即②)。 最终顺序为③①②,对应选项B。
11. 某定义如下函数:
def up(n):
d={1:1,2:2,3:4}
if n in d:
return d[n]
else:
return up(n-1)+up(n-2)+up(n-3)
执行语句x=up(5),下列说法正确的是( )
A. x的值是24 B. 函数up被调用了7次
C. 该算法使用了迭代算法 D. 该算法的时间复杂度为0(n3)
【答案】B
【解析】
【详解】本题考查Python递归函数的执行过程与算法基础概念。逐步分析各选项:1. 计算x的值:已知up(1)=1,up(2)=2,up(3)=4,可得up(4)=up(3)+up(2)+up(1)=4+2+1=7,up(5)=up(4)+up(3)+up(2)=7+4+2=13,x的值为13,因此第一个选项错误。2. 统计函数调用次数:up(5)是第1次调用;up(5)触发up(4)、up(3)、up(2)共3次新调用,累计4次;up(4)触发up(3)、up(2)、up(1)共3次新调用,累计总调用次数为7次,因此第二个选项正确。3. 该算法通过函数自身调用自身实现,属于递归算法;迭代算法一般通过循环结构实现递推,因此第三个选项错误。4. 该三分递归算法每次调用会产生3次更小规模的调用,时间复杂度为O(3^n),不是O(n^3),因此第四个选项错误。故答案为:B。
12. 有如下Python程序段:
a=[[6,6],[5,0],[1,3],[2,5],[2,1],[2,4],[9,-1]]
key=int(input())
p=q=head=2
while p!=-1 and a[p][0]<=key:
q=p
p=a[p][1]
if p==head:
a. append([key,head])
head=len(a)-1
else:
a. append([key,p])
a[q][1]=len(a)-1
print(a[-1])
程序段运行后,若输入2,则输出的结果是( )
A. [2,-1] B. [2,1] C. [2,4] D. [2,5]
【答案】B
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段,若输入2,key=2,其运行过程如下:
(1)循环条件p!=-1 and a[p][0]<=key成立,q=p=2,p=a[p][1]=a[2][1]=3;
(2)循环条件p!=-1 and a[p][0]<=key成立,q=p=3,p=a[p][1]=a[3][1]=5;
(3)循环条件p!=-1 and a[p][0]<=key成立,q=p=5,p=a[p][1]=a[5][1]=4;
(4)循环条件p!=-1 and a[p][0]<=key成立,q=p=4,p=a[p][1]=a[4][1]=1;
(5)循环条件p!=-1 and a[p][0]<=key不成立,循环结束;
(6)p==head条件不成立,执行:a.append([key,p]);a[q][1]=len(a)-1,a由[[6,6],[5,0],[1,3],[2,5],[2,1],[2,4],[9,-1]]变为[[6,6],[5,0],[1,3],[2,5],[2,1],[2,4],[9,-1],[2,1]],输出a[-1],即为:[2,1]。
故本题答案是B选项。
二、非选择题(本大题共3小题,其中13题7分,14题10分,15题9分,共26分)
13. 某十字路口地面方向标志如图a所示,其红绿灯采用四相位(东西直行、东西左转、南北直行、南北左转)依次动态控制,如图b所示。每个相位的绿灯时长根据两个方向中较大的车辆数动态调整,调整范围为10~30秒(包含边界)。然后黄灯亮3秒,之后调整下一个相位。每辆车通过十字路口的平均时长为2秒。例如:东向西直行16辆,西向东直行2辆,计算绿灯时长为32秒,按调整范围要求不超过30秒,故东西直行相位的绿灯时长最终为30秒。
(1)若从0开始计时,东西直行相位最大车辆数为20,下一个相位(东西左转)最大车辆数为6,则南北直行相位的绿灯从第____秒开始。
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
def get_data():
"""
实时获取交通数据,将图b中的①~⑧方向的车辆数依次存储在列表中,如[11,3,5,4,12,22,13,11],代码略
"""
base=2;short=10;long=30
cur=0
while True: #依次判定四相位的绿灯时长
car=get_data()
①____
if car[cur+1] > t:
t=car[cur+1]
green= long
if short <= t* base <= long:
②____
elif t* base< short:
green= short
#调整该相位的绿灯时长并亮起,之后绿灯熄灭,黄灯亮起,代码略
cur= ③____
【答案】(1)48 (2) ①. t= car[cur] ②. green=t* base或等价答案 ③. (cur+2)%8
【解析】
【详解】本题考查算法逻辑推理与Python程序补全,属于应用类编程问题。
(1)计算南北直行绿灯开始时间:从0开始计时,东西直行最大车辆数为20,计算绿灯时长为20×2=40秒,超出调整上限30秒,故绿灯取30秒,加黄灯3秒,该相位总耗时33秒;接下来东西左转相位最大车辆数为6,计算得6×2=12秒,在10~30秒范围内,故绿灯取12秒,加黄灯3秒,该相位总耗时15秒;两个相位总耗时为33+15=48秒,因此南北直行相位绿灯从第48秒开始。
(2)① 每个相位包含2个方向的车辆数据,存储在列表car中,当前相位起始索引为cur,需要先将最大值t初始化为第一个方向的车辆数car[cur],再和第二个方向car[cur+1]比较更新最大值,因此此处填t = car[cur]。② 根据规则,当计算得到的t*base在10~30之间时,直接将计算结果作为绿灯时长green,因此此处填green = t * base。③ 每个相位占用列表中2个位置,每处理完一个相位,cur需要移动2位到下一个相位的起始位置,四个相位共占用8个位置,循环一轮后回到起始位置,因此cur更新为(cur+2)%8。
14. 随着信息技术和人工智能的发展,学校的图书馆和食堂都引进了智慧校园系统,请回答下列问题:
(1)学校的智慧图书馆座位预定系统已采集了一年的数据,其中座位空闲率高于0.6的为低效区域。小明将某一周内图书馆各区域每小时的座位空闲率导出,存入output. xlsx文件中,如图a所示,现要找出座位空闲率最高的区域,并统计该区域每日空闲率高于0.6的小时数量,绘制如图b所示的线形图,实现上述功能的部分Python程序如下,请选择合适的代码填入划线①、②、③处(单选,填字母)。
df= pd. read_excel(" output. xlsx")
df["日期"]= df["时间"]. astype(str). str[:10] #获取时间列中的年月日
df1= df. groupby("区域", as index= False)["座位空闲率"]. mean()
df2= ①____
oid=df2. at[0, "区域“]
df qy= ②____
df3= df qy[df_qy.座位空闲率>0.6]
df4= ③____
plt. plot(df4["日期"],df4["座位空闲率“])
程序中①②③处可选代码有:
A. dfl. sort values("座位空闲率", ascending= False, ignore_index= True)
B. dfl. sort values("座位空闲率", ascending= True, ignore_index= True)
C. df3. groupby("日期", as_index= False).座位空闲率. count()
D. dfl. groupby("时间").座位空闲率. mean()
E. df[df.区域== oid]
F. df2[df2.区域== oid]
(提示:ignore_index=True参数的功能是在排序后重新生成从0开始的行索引)
(2)学校的“智慧食堂就餐管理系统”,其页面规划如图c所示,用户可通过浏览器查询、管理数据等。请回答下列问题:
①用户查询账单时,在浏览器中访问的子页面网址是 http://____。
②该系统在开发网络应用软件时采用的架构是____。(单选,填字母: A. B/S架构B. C/S架构)
③该系统的餐饮历史数据存储在____(单选,填字母:A.客户端 B.服务器)中。
【答案】(1) ①. A ②. E ③. C
(2) ①. 192.168.0.11:5000/ view ②. A ③. B
【解析】
【详解】本题考查Python的pandas数据处理、Web应用架构与URL路径的相关知识。(1)① df1已经按区域分组计算出每个区域的平均座位空闲率,我们需要找到空闲率最高的区域,因此要对座位空闲率做降序排序,ascending= False对应降序,排序后第一行(索引0)就是空闲率最高的区域,因此①处选A。② 已经得到最高空闲率区域的oid,需要从原始数据表df中筛选出该区域的所有数据,因此此处为df[df.区域== oid],②处选E。③ df3已经筛选出目标区域中空闲率高于0.6的数据,需求是统计该区域每日空闲率高于0.6的小时数量,因此按日期分组后对行数计数即可,③处选C。
(2)① 服务器根地址是192.168.0.11:5000,账单查询子页面的路径是/view,因此完整访问的子页面网址后缀为192.168.0.11:5000/view。② 题目明确说明用户通过浏览器访问使用该系统,符合B/S(浏览器/服务器)架构的特征,因此选A。③ 这类网络应用系统的业务历史数据统一存储在服务器端,客户端仅负责展示交互,因此选B。
15. 某市火车站周围有m 个人口较为密集的城区。火车站在出站口设置“出租车拼车点”,并通过“出租车拼车系统”为所有前往同一城区的乘客提供“拼车”服务。系统接收乘客的出行请求,每个请求包含乘客编号、请求上车时间、目的地城区,根据乘客的请求上车时间先后依次为乘客安排车辆。假设每辆出租车最多载客w人,乘客在请求上车时间一定可以上车,且上车后最多等待t分钟,期间一旦满载或超时,则立即发车。编写程序实现,输入出行请求,输出每辆车发车时刻及发车时车内的乘客编号。
例如:若m=2、w=4、t=5,8位乘客出行请求如下表所示,编号1、2、3、4 乘客的发车时间是08:15,编号5、6 乘客的发车时间是08:21,编号7、8 乘客的发车时间是08:23。
乘客编号
1
2
3
4
5
6
7
8
请求上车时间
08:10
08:11
08:11
08:15
08:16
08:17
08:18
08:22
目的地城区
0
0
0
0
1
1
0
0
(1)若将编号为4的乘客的请求上车时间更改为08:16,则编号为8的乘客的发车时间是____(填写格式如 08:00)。
(2)定义sort(data)函数,参数data 中每个元素包含3个数据项:乘客编号、请求上车时间、目的地城区。函数功能为按请求上车时间对data 数组升序排序。
def sort(data):
i =0; n = len(data); flag = True
while i < n -1 and flag:
flag = False
for j in range(n-1,i,-1):
if data[j][1] < data[j-1][1]: #A处
data[j], data[j-1] = data[j-1], data[j]
flag = True
k = j
i = k
①实现上述功能的代码如上,若(data=[[1,550,0], [2,580,0], [3,560,1], [4,590,1],[5,570,2]],则A处代码执行次数为____。
②若删除加框处代码k=i,对程序执行结果的正确性是否有影响____。(单选,填字母A.有影响/B.无影响)
(3)主程序运行界面如下图所示。请在划线处填入合适的代码。
发车时刻:495 乘客:[1,2,3]
发车时刻:501 乘客:[4,7]
发车时刻:501 乘客:[5,6]
发车时刻:507 乘客:[8]
'''
读取 n 个出行请求存入列表 data,每个元素包含乘客编号、请求上车时间、目的地城区 3 个数据项,并将所有的上车时间从 “HH:MM” 的格式转换为与 “00:00” 的时间差。例如:“01:10” 经转换得到 70,代码略。
读取目的地城区的数量 m,最多等待分钟数 t,每辆出租车最多载客数 w。
'''
sort(data)
ct = 0; i = 0; n = len(data)
que = [[1] for i in range(m)]
flag = False
while i < n or flag == True:
while i < n and data[i][1] <= ct:
k = data[i][2]
que[k].append(i)
i += 1
k = 0
flag = False
while k < m:
①____
tail = len(que[k])
if head != tail:
idx = que[k][head]
if ct - data[idx][1] >= t or tail - head >= w:
if head + w < tail:
tail = head + w
②____
pa = [data[idx][0] for idx in pa] #将乘客索引转化为乘客编号
print('发车时刻:',ct,'乘客:',pa)
que[k][0] = tail
k -= 1
flag = True
k += 1
if flag == False and i < n:
ct = data[i][1]
else:
③____
【答案】(1)08:27
(2) ①. 7 ②. A
(3) ①. head= que[k][0] ②. pa= que[k][head: tail] ③. ct+=1
【解析】
【详解】本题考查过程模拟算法、改进冒泡排序的执行分析、Python程序代码补全。
(1)更改4号乘客时间后,所有乘客按时间排序为:1(08:10, 0)、2(08:11, 0)、3(08:11, 0)、5(08:16, 1)、4(08:16, 0)、6(08:17, 1)、7(08:18, 0)、8(08:22, 0),按照规则推导:08:15发走目的地0的1、2、3,08:21发走目的地0的4、7和目的地1的5、6,8在08:22进入队列,等待超时时间为08:22+5分钟=08:27,因此8的发车时间为08:27。
(2)该算法是记录最后交换位置的改进冒泡排序,n=5,执行过程中,第一轮i=0共执行4次A判断,第二轮i=2共执行2次A判断,第三轮i=3执行1次A判断,总执行次数为4+2+1=7。②加框代码是每轮排序初始对k的赋值,若删除该代码,若某一轮未发生交换,k仍保留上一轮的结果,会导致i被错误赋值,极端情况下第一次循环未交换会导致k未定义程序出错,因此对正确性有影响。
(3) ①处:que[k]的第一个元素存储当前队列的队头指针,需要取出队头赋值给head,因此填head= que[k][0];②处:需要提取当前发车的所有乘客在data中的索引存入pa,因此对队列切片得到pa= que[k][head: tail];③处:程序逻辑为:没有需要发出的车且所有已到乘客处理完,若还有未处理乘客则跳转到下一个乘客时间,否则时间推进1分钟,因此填ct+=1。
第1页/共1页
学科网(北京)股份有限公司
$
余姚中学2025学年第二学期4月质量检测高二技术选考试卷
考生须知:
1.本试卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。
2.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。
3.选择题的答案用2B铅笔将答题纸上对应题目的答案选项涂黑,如要改动,须将原填涂处用橡皮擦净。
4.非选择题的答案用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后用黑色字迹的签字笔或钢笔描黑,答案写在非答题纸上无效。
第一部分 信息技术(50分)
一、选择题(本大题共12题,每题2分,共24分,每题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
阅读下列材料,完成下面小题:
某工地采用智能环保喷淋系统,该系统在工地围栏上安装了粉尘传感器,实时采集粉尘浓度数据,数据通过通信网络传输至服务器,系统根据数据处理结果启停喷淋设备或调整喷水量。当工地出口处的摄像头识别出渣土车时,系统会启动车辆冲洗功能。若监测到故障(如传感器接线故障),服务器会发送短信通知维护人员。管理员可通过移动终端APP查看设备运行状况,也可远程控制喷淋设备。此外,系统能根据需要生成运行统计报表和故障记录表。
1. 下列关于该系统组成的描述,正确的是( )
A. 粉尘传感器的性能对系统运行无影响
B. 摄像头是该系统的输入设备
C. APP的运行无需操作系统的支持
D. 维护人员不属于该系统的用户
2. 下列关于该系统功能与应用的描述,正确的是( )
A. 该系统对外部环境没有依赖 B. 服务器不对故障信息进行处理
C. 该系统没有数据输出功能 D. 识别渣土车可采用人工智能技术
3. 下列关于该系统网络技术的分析,正确的是( )
A. 管理员查看故障记录表用的APP属于应用软件
B. 远程控制喷淋设备指令的发送无需遵循网络协议
C. 系统中的数据传输均需采用移动通信技术
D. 服务器必须部署在工地的局域网中
4. 下列关于该系统安全与防护的做法,不合理的是( )
A. 对传感器和网络设备定期检查
B. 对故障记录表等重要数据定期备份
C. 对所有用户设置相同的数据访问控制权限
D. 对系统漏洞及时修复
阅读下列材料,完成下面小题:
智能手表是一种穿戴式智能设备。某品牌智能手表安装了鸿蒙操作系统,内置NFC芯片,可以记录用户日常生活中各项健康数据,采用震动等方式提醒用户锻炼、睡觉、健康饮食等。
5. 下列关于智能手表硬件与软件的说法,不正确的是( )
A. 智能手表处理信息主要包括输入、处理、存储和输出四个步骤
B. 智能手表的运行内存类似于计算机中的“内存条”
C. 智能手表安装的鸿蒙操作系统属于系统软件
D. 智能手表的“智能性”体现在其应用了AI技术
6. 下列关于智能手表传感与控制的说法,不正确的是( )
A. 计步功能需要用到加速度传感器
B. 通过震动提醒用户应用了控制技术
C. 智能手环的RFID功能由NFC技术演变而来
D. 智能手环中存在执行器
7. 某算法的部分流程图如图所示,若n的值为8,数组元素a[0]至a[n-1]依次存放2,3,4,8,5,4,9,6,执行这部分流程后,输出c的值为( )
A. 1 B. 2 C. 3 D. 4
8. 栈S最大长度为3,若元素a,b,c,d依次入栈,则可能的出栈序列为( )
A. d,c,b,a B. b,a,d,c C. c,a,b,d D. c,d,a,b
9. 某二叉树有a、b、c、d四个节点,若中序遍历序列为abcd,后序遍历序列为abdc,则该二叉树的树形结构为( )
A. B. C. D.
10. 列表a中存放了n个整型元素,现要对该列表中的所有元素进行非降序排序。实现该功能的Python程序如下:
n = len(a)
left = 0
right = n - 1
while left < right:
i = left
while i < right:
if (1)________:
a[i], a[i+1] = a[i+1], a[i]
(2)________
(3)________
print(a)
划线处有如下可选代码:
① i+=1 ② right-=1 ③ a[i]>=a[i+1] ④ a[i]<=a[i+1]
划线处应填入的正确代码为( )
A. ③②① B. ③①② C. ④②① D. ④①②
11. 某定义如下函数:
def up(n):
d={1:1,2:2,3:4}
if n in d:
return d[n]
else:
return up(n-1)+up(n-2)+up(n-3)
执行语句x=up(5),下列说法正确的是( )
A. x的值是24 B. 函数up被调用了7次
C. 该算法使用了迭代算法 D. 该算法的时间复杂度为0(n3)
12. 有如下Python程序段:
a=[[6,6],[5,0],[1,3],[2,5],[2,1],[2,4],[9,-1]]
key=int(input())
p=q=head=2
while p!=-1 and a[p][0]<=key:
q=p
p=a[p][1]
if p==head:
a. append([key,head])
head=len(a)-1
else:
a. append([key,p])
a[q][1]=len(a)-1
print(a[-1])
程序段运行后,若输入2,则输出的结果是( )
A. [2,-1] B. [2,1] C. [2,4] D. [2,5]
二、非选择题(本大题共3小题,其中13题7分,14题10分,15题9分,共26分)
13. 某十字路口地面方向标志如图a所示,其红绿灯采用四相位(东西直行、东西左转、南北直行、南北左转)依次动态控制,如图b所示。每个相位的绿灯时长根据两个方向中较大的车辆数动态调整,调整范围为10~30秒(包含边界)。然后黄灯亮3秒,之后调整下一个相位。每辆车通过十字路口的平均时长为2秒。例如:东向西直行16辆,西向东直行2辆,计算绿灯时长为32秒,按调整范围要求不超过30秒,故东西直行相位的绿灯时长最终为30秒。
(1)若从0开始计时,东西直行相位最大车辆数为20,下一个相位(东西左转)最大车辆数为6,则南北直行相位的绿灯从第____秒开始。
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
def get_data():
"""
实时获取交通数据,将图b中的①~⑧方向的车辆数依次存储在列表中,如[11,3,5,4,12,22,13,11],代码略
"""
base=2;short=10;long=30
cur=0
while True: #依次判定四相位的绿灯时长
car=get_data()
①____
if car[cur+1] > t:
t=car[cur+1]
green= long
if short <= t* base <= long:
②____
elif t* base< short:
green= short
#调整该相位的绿灯时长并亮起,之后绿灯熄灭,黄灯亮起,代码略
cur= ③____
14. 随着信息技术和人工智能的发展,学校的图书馆和食堂都引进了智慧校园系统,请回答下列问题:
(1)学校的智慧图书馆座位预定系统已采集了一年的数据,其中座位空闲率高于0.6的为低效区域。小明将某一周内图书馆各区域每小时的座位空闲率导出,存入output. xlsx文件中,如图a所示,现要找出座位空闲率最高的区域,并统计该区域每日空闲率高于0.6的小时数量,绘制如图b所示的线形图,实现上述功能的部分Python程序如下,请选择合适的代码填入划线①、②、③处(单选,填字母)。
df= pd. read_excel(" output. xlsx")
df["日期"]= df["时间"]. astype(str). str[:10] #获取时间列中的年月日
df1= df. groupby("区域", as index= False)["座位空闲率"]. mean()
df2= ①____
oid=df2. at[0, "区域“]
df qy= ②____
df3= df qy[df_qy.座位空闲率>0.6]
df4= ③____
plt. plot(df4["日期"],df4["座位空闲率“])
程序中①②③处可选代码有:
A. dfl. sort values("座位空闲率", ascending= False, ignore_index= True)
B. dfl. sort values("座位空闲率", ascending= True, ignore_index= True)
C. df3. groupby("日期", as_index= False).座位空闲率. count()
D. dfl. groupby("时间").座位空闲率. mean()
E. df[df.区域== oid]
F. df2[df2.区域== oid]
(提示:ignore_index=True参数的功能是在排序后重新生成从0开始的行索引)
(2)学校的“智慧食堂就餐管理系统”,其页面规划如图c所示,用户可通过浏览器查询、管理数据等。请回答下列问题:
①用户查询账单时,在浏览器中访问的子页面网址是 http://____。
②该系统在开发网络应用软件时采用的架构是____。(单选,填字母: A. B/S架构B. C/S架构)
③该系统的餐饮历史数据存储在____(单选,填字母:A.客户端 B.服务器)中。
15. 某市火车站周围有m 个人口较为密集的城区。火车站在出站口设置“出租车拼车点”,并通过“出租车拼车系统”为所有前往同一城区的乘客提供“拼车”服务。系统接收乘客的出行请求,每个请求包含乘客编号、请求上车时间、目的地城区,根据乘客的请求上车时间先后依次为乘客安排车辆。假设每辆出租车最多载客w人,乘客在请求上车时间一定可以上车,且上车后最多等待t分钟,期间一旦满载或超时,则立即发车。编写程序实现,输入出行请求,输出每辆车发车时刻及发车时车内的乘客编号。
例如:若m=2、w=4、t=5,8位乘客出行请求如下表所示,编号1、2、3、4 乘客的发车时间是08:15,编号5、6 乘客的发车时间是08:21,编号7、8 乘客的发车时间是08:23。
乘客编号
1
2
3
4
5
6
7
8
请求上车时间
08:10
08:11
08:11
08:15
08:16
08:17
08:18
08:22
目的地城区
0
0
0
0
1
1
0
0
(1)若将编号为4的乘客的请求上车时间更改为08:16,则编号为8的乘客的发车时间是____(填写格式如 08:00)。
(2)定义sort(data)函数,参数data 中每个元素包含3个数据项:乘客编号、请求上车时间、目的地城区。函数功能为按请求上车时间对data 数组升序排序。
def sort(data):
i =0; n = len(data); flag = True
while i < n -1 and flag:
flag = False
for j in range(n-1,i,-1):
if data[j][1] < data[j-1][1]: #A处
data[j], data[j-1] = data[j-1], data[j]
flag = True
k = j
i = k
①实现上述功能的代码如上,若(data=[[1,550,0], [2,580,0], [3,560,1], [4,590,1],[5,570,2]],则A处代码执行次数为____。
②若删除加框处代码k=i,对程序执行结果的正确性是否有影响____。(单选,填字母A.有影响/B.无影响)
(3)主程序运行界面如下图所示。请在划线处填入合适的代码。
发车时刻:495 乘客:[1,2,3]
发车时刻:501 乘客:[4,7]
发车时刻:501 乘客:[5,6]
发车时刻:507 乘客:[8]
'''
读取 n 个出行请求存入列表 data,每个元素包含乘客编号、请求上车时间、目的地城区 3 个数据项,并将所有的上车时间从 “HH:MM” 的格式转换为与 “00:00” 的时间差。例如:“01:10” 经转换得到 70,代码略。
读取目的地城区的数量 m,最多等待分钟数 t,每辆出租车最多载客数 w。
'''
sort(data)
ct = 0; i = 0; n = len(data)
que = [[1] for i in range(m)]
flag = False
while i < n or flag == True:
while i < n and data[i][1] <= ct:
k = data[i][2]
que[k].append(i)
i += 1
k = 0
flag = False
while k < m:
①____
tail = len(que[k])
if head != tail:
idx = que[k][head]
if ct - data[idx][1] >= t or tail - head >= w:
if head + w < tail:
tail = head + w
②____
pa = [data[idx][0] for idx in pa] #将乘客索引转化为乘客编号
print('发车时刻:',ct,'乘客:',pa)
que[k][0] = tail
k -= 1
flag = True
k += 1
if flag == False and i < n:
ct = data[i][1]
else:
③____
第1页/共1页
学科网(北京)股份有限公司
$