浙江省嘉兴市2024-2025学年高三上学期9月基础测试信息技术试卷 (解析版)

资源下载
  1. 二一教育资源

浙江省嘉兴市2024-2025学年高三上学期9月基础测试信息技术试卷 (解析版)

资源简介

2024年高三基础测试技术试题卷
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个是符合题目要求的,不选,多选,错选均不得分)
1. 下列关于数据和信息的说法,不正确的是( )
A. 数据是对客观事物的符号表示 B. 信息经过加工处理后可以获得更大的价值
C. 数据经过采样、量化和编码后一定是二进制数据 D. 大数据给生活带来便利的同时,也带来了新的社会问题
2. 下列关于信息安全的说法,不正确的是( )
A. 授权用户的访问权限可能存在差别
B. 对于个人信息的保护,最为重要的措施是制定相关法律法规
C. 系统软件和应用软件中的漏洞,会对信息系统安全造成威胁
D. 身份认证要解决的问题是用户是否有权限进入系统使用数据资源
3. 无人健身房是指使用人工智能技术和自动化设备来实现健身房的运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于该信息系统的组成和功能的说法,正确的是( )
A. 该信息系统的用户只有健身客户和管理员
B. 该信息系统的硬件仅包含健身器材和服务器
C. RFID卡采用了传感器技术,数据由RFID卡发射到读写器
D. 该信息系统无需店员或教练在场,所以对外部环境没有依赖性
4. 无人健身房是指使用人工智能技术和自动化设备来实现健身房的运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于人工智能的说法,正确的是( )
A. 人工智能是一门多学科广泛交叉的前沿科学
B. 无人健身房通过数据分析和机器学习技术优化训练是符号主义的体现
C. 人脸识别因为每个人的人脸都不一样,所以系统不需要学习大量的人脸数据
D. 在使用人工智能的过程中,因为有客户的参与所以该人工智能是混合增强智能
5. 无人健身房是指使用人工智能技术和自动化设备来实现健身房运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于网络的说法,正确的是( )
A. 客户通过手机APP认证,无需连接该系统服务器
B. 手机通过WiFi登录该系统,采用的是移动通讯网络技术
C. 该系统的网络由计算机系统、数据通信系统、网络软件和网络协议组成
D. 客户通过浏览器访问该系统需要HTTP协议的支持,使用APP访问无需网络协议
6. 某算法的部分流程图如图所示,若输入a的值为(11,10,9,11,15,7,15),执行这部分流程后,输出的结果为( )
A. [11,10,11,15,9,15,7] B. [11,10,11,15,9,7,15] C. [10,9,12,11,7,16,15] D. [10,9,12,12,7,15,15]
7. 三幅未经压缩的BMP图像,其颜色数分别为16位色、256色和单色,其余参数相同,其存储容量比为( )
A. 4:8:1 B. 16:8:1 C. 16:256:2 D. 216:256:2
8. 在某银行排队叫号系统中,利用队列来储存当前正在排队顾客的编号,head指向队首元素,tail指向队尾元素的下一个位置,若现在队列的顾客数量为4时,则head和tail的关系正确的是( )
A. head= tail+3 B. head= tail+4 C. tail= head+3 D. tail= head+4
9. 下列关于数据结构的描述,正确的是( )
A. 队列和栈都是操作受限的线性表 B. 链表必定有1个头指针和1个尾指针
C. 字符串中不能存储空格字符 D. 数组元素的数据类型可以不一致
10. 有一排苹果箱,其中第i箱苹果个数为2i-1个,现要取m个苹果,求取走的箱子个数。实现该功能的程序段如下,方框中应填入的代码为( )
m= int(input("请输入要取走的苹果个数: "))
t=0 #取走m个苹果所需的箱子数
while m != 0:
if :
t+=1
m//=2
print(t)
A. m%2=0 B. m%2=1 C. m%2==0 D. m%2==1
11. 有如下Python程序段
s="01357987"; k=3; stack=[s[0]]
for char in s[1:]:
while stack[-1] > char and k > 0:
stack.pop() #删除 stack 列表的最后一个元素
k-=1
stack.append( char) #在 stack 列表的结尾插入元素 char
while k > 0:
stack.pop()
k-=1
while stack[0] == "0":
stack.pop(0)
print( stack)
执行该程序段后,stack的值是( )
A. ['1','3','5','7'] B. ['7','9','8','7'] C. ['0','7','9','8','7'] D. ['0,'1','3','5','7']
12. 某对分查找算法的部分程序段如下:
def search(a, key):
i=0; j= len(a)-1; s=""
while i <= j:
m=(i+j)//2
if a[m] == key:
return s
elif key < a[m]:
s+="L";j=m-1
else:
s+="R";i=m+1
return s
key= int( input("请输入待查数据: "))
result= search(a, key)
print( result)
按非降序排序的整型数组a的值依次为“10,25,30,41,47,50,61,x,70,87”。如果输入key的值为67,执行该程序段后显示结果为“RRL”,则x的可能值的个数为( )
A. 5 B. 6 C. 8 D. 9
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 小华搭建了一个教室照明灯控制系统。该系统智能终端连接了物联网模块、光线传感器、人体红外传感器和室内照明灯等设备。智能终端从服务器获取阈值、光线亮度等相关参数后自动控制教室照明灯的开关,并将采集到的光线亮度数据传输到服务器。用户,可以通过手机APP或浏览器查看历史数据和当前照明灯的状态。该系统的架构如图所示,请回答下列问题:
(1)采集教室的光线数据的过程中采用的技术是____(单选,填字母:A.人工智能/B.传感/C.射频识别)。
(2)根据该信息系统的功能要求,图中①处的设备为____(单选,填字母:A.路由器/B.交换机/C.防火墙/D.IoT模块)。
(3)下列关于该系统中服务器、智能终端、客户端的说法,正确的是____(多选,填字母)
A.该系统采用了B/S架构
B.用户远程控制照明灯开关,需通过服务器实现
C.用户手机可以通过IoT模块以无线方式连接服务器
D.浏览器获取照明灯控制系统的数据来源于智能终端
(4)智能终端每隔1分钟获取1次亮度值,若连续两次数据的变化量超过给定的val,则向服务器上传一次数据。如果教室有人且亮度值低于阈值k,则照明灯启动,否则关闭。实现该功能的部分Python代码如下,请在划线处填入合适的代码。
last=-1
val=5 #设定变化量
sw= False #标记照明灯状态, True 表示开启, False 表示关闭
while True:
light=pin0.read _ analog()
#从红外线传感器获取数据判断教室是否有人,结果存于flag中(有人为True,无人为False),代码略
if ①____:
#将light 光线亮度数据传输到服务器,代码略
last= light
if flag and light < k:
pin8.write _ digital(1)
②____
else:
pin8.write _ digital(0)
sw= False
sleep(1000*60)
14. 某校组织学生通过填涂评估卡的方式参与评教活动,学生要对本班任课教师进行评价,现要进行评教数据处理和分析。请回答下列问题:
图a 图b
(1)检查评教数据是否符合以下规则:每个评教项目分为四个等级,分别是A.优秀、B.良好、C.合格、D.不合格;每个评教项目只能选择一个等级,多选或漏选该评教结果被视为无效,并且该条记录将被删除。符合规则的数据按照所选等级对应的分值进行折算。原始数据格式如图a所示,处理后的部分数据如图b所示。实现上述功能的部分Python程序如下:
#导入相关模块,读取数据;保存到DataFrame对象df中,代码略
pj=["A","B","C","D"]
fs={"A":3,"B":2,"C":1,"D":0}
rtd=[]
for i in df.index:
p1= df.at[i"教学态度"] ##通过行标签和列标签选取单个值
p2= df.at[i,"教学水平"]
p3= df.at[i,"教学效果"]
if :
rtd.append(i) #为 rtd 追加一个元素
else:
df.at[i,"教学态度"]= fs[p1]
df.at[i,"教学水平"]= fs[p2]
df.at[i,"教学效果"]= fs[p3]
dfl= df.drop( rtd)#删除行
程序的方框中应填入的正确代码为(单选,填字母)
A.not( p1 in pj and p2 in pj and p3 in pj) B.not( pl in pj or p2 in pj or p3 in pj)
C.p1 in pj and p2 in pj and p3 in pj D.pl in pj or p2 in pjor p3 in pj
(2)根据上述dft中的数据,统计得分,绘制如图c所示的柱形图,实现该功能的部分Python程序如下,请在程序中划线处填入合适的代码。
dfl.insert(4,"得分",0) #插入列
for i in df1.index:
fl.at[i,"得分"]= int( dfl.at[i,"教学态度"])+ int( dfl.at[i,"教学水平"])+ int( dfl.at[i,"教学效果"])
df2= dfl.groupby("姓名", as _ index= False).①____ #分组求平均
df3=df2.sort _ values(②____, ascending= False).head(3) #降序排序取得分前3 名
plt.bar(x,y) #绘制柱形图
#设置绘图参数,代码略
程序的方框中可以填入的代码为____(多选,填字母)。
A. x=df2["姓名"] y=df2["得分"] B. x=df3["姓名"] y=df3["得分"] C. x=df2.姓名 y=df2.得分 D. x=df3.姓名 y=df3.得分
15. 祖玛游戏:石青蛙每次吐出一个珠子打入轨道里的珠串中,现有轨道长度为20,初始珠串长度为8,珠子颜色共有4种(用0~3表示),其中珠串用列表模拟链表方式存储,第1个元素存储珠子的颜色,第2个元素存储“下一个珠子”的索引。
打珠方式有以下3种:
若珠串中已有连续2颗珠子与生成的珠子颜色相同,则打在这两颗珠子中间,形成3颗颜色相同的珠串,并执行消除操作,消除后若还有3颗及以上其他同色的珠子则继续消除;
若珠串中只有1颗珠子与生成的珠子颜色相同,则打在这颗珠子的后面;
若珠串中没有珠子与生成的珠子颜色相同,则打在珠串的第1个位置。
石青蛙每打1颗珠子,整个珠串往前走1格。若有珠子到达终点,输出“游戏失败”若轨道上的珠子全部被消除,输出“游戏成功”。(初始状态效果图如图a、运行结果如图b所示)
图a 图b
实现该游戏的部分代码如下:
(1)若当前轨道上的珠串为0,0,1,3,2,3,2,2,1,依次打入0,2,0的珠子后,轨道上的珠串为____。
(2)定义 seek 函数,其功能是寻找待打入珠子的位置,请将代码补充完整。
def seek( head, b):
wl=-1
w2=-1
p= head
q= ball[p][1]
for a in range( rest-1):
if ball[p][0]==b: #找到 1颗相同颜色的珠子
wl=p
if ____: #找到 2 颗连续相同颜色珠子
w2=p
p=q
q= ball[q][1]
if ball[p][0]b:
w1=p
return w1,w2
(3)定义check函数,其功能是检查是否有3颗及以上连续相同颜色的珠子,若有则删除,返回删除珠子的个数和头节点的索引,请将代码补充完整。
def check( ball, head): #检查是否有 3个以上连续颜色球,并删除,返回相同球的个数和头节点的索引
if head ==-1:
return 0 head
num=1
p= head
q= ball[ head][1]
begin=p
while q!=-1: #检查相同颜色的珠子
if ball[p][0]== ball[q][0]:
num+=1
if num==3: #找到了连续 3 颗相同颜色的珠子
num= num-l
while ____:
p=q
q= ball[q][1]
num+=1
break
else:
num=1
begin=q
p=q
q= ball[q][1]
#删除3颗及以上颜色相同的珠子,返回 num,head;代码略
(4)主程序。
#随机产生8颗珠子存入 ball,不允许出现连续3颗及以上颜色相同的珠子, 代码略
launch=[] #打入珠子的序列
head=0
rest=8 #链表中剩余珠串的长度
start=12 #珠串离终点的轨道长度,在打入新珠子后前移
while rest>0 and start>0:
b= random.randint(0,3) #现在新产生的球的颜色
launch.append(b) # launch 列表追加一个元素b
w1,w2= seek( head,b)
if w2!=-1: #找到 2颗颜色相同的珠子
ball.append([b, ball[w2][1]])
ball[w2][1]= len( ball)-1
elif w1!=-1: #找到1颗颜色相同的珠子
ball.append([b, ball[ wl][1]])
ball[w2][1]= len( ball)-1
else: #未找到, 打入第一个位置
ball.append([b, head])
①____
#消除相同颜色的珠子
w=0
n=-1
while n!=0:
n, head= check( ball, head)
w+=n
rest-=w-1
if w==0: #调整第1 颗珠子离终点的距离。
②____
else:
start= start+w-2
print("发射的珠子依次为: ", launch)
if rest==0 :
print("游戏成功")
else:
print("游戏失败: ")2024年高三基础测试技术试题卷
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个是符合题目要求的,不选,多选,错选均不得分)
1. 下列关于数据和信息的说法,不正确的是( )
A. 数据是对客观事物的符号表示 B. 信息经过加工处理后可以获得更大的价值
C. 数据经过采样、量化和编码后一定是二进制数据 D. 大数据给生活带来便利的同时,也带来了新的社会问题
【答案】C
【解析】
【详解】本题考查的是数据和信息的概念。数据经过采样、量化和编码后不一定是二进制数据,它可以是多种形式的数据表示方式。选项C的说法不正确。其他选项的说法都是正确的:数据是对客观事物的符号表示,信息经过加工处理后可以获得更大的价值,大数据给生活带来便利的同时也带来了新的社会问题。故选C。
2. 下列关于信息安全的说法,不正确的是( )
A. 授权用户的访问权限可能存在差别
B. 对于个人信息的保护,最为重要的措施是制定相关法律法规
C. 系统软件和应用软件中的漏洞,会对信息系统安全造成威胁
D. 身份认证要解决的问题是用户是否有权限进入系统使用数据资源
【答案】B
【解析】
【详解】本题考查的是信息安全。对于个人信息的保护,最为重要的措施不仅仅是制定相关法律法规,还包括技术手段、管理措施等多方面的综合保障。因此,选项B的说法不够全面,存在不正确之处。其他选项A、C、D的说法均是正确的。故选B。
3. 无人健身房是指使用人工智能技术和自动化设备来实现健身房的运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于该信息系统的组成和功能的说法,正确的是( )
A. 该信息系统的用户只有健身客户和管理员
B. 该信息系统的硬件仅包含健身器材和服务器
C. RFID卡采用了传感器技术,数据由RFID卡发射到读写器
D. 该信息系统无需店员或教练在场,所以对外部环境没有依赖性
【答案】C
【解析】
【详解】本题考查的是信息系统组成及功能。该信息系统的用户不仅包括健身客户和管理员,还可能包括系统维护人员、数据分析师等,选项A错误;该信息系统的硬件不仅包含健身器材和服务器,还包括RFID读写器、摄像头、屏幕、音频设备等,选项B错误;RFID卡确实采用了传感器技术,数据由RFID卡发射到读写器,选项C正确;尽管该信息系统无需店员或教练在场,但它仍然依赖于外部环境,如网络连接、电力供应等,选项D错误。故本题应选C。
4. 无人健身房是指使用人工智能技术和自动化设备来实现健身房的运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于人工智能的说法,正确的是( )
A. 人工智能是一门多学科广泛交叉的前沿科学
B. 无人健身房通过数据分析和机器学习技术优化训练是符号主义的体现
C. 人脸识别因为每个人的人脸都不一样,所以系统不需要学习大量的人脸数据
D. 在使用人工智能的过程中,因为有客户的参与所以该人工智能是混合增强智能
【答案】A
【解析】
【详解】本题考查的是人工智能相关知识。选项A正确,人工智能是一门多学科广泛交叉的前沿科学,涉及计算机科学、数学、心理学、神经科学、认知科学等多个领域;选项B错误,无人健身房通过数据分析和机器学习技术优化训练是连接主义的体现,而不是符号主义。符号主义主要是基于规则和符号操作的人工智能方法;选项C错误,人脸识别系统需要学习大量的人脸数据,以便能够准确识别和区分不同的人脸特征;选项D错误,混合增强智能是指人类智能和人工智能的结合,而题目中描述的无人健身房主要依赖人工智能技术来实现运营和管理,并不属于混合增强智能的范畴。故本题应选A。
5. 无人健身房是指使用人工智能技术和自动化设备来实现健身房的运营和管理,没有店员和教练。客户可以通过手机APP,RFID卡或浏览器等方式认证进入健身房,系统会收集客户的健身数据,比如锻炼时间、频次、强度等,通过数据分析和机器学习技术,不断优化服务和推荐更合适的训练计划,同时健身房配备虚拟教练,通过屏幕或音频设备,提供指导和鼓励,训练完成之后,客户可以通过人脸识别的认证方式支付费用。下列关于网络的说法,正确的是( )
A. 客户通过手机APP认证,无需连接该系统服务器
B. 手机通过WiFi登录该系统,采用的是移动通讯网络技术
C. 该系统的网络由计算机系统、数据通信系统、网络软件和网络协议组成
D. 客户通过浏览器访问该系统需要HTTP协议的支持,使用APP访问无需网络协议
【答案】C
【解析】
【详解】本题考查的是网络相关知识。选项A错误。客户通过手机APP认证,需要连接该系统服务器以验证身份和获取相关服务;选项B错误。手机通过WiFi登录该系统,WiFi属于无线局域网技术,而不是移动通讯网络技术;选项C正确。该系统的网络由计算机系统、数据通信系统、网络软件和网络协议组成,这是网络系统的基本组成部分;选项D错误。客户通过浏览器访问该系统需要HTTP协议的支持,使用APP访问同样需要网络协议的支持,只是可能使用不同的协议(如HTTPS、WebSocket等)。故本题应选C。
6. 某算法的部分流程图如图所示,若输入a的值为(11,10,9,11,15,7,15),执行这部分流程后,输出的结果为( )
A. [11,10,11,15,9,15,7] B. [11,10,11,15,9,7,15] C. [10,9,12,11,7,16,15] D. [10,9,12,12,7,15,15]
【答案】D
【解析】
【详解】本题考查的是流程图识读。阅读流程图可知,对a中元素进行如下处理:如果当前的值比后面值大,则交换,否则当前值加1。初始:a=[11,10,9,11,15,7,15]。
i=0,11>10,交换,a=[10,11,9,11,15,7,15];
i=1,11>9,交换,a=[10,9,11,11,15,7,15];
i=2,11>11不成立,当前值加1,a=[10,9,12,11,15,7,15];
i=3,11>15不成立,当前值加1,a=[10,9,12,12,15,7,15];
i=4,15>7,交换,a=[10,9,12,12,7,15,15];
i=5,i<5不成立,输出a=[10,9,12,12,7,15,15]。故选D。
7. 三幅未经压缩的BMP图像,其颜色数分别为16位色、256色和单色,其余参数相同,其存储容量比为( )
A. 4:8:1 B. 16:8:1 C. 16:256:2 D. 216:256:2
【答案】B
【解析】
【详解】本题考查的是图像编码。图像容量(B)=像素*颜色位/8。256色需要8位二进制数表示,单色需要1位二进制数表示。在其余参数相同,其存储容量比为颜色位比,即16:8:1,故本题应选B。
8. 在某银行排队叫号系统中,利用队列来储存当前正在排队顾客的编号,head指向队首元素,tail指向队尾元素的下一个位置,若现在队列的顾客数量为4时,则head和tail的关系正确的是( )
A. head= tail+3 B. head= tail+4 C. tail= head+3 D. tail= head+4
【答案】D
【解析】
【详解】本题考查的是队列相关知识。在队列中,head指向队首元素,tail指向队尾元素的下一个位置。如果队列中有4个顾客,那么tail指向的位置比head指向的位置多4个位置。因此,tail = head + 4。故本题应选D。
9. 下列关于数据结构的描述,正确的是( )
A. 队列和栈都是操作受限的线性表 B. 链表必定有1个头指针和1个尾指针
C. 字符串中不能存储空格字符 D. 数组元素的数据类型可以不一致
【答案】A
【解析】
【详解】本题考查的是数据结构相关知识。选项A:队列和栈都是操作受限的线性表。队列是先进先出(FIFO),栈是后进先出(LIFO),它们都是操作受限的线性表,描述正确。选项B:链表不一定有1个头指针和1个尾指针,单链表通常只有头指针,双向链表可能有头指针和尾指针,但不是必定都有,描述错误。选项C:字符串中可以存储空格字符,描述错误。选项D:数组元素的数据类型必须一致,描述错误。故本题应选A。
10. 有一排苹果箱,其中第i箱苹果的个数为2i-1个,现要取m个苹果,求取走的箱子个数。实现该功能的程序段如下,方框中应填入的代码为( )
m= int(input("请输入要取走的苹果个数: "))
t=0 #取走m个苹果所需的箱子数
while m != 0:
if :
t+=1
m//=2
print(t)
A. m%2=0 B. m%2=1 C. m%2==0 D. m%2==1
【答案】D
【解析】
【详解】本题考查的是python循环语句应用。题目要求取走m个苹果,求取走的箱子个数。每个箱子的苹果个数为2i-1个。程序段的逻辑是通过判断m是否为奇数来决定是否需要增加箱子数,并将m除以2来逐步减少苹果数。具体来说,当m为奇数时,表示当前需要取走的苹果数不能被2整除,需要增加一个箱子数。然后将m除以2,继续判断直到m为0。故应填入的代码为m%2==1。故选D。
11. 有如下Python程序段
s="01357987"; k=3; stack=[s[0]]
for char in s[1:]:
while stack[-1] > char and k > 0:
stack.pop() #删除 stack 列表的最后一个元素
k-=1
stack.append( char) #在 stack 列表的结尾插入元素 char
while k > 0:
stack.pop()
k-=1
while stack[0] == "0":
stack.pop(0)
print( stack)
执行该程序段后,stack的值是( )
A. ['1','3','5','7'] B. ['7','9','8','7'] C. ['0','7','9','8','7'] D. ['0,'1','3','5','7']
【答案】A
【解析】
【详解】本题考查的是栈的操作。阅读程序可知,将s中字符按一定的规则进行出入stack栈中,如果要操作的字符比上一个字符小同时k值大于0,则进行出栈,然后再入栈;否则直接进行入栈。最后将栈中k个元素出栈,如果栈低元素为0,也删除。初始s="01357987",k=3,开始栈的中元素为:0,依次将1、3、5、7、9入栈;8的时候先将9出栈后,再入栈,此时栈低到栈顶依次是:0、1、3、5、7、8,k=2;7的时候先将8出栈后,再入栈,此时栈低到栈顶依次是:0、1、3、5、7、7,k=1;最后将栈中k(k=1)个元素出栈,即7出栈,栈低元素为0,也删除。故最后栈中元素为:1、3、5、7,选项A正确。
12. 某对分查找算法部分程序段如下:
def search(a, key):
i=0; j= len(a)-1; s=""
while i <= j:
m=(i+j)//2
if a[m] == key:
return s
elif key < a[m]:
s+="L";j=m-1
else:
s+="R";i=m+1
return s
key= int( input("请输入待查数据: "))
result= search(a, key)
print( result)
按非降序排序的整型数组a的值依次为“10,25,30,41,47,50,61,x,70,87”。如果输入key的值为67,执行该程序段后显示结果为“RRL”,则x的可能值的个数为( )
A. 5 B. 6 C. 8 D. 9
【答案】B
【解析】
【详解】本题考查的是二分查找。
1、首先,分析程序的逻辑: i 和 j 分别是数组的起始和结束索引。m 是中间索引 (i + j) // 2。s 是记录搜索路径的字符串。如果 a[m] == key,返回 s。如果 key < a[m],更新 j 并记录路径。如果 key > a[m],更新 i 并记录路径。
2、数组 a 为 [10, 25, 30, 41, 47, 50, 61, x, 70, 87],输入 key 为 67,结果路径为 RRL。
3、分析路径 RRL:
第一步 R:i=0, j=9, m=4,a[4]=47,67 > 47,更新 i=5。
第二步 R:i=5, j=9, m=7,a[7]=x,67 > x,更新 i=8。
第三步 L:i=8, j=9, m=8,a[8]=70,67 < 70,更新 j=7。
4、数组a是按非降序排序的整型, 由此可见,x 的值必须满足 61 <= x < 67。
5、在 61 和 70 之间的整数有:61,62, 63, 64, 65, 66,共 6 个值。 因此,x 的可能值的个数为 6。故选B。
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 小华搭建了一个教室照明灯控制系统。该系统智能终端连接了物联网模块、光线传感器、人体红外传感器和室内照明灯等设备。智能终端从服务器获取阈值、光线亮度等相关参数后自动控制教室照明灯的开关,并将采集到的光线亮度数据传输到服务器。用户,可以通过手机APP或浏览器查看历史数据和当前照明灯的状态。该系统的架构如图所示,请回答下列问题:
(1)采集教室的光线数据的过程中采用的技术是____(单选,填字母:A.人工智能/B.传感/C.射频识别)。
(2)根据该信息系统的功能要求,图中①处的设备为____(单选,填字母:A.路由器/B.交换机/C.防火墙/D.IoT模块)。
(3)下列关于该系统中服务器、智能终端、客户端的说法,正确的是____(多选,填字母)
A.该系统采用了B/S架构
B.用户远程控制照明灯开关,需通过服务器实现
C.用户手机可以通过IoT模块以无线方式连接服务器
D.浏览器获取照明灯控制系统的数据来源于智能终端
(4)智能终端每隔1分钟获取1次亮度值,若连续两次数据的变化量超过给定的val,则向服务器上传一次数据。如果教室有人且亮度值低于阈值k,则照明灯启动,否则关闭。实现该功能的部分Python代码如下,请在划线处填入合适的代码。
last=-1
val=5 #设定变化量
sw= False #标记照明灯状态, True 表示开启, False 表示关闭
while True:
light=pin0.read _ analog()
#从红外线传感器获取数据判断教室是否有人,结果存于flag中(有人为True,无人为False),代码略
if ①____:
#将light 光线亮度数据传输到服务器,代码略
last= light
if flag and light < k:
pin8.write _ digital(1)
②____
else:
pin8.write _ digital(0)
sw= False
sleep(1000*60)
【答案】 ①. B ②. D ③. AB ④. abs( light- last)> val ⑤. sw= True
【解析】
【详解】本题考查的是信息系统搭建。
(1)传感技术是一种能够检测并转换物理量(如光、声、温度、压力等)为可测量信号的技术。在教室光线数据采集的情境中,通常会使用光敏传感器(也称为光传感器或光度传感器)来监测和记录光线强度的变化。这些传感器能够感知周围环境的光照水平,并将其转换为电信号或其他形式的信号,以便进行后续的数据处理和分析。故选B。
(2)IoT模块:物联网(IoT)模块是专门设计用于连接物理世界和数字世界的设备。它可以包含传感器、通信接口等组件,用于采集各种物理量(如光线、温度、湿度等)并将其转换为数字信号进行传输。在光线数据采集的场景中,IoT模块可以直接与光敏传感器相连,采集光线数据,并通过网络发送到数据中心或控制系统。 因此,根据该信息系统的功能要求(即采集教室的光线数据),图中①处的设备最有可能是D.IoT模块。
(3)可以通过浏览器查看历史数据和当前照明灯的状态,可知该系统采用了B/S架构,选项A说法正确;在大多数物联网(IoT)或远程控制系统中,用户远程控制设备(如照明灯)通常需要通过服务器进行中转,故选项B说法正确;用户手机通过APP或浏览器以无线方式连接服务器,故选项C说法错误;浏览器获取照明灯控制系统的数据来源于服务器,选项D说法错误。故选AB。
(4)若连续两次数据变化量超过给定的val,则向服务器上传一次数据,故①处为:abs( light- last)> val;sw值:True 表示开启, False 表示关闭,如果教室有人且亮度值低于阈值k,则照明灯启动,故②处为:sw= True。
14. 某校组织学生通过填涂评估卡的方式参与评教活动,学生要对本班任课教师进行评价,现要进行评教数据处理和分析。请回答下列问题:
图a 图b
(1)检查评教数据是否符合以下规则:每个评教项目分为四个等级,分别是A.优秀、B.良好、C.合格、D.不合格;每个评教项目只能选择一个等级,多选或漏选该评教结果被视为无效,并且该条记录将被删除。符合规则的数据按照所选等级对应的分值进行折算。原始数据格式如图a所示,处理后的部分数据如图b所示。实现上述功能的部分Python程序如下:
#导入相关模块,读取数据;保存到DataFrame对象df中,代码略
pj=["A","B","C","D"]
fs={"A":3,"B":2,"C":1,"D":0}
rtd=[]
for i in df.index:
p1= df.at[i,"教学态度"] ##通过行标签和列标签选取单个值
p2= df.at[i,"教学水平"]
p3= df.at[i,"教学效果"]
if :
rtd.append(i) #为 rtd 追加一个元素
else:
df.at[i,"教学态度"]= fs[p1]
df.at[i,"教学水平"]= fs[p2]
df.at[i,"教学效果"]= fs[p3]
dfl= df.drop( rtd)#删除行
程序的方框中应填入的正确代码为(单选,填字母)
A.not( p1 in pj and p2 in pj and p3 in pj) B.not( pl in pj or p2 in pj or p3 in pj)
C.p1 in pj and p2 in pj and p3 in pj D.pl in pj or p2 in pjor p3 in pj
(2)根据上述dft中的数据,统计得分,绘制如图c所示的柱形图,实现该功能的部分Python程序如下,请在程序中划线处填入合适的代码。
dfl.insert(4,"得分",0) #插入列
for i in df1.index:
fl.at[i,"得分"]= int( dfl.at[i,"教学态度"])+ int( dfl.at[i,"教学水平"])+ int( dfl.at[i,"教学效果"])
df2= dfl.groupby("姓名", as _ index= False).①____ #分组求平均
df3=df2.sort _ values(②____, ascending= False).head(3) #降序排序取得分前3 名
plt.bar(x,y) #绘制柱形图
#设置绘图参数,代码略
程序的方框中可以填入的代码为____(多选,填字母)。
A. x=df2["姓名"] y=df2["得分"] B. x=df3["姓名"] y=df3["得分"] C. x=df2.姓名 y=df2.得分 D. x=df3姓名 y=df3.得分
【答案】 ①. A ②. mean() ③. "得分" ④. BD
【解析】
【详解】本题考查Python程序综合应用。
(1)检查评教数据是否符合以下规则:每个评教项目分为四个等级,分别是A.优秀、B.良好、C.合格、D.不合格;每个评教项目只能选择一个等级,多选或漏选该评教结果被视为无效,并且该条记录将被删除。此处判断p1、p2和p3是否均在pj中,如果任其一不在则加入到列表rtd中,最后统一删除,即判断条件是not( p1 in pj and p2 in pj and p3 in pj) 。故选A。
(2)①分组求平均,使用mean函数求平均值,故填mean()。
②降序排序取得分前3 名,因此排序关键字是“得分”。
③绘制柱形图,横坐标姓名,纵坐标是得分,因此可以是x=df3["姓名"] y=df3["得分"]或x=df3.姓名 y=df3.得分。故选BD。
15. 祖玛游戏:石青蛙每次吐出一个珠子打入轨道里的珠串中,现有轨道长度为20,初始珠串长度为8,珠子颜色共有4种(用0~3表示),其中珠串用列表模拟链表方式存储,第1个元素存储珠子的颜色,第2个元素存储“下一个珠子”的索引。
打珠方式有以下3种:
若珠串中已有连续2颗珠子与生成的珠子颜色相同,则打在这两颗珠子中间,形成3颗颜色相同的珠串,并执行消除操作,消除后若还有3颗及以上其他同色的珠子则继续消除;
若珠串中只有1颗珠子与生成的珠子颜色相同,则打在这颗珠子的后面;
若珠串中没有珠子与生成的珠子颜色相同,则打在珠串的第1个位置。
石青蛙每打1颗珠子,整个珠串往前走1格。若有珠子到达终点,输出“游戏失败”若轨道上的珠子全部被消除,输出“游戏成功”。(初始状态效果图如图a、运行结果如图b所示)
图a 图b
实现该游戏的部分代码如下:
(1)若当前轨道上的珠串为0,0,1,3,2,3,2,2,1,依次打入0,2,0的珠子后,轨道上的珠串为____。
(2)定义 seek 函数,其功能是寻找待打入珠子的位置,请将代码补充完整。
def seek( head, b):
wl=-1
w2=-1
p= head
q= ball[p][1]
for a in range( rest-1):
if ball[p][0]==b: #找到 1颗相同颜色的珠子
wl=p
if ____: #找到 2 颗连续相同颜色的珠子
w2=p
p=q
q= ball[q][1]
if ball[p][0]b:
w1=p
return w1,w2
(3)定义check函数,其功能是检查是否有3颗及以上连续相同颜色的珠子,若有则删除,返回删除珠子的个数和头节点的索引,请将代码补充完整。
def check( ball, head): #检查是否有 3个以上连续颜色球,并删除,返回相同球的个数和头节点的索引
if head ==-1:
return 0, head
num=1
p= head
q= ball[ head][1]
begin=p
while q!=-1: #检查相同颜色的珠子
if ball[p][0]== ball[q][0]:
num+=1
if num==3: #找到了连续 3 颗相同颜色的珠子
num= num-l
while ____:
p=q
q= ball[q][1]
num+=1
break
else:
num=1
begin=q
p=q
q= ball[q][1]
#删除3颗及以上颜色相同的珠子,返回 num,head;代码略
(4)主程序。
#随机产生8颗珠子存入 ball,不允许出现连续3颗及以上颜色相同珠子, 代码略
launch=[] #打入珠子的序列
head=0
rest=8 #链表中剩余珠串的长度
start=12 #珠串离终点的轨道长度,在打入新珠子后前移
while rest>0 and start>0:
b= random.randint(0,3) #现在新产生的球的颜色
launch.append(b) # launch 列表追加一个元素b
w1,w2= seek( head,b)
if w2!=-1: #找到 2颗颜色相同的珠子
ball.append([b, ball[w2][1]])
ball[w2][1]= len( ball)-1
elif w1!=-1: #找到1颗颜色相同的珠子
ball.append([b, ball[ wl][1]])
ball[w2][1]= len( ball)-1
else: #未找到, 打入第一个位置
ball.append([b, head])
①____
#消除相同颜色的珠子
w=0
n=-1
while n!=0:
n, head= check( ball, head)
w+=n
rest-=w-1
if w==0: #调整第1 颗珠子离终点的距离。
②____
else:
start= start+w-2
print("发射的珠子依次为: ", launch)
if rest==0 :
print("游戏成功")
else:
print("游戏失败: ")
【答案】 ①. 0,1,3,2,3,1 ②. ball[q][0]== b ③. ball[p][0]== ball[q][0] and q!=-1 ④. head= len( ball)-1 ⑤. start= start-1
【解析】
【详解】本题考查Python程序综合应用。
(1)若当前轨道上的珠串为0,0,1,3,2,3,2,2,1。打入0后,与前面的两个0会一起消除掉,此时为1,3,2,3,2,2,1。再打入2,此时会与后面的两个2一起消除掉,此时为1,3,2,3,1,再打入0,没有颜色相同的珠子,则打在珠串的第1个位置,即最终轨道上的珠串为0,1,3,2,3,1。
(2)q所在的位置是找到 1颗相同颜色的珠子,p是q的下一个位置,此处找到 2 颗连续相同颜色的珠子,故判断条件是ball[q][0]== b。
(3)num=3说明找到了连续 3 颗相同颜色的珠子,则执行删除操作。继续遍历p和q是否相等,直到不相等退出循环,将中间连续颜色球删除,同时满足没有遍历到尾部,故循环条件是ball[p][0]== ball[q][0] and q!=-1。
(4)①未找到, 则打入第一个位置,由图结构,可知更新head为珠串的长度,故填head= len( ball)-1。
②如果w==0,说明没有满足消除的条件,则调整第1 颗珠子离终点的距离。即start递减1,故填start= start-1。

展开更多......

收起↑

资源列表