内容正文:
2024届绍兴柯桥区5月新高考第三次适应性考试
技术 试题卷
本卷共12页。满分150分。考试时间150分钟。
注意事项:
1.答卷前,考生务必将自己的学校、班级、姓名、考场号、座位号和准考证号填写在答题卡上,将条形码横贴在答题卡“条形码粘贴处”。
2.作答选择题时,选出每小题答案后,用2B铅笔在答题卡上将对应题目选项的答案信息点涂黑;如需改动,用橡皮擦干净后,再选涂其他答案。答案不能答在试卷上。
3.非选择题必须用黑色字迹的钢笔或签字笔作答,答案必须写在答题卡各题目指定区域内相应位置上;如需改动,先划掉原来的答案,然后再写上新答案;不准使用铅笔和涂改液。不按以上要求作答无效。
4.考生必须保证答题卡的整洁。考试结束后,将试卷和答题卡一并交回。
第一部分 信息技术(共50分)
一、选择题(本大题共12 小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据、信息和知识的说法,正确的是( )
A. 信息在使用过程中会发生损耗
B. 人们的生活与学习过程中会产生数据
C. 信息的价值随着使用次数增多而增大
D. 面对相同的信息,人们理解后形成的知识也相同
2. 下列关于人工智能的说法,不正确的是( )
A. 符号主义强调知识的形式化表示和逻辑推理规则
B. 强化学习有助于智能体适应复杂变化的环境
C. 手机根据环境光线智能调节屏幕亮度应用了人工智能
D. 大数据为人工智能提供了丰富的数据资源
3. 仓储防盗系统是一款以无线射频识别技术为基础的智能化管理系统。在仓库中,每个存储物品都配备有电子标签,分布在仓库内的RFID读写器能够对仓库内的物品进行无线识别与定位。物品的实时位置、数量以及进出库数据将通过网络传输至数据库。当系统检测到异常移动的RFID 信号时,现场将启动声光报警,并在管理软件上推送通知。下列关于该信息系统组成的说法,正确的是( )
A. 每个电子标签具有唯一电子编码,用于标记其身份
B. 电子标签和读写器之间的数据通信依赖于计算机网络
C. 仓储防盗系统软件属于系统软件
D. 该系统的硬件包括RFID读写器、报警器、数据库等
4. 仓储防盗系统是一款以无线射频识别技术为基础的智能化管理系统。在仓库中,每个存储物品都配备有电子标签,分布在仓库内的RFID读写器能够对仓库内的物品进行无线识别与定位。物品的实时位置、数量以及进出库数据将通过网络传输至数据库。当系统检测到异常移动的RFID 信号时,现场将启动声光报警,并在管理软件上推送通知。下列关于提升信息系统安全的措施中,不合理的是( )
A. 加强对仓库管理员的安全培训 B. 定期更新服务器的安全补丁
C. 对管理员账号密码进行加密存储 D. 在更新系统时,关闭网络防火墙
5. 下列关于信息编码的说法,正确的是( )
A. 降低声音强度能节省 wav 音频文件的存储空间
B. 矢量图形的文件大小与图形尺寸大小无关
C. 识别二维码是一个信息编码的过程
D. 同一个字符,在不同的字符集中内码值相同
6. 下列关于网络技术的说法,正确的是( )
A. 移动终端通过 Wi-Fi和服务器通信无需遵循 TCP 协议
B. 同一局域网内的不同设备,可以配置相同的IP 地址
C. 应用终端与服务器建立连接不一定通过网关
D. 分处不同局域网中的计算机不能相互通信
7. 某算法的部分流程图如图所示,执行这部分流程,则输出的值为( )
A. [1,2,3,4,5,6] B. [1,2,4,3,5,6] C. [1,4,2,3,5,6] D. [1,4,2,5,6,2]
8. 栈S和队列Q的初始状态为空,有d1~d6六个数据,每个数据按照进栈、出栈、入队、出队的顺序操作。已知进栈顺序依次为d1、d2、d3、d4、d5、d6,出队顺序依次为d2、d4、d3、d6、d5、d1,则栈S 的大小至少要能存储多少个数据( )
A. 2 B. 3 C. 4 D. 5
9. 某二叉树通过前序遍历或后序遍历或中序遍历,可可得到序列a+b/c-d,则下列二叉树中不可能的是( )
A. B. C. D.
10. 有如下 Python 程序段:
def fx(s):
if len(s)<=1:
return True
elif s[0]!=s[-1]:
return False
else:
return fx(s[1:-1])
s="110011"
print(fx(s))
运行上述程序后,下列说法正确的是( )
A. 程序输出结果是 False
B. 函数 fx被调用了3次
C. 最后一次调用函数 fx时s的值是""
D. 函数 fx的算法时间复杂度是 O(n/2)
11. 有如下 Python程序段:
import random
s="abcd"*2
k=random. randint(1,3)
for i in range(k):
s=s[1:]+s[0]
s=s[3:3+k]+s[:3]+s[3+k:]
该程序段执行后,变量s的值不可能的是( )
A. cdababcd B. cdadabbc C. abcdbcda D. bccdadab
12. 把单向链表第1个节点的位置口叫奇数位置,第2个节点的位置叫偶数位置,以此类推。现将所有偶数位置的节点依次取出后,放在所有奇数位置节点的后面。实现该功能的 Python代码段如下,方框中应填入的正确代码为( )
a=[['a',1],['b',2]. ['c',3],['d',4],[ 'e',-1]]
head=odd=0 #链表 a头节点指针 head
evenhead=even=a[head][1]
while even!=-1 and a[even][1]!=-1:
a[odd][1]=evenhead #将链表连接在奇数链表之后
A. B. C. D.
二、非选择题(本大题共3 小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 一些数字旋转180 度后仍是有效数字,如0、1、8旋转后仍是0、 1、 8,6和9旋转后分别变成9和6。一些数字字符串在旋转后不仅有效,而且和原数串相同。如5位数字字符串“98186”旋转180度后仍是“98186”。统计由5位数字组成数串中,旋转后仍和原数相同的数串的个数。
(1)以“99”开头的5位数串中,旋转后和原串相同的数串有_________个。
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
dic= {0:0','1:1',6':9'8':8'9:6'}
count=0
i=0
while i<100000:
① ________________
t=str(i)
t='0*(5-len(i))+t #补齐成5位数串
c=t[2]
if c!='0' and c!='1' and c!='8':
flag =False
for j in range(2):
if t[j] not in dic or . ②________________
flag=False
if flag:
count+=1
③ ________________
print("旋转后和原串相同的五位数串的数量是:",count)
14. 学校要搭建教室灯光自动控制系统,每个教室外面安装一个光线传感器。智能终端连接了物联网模块、光线传感器和室内电灯等设备。智能终端在获取服务器的相关参数后能自动控制电灯的开关,并将光线亮度值和电灯状态等数据传输到服务器。用户可以通过手机APP或浏览器查看历史数据和当前电灯的状态,还能远程控制电灯开关。请回答下列问题:
(1)下列关于该系统支撑技术的说法,正确的有____________(多选,填字母)。
A.智能终端可以通过物联网模块接入网络并收发数据
B.该系统使用了 C/S 和 B/S 两种网络架构
C.用户无须通过服务器就能远程控制电灯开关
D.一个智能终端只能接一对传感器和执行器
(2)智能终端每隔1分钟从传感器获取1次教室亮度值,如果当前处于教学时间且亮度值低于阈值k且电灯处于关闭状态,则打开电灯,否则关闭电灯。在电灯状态变化时,把相关数据传输到服务器。智能终端中的部分 Python程序如下,在划线处填入合适的代码。
#从服务器获取阈值k,代码略
#on赋初值,值False表示关灯状态,True表示亮灯状态,代码略
while True:
"从服务器获取教学状态值 flag, 值为 True 表示教学时间, 否则为 False
从传感器获取亮度值,保存在 light中,代码略"
if flag and light<k and not on:
on=True
#打开电灯,并把light、on等数据传输到服务器,代码略
elif on and( ):
on=False
#关闭电灯,并把light、on等数据传输到服务器,代码略
sleep(1000*60)#延时1分钟
(3)系统正常工作一段时间后,修改服务器端的阈值k,测试发现设置的新阈值并未起效,要使新阈值生效,以下方法能实现的是_________(单选,填字母:A.重启服务器/B.重新启路由器/C.重启智能终端)。
(4)为了提升系统的智能性,实现晚上有人时自动开灯的功能,请设计一种实现方案__________(从软硬件两方面说明)。
(5)现将一周的开关灯数据导出,保存到“开灯记录.xlsx”,部分数据如图a所示, 数据按时间升序排列,统计每个教室一周的开灯时长(单位:分钟),并绘制如图 b所示的柱型图,部 ython程序如下:
import pandas as pd
import matplotlib. pyplot as plt
def trans(t): #把“时: 分”格式数据转换为分钟数据
return int(t[11:13])*60+int(t[14:16])
df=pd. read excel('开灯记录. xlsx')
room=[101102,103,104,105,106]
duration=[0]*len(room) 1
for i in range(len(room):
①________________
for j in dfl. index:
if df1['开关'][j]=='开':
start=trans(df1['时间'][j])
else:
end=trans(df1['时间'][j])
②________________
plt.bar(room,duration)
15. 银行有k个办理业务的窗口(编号 0~k-1),窗口分为普通和 VIP 两种类型。VIP 窗口在没有 VIP客户的时候,也可以接待普通客户。各窗口按客户到达的先后为他们办理业务,若客户到达时刻相同,则先接待服务时长短的客户。办理规则是:
①如果有空闲的 VIP 窗口,先安排已到达的 VIP 客户办理业务;
②如果没有空闲的VIP窗口,VIP 客户可到其它窗口办理业务,但需要和普通客户一起按到达先后办理业务;
③有多个空闲窗口时,把客户安排到编号小的窗口办理
以 k=3,窗口2为 VIP 窗口为例,客户信息如图1所示。时刻0,3个窗口均空闲,A和B 两个客户已到达(类型0指普通客户,1指VIP客户)。VIP 客户B按规则①到VIP 窗口2,客户A到编号较小的窗口0。时刻5,VIP 客户C按规则②到窗口1办理业务。全部的接待顺序如图2所示。
到达时刻
服务时长
类型
客户名称
0
12
0
A
0
15
1
B
5
16
1
C
5
18
0
D
5
20
0
E
11
13
1
F
图1
办理时刻
窗口0、1、2结束服务时间
说明
0
【12,0,15】
B到窗口2、A到窗口0
5
【12,21,15】
C到窗口1
12
【30,21,15】
D到窗口0
15
【30,21,28】
F到窗口2
21
【30,41,28】
E 到窗口1
图2
编写程序模拟接待过程,输出各窗口接待的客户序列,图3所示。请回答以下问题:
(1)若客户F的到达时刻是50, 窗口2接待的客户序列是:____________
(2)定义如下的sortD(d)函数,列表d的每个元素存储客户信息,由到达时刻,服务时长,类型和客户名称四个数据项组成,且列表D已经按到达时间升序排序。函数的功能是将客户信息进一步加工为到达时刻相同时,按服务时长升序排列。
def sortD(d):
for i in range(1, len(d)):
j=i-1
while i>=0:
if d[j][0]<d[j+1][0] or d[j][1]<=d[j+1][1]:
break
d[j],d[j+1]=d[j+1],d[j]# ①
j-=1
return
用以下 3组数据测试 sortD(d),①处语句执行次数最少的是:__________(单选:填字母)
A.[[016,0,'A'], [0,18,0,'B'],[2,20,0,'C'],[2,23,0,'D'],[2,12,0,'E'], [2,15,0,'F']]
B.[[0,16,0,'A'],[0,18,0,'B'],[2,20,0,'C'],[2,12,0,'E'],[2,23,0,'D'],[2,15,0,'F']]
C.[[0,18,0,'B'],[0,16,0,'A'],[2,12,0,'E'],[2,20,0,'C'],[2,15,0,'F'],[2,23,0,'D']]
(3)实现窗口接待客户的Python程序段如下,请在程序中划线处填入合适的代码。
函数与方法
功能
viper. append(x)
在列表 viper末尾添加元素 x
t=viper. pop(x)
将列表x位置元素赋值给t, 并将其从viper 中删除
"读取 n条客户信息存储到列表d中,每个元素由到达时刻,服务时长,类型和客户名称组成,代码略"
sortD(d)
k=6 #窗口总数
vipwin=[2,4,5] #VIP 窗口编号
wins=[0]*k
lst=[[]for i in range(k)] #lst[i]存放编号为 i的窗口接待客户序列
viper=[]
for i in range(n):
if d[i][2]==1:
① ______________
i=0
while i<n:
cur=min(wins) #min 函数返回列表 wins 中的最小值
if cur<d[i][0]:
for j in vipwin:
if wins[j]<=cur: #按规则①
if len(viper)>0 and d[viper[0]][0]<=cur:
t=viper. pop(0)
② ______________
lst[j]. append(d[t][3])
d[t][2]=-1
else:
break
for j in range(k):
if wins[j]<=cur:
while ③ ____________
i+=1
if i<n and d[i][0]<=cur:
if d[i][2]==1:
viper. pop(0)
wins[j]=cur+d[i][1]
lst[j]. append(d[i][3])
i+=1
#输出各窗口接待客户序列.代码略
第1页/共1页
学科网(北京)股份有限公司
$$
2024届绍兴柯桥区5月新高考第三次适应性考试
技术 试题卷
本卷共12页。满分150分。考试时间150分钟。
注意事项:
1.答卷前,考生务必将自己的学校、班级、姓名、考场号、座位号和准考证号填写在答题卡上,将条形码横贴在答题卡“条形码粘贴处”。
2.作答选择题时,选出每小题答案后,用2B铅笔在答题卡上将对应题目选项的答案信息点涂黑;如需改动,用橡皮擦干净后,再选涂其他答案。答案不能答在试卷上。
3.非选择题必须用黑色字迹的钢笔或签字笔作答,答案必须写在答题卡各题目指定区域内相应位置上;如需改动,先划掉原来的答案,然后再写上新答案;不准使用铅笔和涂改液。不按以上要求作答无效。
4.考生必须保证答题卡的整洁。考试结束后,将试卷和答题卡一并交回。
第一部分 信息技术(共50分)
一、选择题(本大题共12 小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据、信息和知识的说法,正确的是( )
A. 信息在使用过程中会发生损耗
B. 人们生活与学习过程中会产生数据
C. 信息的价值随着使用次数增多而增大
D. 面对相同的信息,人们理解后形成的知识也相同
【答案】B
【解析】
【详解】本题考查的是数据、信息和知识的描述。信息在使用过程中不会发生损耗;人们的生活与学习过程中会产生数据;信息的价值不会随着使用次数而改变;对于相同的信息,不同的人会有不同的理解。故选B。
2. 下列关于人工智能的说法,不正确的是( )
A. 符号主义强调知识的形式化表示和逻辑推理规则
B. 强化学习有助于智能体适应复杂变化的环境
C. 手机根据环境光线智能调节屏幕亮度应用了人工智能
D. 大数据为人工智能提供了丰富的数据资源
【答案】C
【解析】
【详解】本题考查的是人工智能应用。手机根据环境光线智能调节屏幕亮度应用了传感技术。故选C。
3. 仓储防盗系统是一款以无线射频识别技术为基础的智能化管理系统。在仓库中,每个存储物品都配备有电子标签,分布在仓库内的RFID读写器能够对仓库内的物品进行无线识别与定位。物品的实时位置、数量以及进出库数据将通过网络传输至数据库。当系统检测到异常移动的RFID 信号时,现场将启动声光报警,并在管理软件上推送通知。下列关于该信息系统组成的说法,正确的是( )
A. 每个电子标签具有唯一电子编码,用于标记其身份
B. 电子标签和读写器之间的数据通信依赖于计算机网络
C. 仓储防盗系统软件属于系统软件
D. 该系统的硬件包括RFID读写器、报警器、数据库等
【答案】A
【解析】
【详解】本题考查的是信息系统组成。每个电子标签具有唯一电子编码,用于标记其身份,选项A说法正;电子标签和读写器之间的数据通信依赖于射频信号,选项B说法错误;仓储防盗系统软件属于应用软件,选项C说法错误;数据库属于软件,选项D说法错误。故本题应选A。
4. 仓储防盗系统是一款以无线射频识别技术为基础的智能化管理系统。在仓库中,每个存储物品都配备有电子标签,分布在仓库内的RFID读写器能够对仓库内的物品进行无线识别与定位。物品的实时位置、数量以及进出库数据将通过网络传输至数据库。当系统检测到异常移动的RFID 信号时,现场将启动声光报警,并在管理软件上推送通知。下列关于提升信息系统安全的措施中,不合理的是( )
A. 加强对仓库管理员的安全培训 B. 定期更新服务器的安全补丁
C. 对管理员账号密码进行加密存储 D. 在更新系统时,关闭网络防火墙
【答案】D
【解析】
【详解】本题考查的是信息系统安全。网络防火墙是保护网络安全,在任何时候都不能关闭。故选D。
5. 下列关于信息编码的说法,正确的是( )
A. 降低声音强度能节省 wav 音频文件的存储空间
B. 矢量图形的文件大小与图形尺寸大小无关
C. 识别二维码是一个信息编码的过程
D. 同一个字符,在不同的字符集中内码值相同
【答案】BB
【解析】
【详解】本题考查的是信息编码。音频存储空间跟声音的强度无关,选项A说法错误;矢量图由矢量轮廓线和矢量色块组成,文件的大小由图像的复杂程度决定,与图形的尺寸大小无关,选项B说法正确;识别二维码是一个信息解码的过程,选项C说法错误;输入码只与输入法相关,输入法不同(如拼音和五笔)输入码不同,内码与字符集相关,字符集不同,内码值不一定相同,选项D说法错误。故选B。
6. 下列关于网络技术的说法,正确的是( )
A. 移动终端通过 Wi-Fi和服务器通信无需遵循 TCP 协议
B. 同一局域网内的不同设备,可以配置相同的IP 地址
C. 应用终端与服务器建立连接不一定通过网关
D. 分处不同局域网中的计算机不能相互通信
【答案】C
【解析】
【详解】本题考查的是网络技术。移动终端通过 Wi-Fi和服务器通信也需遵循 TCP 协议,选项A说法错误;同一局域网内的不同设备,不可以配置相同的IP 地址,选项B说法错误;应用终端与服务器建立连接不一定通过网关,在同一局域网可直接与服务器连接,选项C说法正确;分处不同局域网中的计算机可以相互通信,选项D说法错误,故选C。
7. 某算法的部分流程图如图所示,执行这部分流程,则输出的值为( )
A. [1,2,3,4,5,6] B. [1,2,4,3,5,6] C. [1,4,2,3,5,6] D. [1,4,2,5,6,2]
【答案】B
【解析】
【详解】本题考查的是流程图识读。阅读流程图可知,流程图功能是,将列表a中比2大的元素,从后往前都后移一位,直到遇到比2小结束,并将2插入。初始a=[1,4,3,5,6,2],执行这部分流程,则输出的值为[1,2,4,3,5,6]。故选B。
8. 栈S和队列Q的初始状态为空,有d1~d6六个数据,每个数据按照进栈、出栈、入队、出队的顺序操作。已知进栈顺序依次为d1、d2、d3、d4、d5、d6,出队顺序依次为d2、d4、d3、d6、d5、d1,则栈S 的大小至少要能存储多少个数据( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题主要考查栈和队列的操作。若出栈的顺序为d2、d4、d3、d6、d5、d1,则d1和d2先进入栈,然后d2出栈,d3和d4进栈 ,此时栈中有3个元素,分别是d1、d3和d4,然后d4和d3出栈,d5和d6进栈,再d6、d5、d1出栈,因此栈中最多时的元素为3,故栈S的容量至少应该为3,故本题选B选项。
9. 某二叉树通过前序遍历或后序遍历或中序遍历,可可得到序列a+b/c-d,则下列二叉树中不可能的是( )
A. B. C. D.
【答案】C
【解析】
【详解】本题考查的是二叉树的遍历。
选项A前序遍历为:/+a-cd;中序遍历为:a+b/c-d;后序遍历为:ab+cd-/。
选项B前序遍历为:dba+-/c;中序遍历为:ab+d/c;后序遍历为:a+b/c-d。
选项C前序遍历为:a+/cb-d;中序遍历为:/+ca-bd;后序遍历为:/c+-dba。
选项D前序遍历为:a+b/c-d;中序遍历为:b+/a-cd;后序遍历为:b/+-dca。
选项C中,没有序列a+b/c-d,故选C
10 有如下 Python 程序段:
def fx(s):
if len(s)<=1:
return True
elif s[0]!=s[-1]:
return False
else:
return fx(s[1:-1])
s="110011"
print(fx(s))
运行上述程序后,下列说法正确是( )
A. 程序输出结果是 False
B. 函数 fx被调用了3次
C. 最后一次调用函数 fx时s的值是""
D. 函数 fx的算法时间复杂度是 O(n/2)
【答案】C
【解析】
【详解】本题考查的是递归。程序的功能是判断是否为回文数,110011是回文数,返回结果是True,选项A说法错误;函数fx被调用了4次分别是:fx("110011")、fx("1001")、fx("00")、fx(""),选项B说法错误,选项D说法正确;函数fx的算法时间复杂度是O(n),选项D说法错误,故选C。
11. 有如下 Python程序段:
import random
s="abcd"*2
k=random. randint(1,3)
for i in range(k):
s=s[1:]+s[0]
s=s[3:3+k]+s[:3]+s[3+k:]
该程序段执行后,变量s的值不可能的是( )
A. cdababcd B. cdadabbc C. abcdbcda D. bccdadab
【答案】A
【解析】
【详解】本题考查的是随机函数及循环语句。初始s="abcdabcd",k取值为1或2或3。
若k为1,循环执行一次后,s="bcdabcda",s=s[3:3+k]+s[:3]+s[3+k:]="a"+"bcd"+"bcda"="abcdbcda",对应选项C;
若k为2,循环执行一次后,s="cdabcdab",s=s[3:3+k]+s[:3]+s[3+k:]="bc"+"cda"+"dab"="bccdadab",对应选项D;
若k为3,循环执行一次后,s="dabcdabc",s=s[3:3+k]+s[:3]+s[3+k:]="cda"+"dab"+"bc"="cdadabbc",对应选项B。
故选A。
12. 把单向链表第1个节点的位置口叫奇数位置,第2个节点的位置叫偶数位置,以此类推。现将所有偶数位置的节点依次取出后,放在所有奇数位置节点的后面。实现该功能的 Python代码段如下,方框中应填入的正确代码为( )
a=[['a',1],['b',2]. ['c',3],['d',4],[ 'e',-1]]
head=odd=0 #链表 a头节点指针是 head
evenhead=even=a[head][1]
while even!=-1 and a[even][1]!=-1:
a[odd][1]=evenhead #将链表连接在奇数链表之后
A. B. C. D.
【答案】A
【解析】
【详解】本题考查的是链表操作。head、odd指向奇节点,evenhead、even指向偶节点。操作过程:把odd的下一个指向even的下一个,原odd的下一个指向enven的下一个,即把奇节点与偶节点分别链接起来形成两个链表,最后在把偶节点链入最后一个奇节点。故选A。
二、非选择题(本大题共3 小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 一些数字旋转180 度后仍是有效数字,如0、1、8旋转后仍是0、 1、 8,6和9旋转后分别变成9和6。一些数字字符串在旋转后不仅有效,而且和原数串相同。如5位数字字符串“98186”旋转180度后仍是“98186”。统计由5位数字组成数串中,旋转后仍和原数相同的数串的个数。
(1)以“99”开头的5位数串中,旋转后和原串相同的数串有_________个。
(2)实现上述功能的部分 Python程序如下,请在划线处填入合适的代码。
dic= {0:0','1:1',6':9'8':8'9:6'}
count=0
i=0
while i<100000:
① ________________
t=str(i)
t='0*(5-len(i))+t #补齐成5位数串
c=t[2]
if c!='0' and c!='1' and c!='8':
flag =False
for j in range(2):
if t[j] not in dic or . ②________________
flag=False
if flag:
count+=1
③ ________________
print("旋转后和原串相同的五位数串的数量是:",count)
【答案】 ①. 3 ②. flag =True ③. dic[t[j]]!=t[-j-1] 或 dic[t[j]]!=t[4-j] ④. i+=1
【解析】
【详解】本题考查的是Python综合应用。
(1)以“99”开头的5位数串中,旋转后和原串相同,则最后两位一定是“66”,中间只能是0、1、8三中情况。
(2)①处,由if c!='0' and c!='1' and c!='8':、flag =False语句可知,此处缺少了flag初值,故此处应为:flag =True;②处,t[j]字符必须在字典dic中才有可能构成满足条件的字符串,且6和9字符的特殊性,需要对称位置判断,故此处为:dic[t[j]]!=t[-j-1] 或 dic[t[j]]!=t[4-j];③处,逐个数的进行判断,i需要自增,故此处应为:i+=1。
14. 学校要搭建教室灯光自动控制系统,每个教室外面安装一个光线传感器。智能终端连接了物联网模块、光线传感器和室内电灯等设备。智能终端在获取服务器的相关参数后能自动控制电灯的开关,并将光线亮度值和电灯状态等数据传输到服务器。用户可以通过手机APP或浏览器查看历史数据和当前电灯的状态,还能远程控制电灯开关。请回答下列问题:
(1)下列关于该系统支撑技术的说法,正确的有____________(多选,填字母)。
A.智能终端可以通过物联网模块接入网络并收发数据
B.该系统使用了 C/S 和 B/S 两种网络架构
C.用户无须通过服务器就能远程控制电灯开关
D.一个智能终端只能接一对传感器和执行器
(2)智能终端每隔1分钟从传感器获取1次教室亮度值,如果当前处于教学时间且亮度值低于阈值k且电灯处于关闭状态,则打开电灯,否则关闭电灯。在电灯状态变化时,把相关数据传输到服务器。智能终端中的部分 Python程序如下,在划线处填入合适的代码。
#从服务器获取阈值k,代码略
#on赋初值,值为False表示关灯状态,True表示亮灯状态,代码略
while True:
"从服务器获取教学状态值 flag, 值为 True 表示教学时间, 否则为 False
从传感器获取亮度值,保存在 light中,代码略"
if flag and light<k and not on:
on=True
#打开电灯,并把light、on等数据传输到服务器,代码略
elif on and( ):
on=False
#关闭电灯,并把light、on等数据传输到服务器,代码略
sleep(1000*60)#延时1分钟
(3)系统正常工作一段时间后,修改服务器端的阈值k,测试发现设置的新阈值并未起效,要使新阈值生效,以下方法能实现的是_________(单选,填字母:A.重启服务器/B.重新启路由器/C.重启智能终端)。
(4)为了提升系统的智能性,实现晚上有人时自动开灯的功能,请设计一种实现方案__________(从软硬件两方面说明)。
(5)现将一周的开关灯数据导出,保存到“开灯记录.xlsx”,部分数据如图a所示, 数据按时间升序排列,统计每个教室一周的开灯时长(单位:分钟),并绘制如图 b所示的柱型图,部 ython程序如下:
import pandas as pd
import matplotlib. pyplot as plt
def trans(t): #把“时: 分”格式数据转换为分钟数据
return int(t[11:13])*60+int(t[14:16])
df=pd. read excel('开灯记录. xlsx')
room=[101,102,103,104,105,106]
duration=[0]*len(room) 1
for i in range(len(room):
①________________
for j in dfl. index:
if df1['开关'][j]=='开':
start=trans(df1['时间'][j])
else:
end=trans(df1['时间'][j])
②________________
plt.bar(room,duration)
【答案】 ①. AB ②. not flag or light>=k ③. C ④. 添加红外传感器,并在智能终端添加检测程序,当教学时间检测到有人时自动开灯 ⑤. df1=df[df.教室==room[i]] 或 df1=df[df["教室"]==room[i]] ⑥. duration[i]+=end-start
【解析】
【详解】本题考查的是信息系统搭建及pandas数据处理。
(1)材料中提到了智能终端连接物联网模块,说明智能终端需要通过物联网模块接入网络并收发数据,选项A说法正确;材料中提到用户可以通过手机APP(客户端)和浏览器查看历史数据和远程控制电灯,故该系统使用了 C/S 和 B/S 两种网络架构,选项B说法正确;用户无论是使用APP 还是浏览器控制电灯,都是通过服务器提供的接口和服务实现对电灯的控制,数据先传输到服务器再由服务器传输到智能终端,故不可能绕过服务器直接控制选项C说法错误;一个智能终端可以一次接多个传感器和执行器,可以在代码中通过连接端口加以区分,选项D说法错误。
(2)判断关灯条件是:灯开着同时非教学时段或外部光照条件大于等于阈值,故此处应为:not flag or light>=k。
(3)智能终端只会在电灯状态变化时把相关数据上传,而用于判断开灯或关灯的阈值k是智能终端从服务器获取的,修改服务器段的阈值k后,智能终端需要重新获取新k值,故需要重启智能终端。故选C。
(4)在原系统基础上增加“晚上有人开灯”功能,需要增加判断“有人”的传感器,常见的可以通过“人体 红外传感器”或者“声音传感器”。其次需要在智能终端代码中进行相应的修改。
(5)①筛选指定教室的记录,故此处应为:df1=df[df.教室==room[i]] 或 df1=df[df["教室"]==room[i]]; ②累计该教室的开灯时长duration[i]+=end-start
15. 银行有k个办理业务的窗口(编号 0~k-1),窗口分为普通和 VIP 两种类型。VIP 窗口在没有 VIP客户的时候,也可以接待普通客户。各窗口按客户到达的先后为他们办理业务,若客户到达时刻相同,则先接待服务时长短的客户。办理规则是:
①如果有空闲的 VIP 窗口,先安排已到达的 VIP 客户办理业务;
②如果没有空闲的VIP窗口,VIP 客户可到其它窗口办理业务,但需要和普通客户一起按到达先后办理业务;
③有多个空闲窗口时,把客户安排到编号小的窗口办理
以 k=3,窗口2为 VIP 窗口为例,客户信息如图1所示。时刻0,3个窗口均空闲,A和B 两个客户已到达(类型0指普通客户,1指VIP客户)。VIP 客户B按规则①到VIP 窗口2,客户A到编号较小的窗口0。时刻5,VIP 客户C按规则②到窗口1办理业务。全部的接待顺序如图2所示。
到达时刻
服务时长
类型
客户名称
0
12
0
A
0
15
1
B
5
16
1
C
5
18
0
D
5
20
0
E
11
13
1
F
图1
办理时刻
窗口0、1、2结束服务时间
说明
0
【12,0,15】
B到窗口2、A到窗口0
5
【12,21,15】
C到窗口1
12
【30,21,15】
D到窗口0
15
【30,21,28】
F到窗口2
21
【30,41,28】
E 到窗口1
图2
编写程序模拟接待过程,输出各窗口接待的客户序列,图3所示。请回答以下问题:
(1)若客户F的到达时刻是50, 窗口2接待的客户序列是:____________
(2)定义如下的sortD(d)函数,列表d的每个元素存储客户信息,由到达时刻,服务时长,类型和客户名称四个数据项组成,且列表D已经按到达时间升序排序。函数的功能是将客户信息进一步加工为到达时刻相同时,按服务时长升序排列。
def sortD(d):
for i in range(1, len(d)):
j=i-1
while i>=0:
if d[j][0]<d[j+1][0] or d[j][1]<=d[j+1][1]:
break
d[j],d[j+1]=d[j+1],d[j]# ①
j-=1
return
用以下 3组数据测试 sortD(d),①处语句执行次数最少的是:__________(单选:填字母)
A.[[0,16,0,'A'], [0,18,0,'B'],[2,20,0,'C'],[2,23,0,'D'],[2,12,0,'E'], [2,15,0,'F']]
B.[[0,16,0,'A'],[0,18,0,'B'],[2,20,0,'C'],[2,12,0,'E'],[2,23,0,'D'],[2,15,0,'F']]
C.[[0,18,0,'B'],[0,16,0,'A'],[2,12,0,'E'],[2,20,0,'C'],[2,15,0,'F'],[2,23,0,'D']]
(3)实现窗口接待客户的Python程序段如下,请在程序中划线处填入合适的代码。
函数与方法
功能
viper. append(x)
列表 viper末尾添加元素 x
t=viper. pop(x)
将列表x位置元素赋值给t, 并将其从viper 中删除
"读取 n条客户信息存储到列表d中,每个元素由到达时刻,服务时长,类型和客户名称组成,代码略"
sortD(d)
k=6 #窗口总数
vipwin=[2,4,5] #VIP 窗口编号
wins=[0]*k
lst=[[]for i in range(k)] #lst[i]存放编号为 i的窗口接待客户序列
viper=[]
for i in range(n):
if d[i][2]==1:
① ______________
i=0
while i<n:
cur=min(wins) #min 函数返回列表 wins 中的最小值
if cur<d[i][0]:
for j in vipwin:
if wins[j]<=cur: #按规则①
if len(viper)>0 and d[viper[0]][0]<=cur:
t=viper. pop(0)
② ______________
lst[j]. append(d[t][3])
d[t][2]=-1
else:
break
for j in range(k):
if wins[j]<=cur:
while ③ ____________
i+=1
if i<n and d[i][0]<=cur:
if d[i][2]==1:
viper. pop(0)
wins[j]=cur+d[i][1]
lst[j]. append(d[i][3])
i+=1
#输出各窗口的接待客户序列.代码略
【答案】 ①. B,E,F ②. C ③. viper.append(i) ④. wins[j]=cur+d[t][1] ⑤. i<n and d[i][2]==-1
【解析】
【详解】本题考查的是Python综合应用。
(1)若客户F的到达时刻是50,接待顺序如下:
办理时刻
窗口0、1、2结束服务时间
说明
0
【12,0,15】
B到窗口2、A到窗口0
5
【12,21,15】
C到窗口1
12
【30,21,15】
D到窗口0
15
【30,21,35】
E到窗口2
50
【50,50,50】
F到窗口2
窗口2接待的客户序列是:B,E,F。
(2)自定又函数sortD()的排序功能类似于插入排序,将未排序部分的元素i向前交换,直至不满足交换条件。 备入各个选项:A选项共交换4次,B选项交换3次,C选项交换2次。故选C。
(3)①程序开始时调用了sortD()函数,整理了原始数据的处理优先级(到达时间优先,同到达时间处理时间短优先)。故①空所在位置的循环遍历,目标就是将vip客户和普通分开单独存储到viper 列表中。根据代码: if len(viper)>0 and d[viper[0]][0]<=cur; t=viper.pop(0) 易得 viper 中存储的是 vip 客户的在列表d中的索引。故答案为viper.append(i); ②wins 数组中存储每个窗口的结束时间,做判断时,需要优先对vip窗口进行判断(for j in vipwin)。若当前结束的是vip窗口,且有 vip客户已经到达(d[viper[0]][0]<=cur),则优先接待 vip 客户(viper.pop(0)),同时更新当前窗口处理结束时间,故答案为wins[i]=cur+d[t][1](开始处理时间+需要处理时长) ;③已经被接待的vip用户,其“服务时长”在接待开始后被标记为-1(d[t][2]=-1),所以第二轮对全部窗口做判断时(for j in range(k)),需要在d中跳过已经被接待的用户。故答案为:i<n and d[i][2]==-1。
第1页/共1页
学科网(北京)股份有限公司
$$