内容正文:
2025学年第一学期浙江省名校协作体试题
高三年级技术学科
考生须知:
1.本卷满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号;
3.所有答案必须写在答题卷上,写在试卷上无效;
4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列关于数据、信息和知识的说法不正确的是( )
A. 师生通过NAS分享课件,体现信息的共享性
B. 能被系统自动归类的文件都是结构化数据
C. 教师上传资料大小限制的“500MB”是信息
D. 从学生提交的数据中分析出薄弱点,这是知识的体现
2. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列关于数字化的说法,正确的是( )
A. 数字信号在取值上是离散的、不连续的信号
B. 在声音数字化过程中,量化就是按一定时间间隔取值得到采样点
C. 矢量图是由像素组成的
D. 图像由JPEG格式转换为BMP格式,容量提高,画质更优
3. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列做法与提升该 NAS系统数据的安全性无关的是( )
A. 对系统内的敏感数据进行加密处理
B. 定期增加硬盘,扩充存储容量
C. 定期对该系统进行病毒查杀
D. 给每位系统管理员各分配一个管理员账号
4. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动的AI自动识别车牌扣费,减少排队时间。
该智慧停车服务平台的下列操作中,正确的是( )
A. 自动识别车牌应用了联结主义的人工智能
B. 自动识别车牌属于跨领域人工智能应用
C. 扫描二维码付款应用了人工智能技术
D. 该智慧停车平台可以完全取代人工收费
5. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动的AI自动识别车牌扣费,减少排队时间。
下列关于网络的说法,正确的是( )
A. 支付手机与无感通行装置需要同一局域网内
B. IP 协议是传输控制协议,管理被传送内容的完整性
C. 无感通行装置安装后不会再变动位置,所以只能用静态地址
D. 网络协议是实现网络不同终端、不同网络之间互相识别和正确通信一组标准及规则
6. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动的AI自动识别车牌扣费,减少排队时间。
关于该智慧停车服务平台的组成与功能,说法正确的是( )
A. APP 扣费说明该平台具有数据传输功能
B. 车辆信息存储在ETC卡中
C. 车辆无感支付可以实现数据交换说明无需网络也可工作
D. 该信息系统中的用户只有司机和系统管理员
7. 下列关于传感与控制的说法正确的是( )
A. 传感器属于输入设备,一般由敏感元件和其他辅助元件两部分组成
B. 信息系统从传感器获取信息,只能通过串口
C. 无源电子标签也称为被动式标签,通常具有更远的通信距离
D. 射频识别又称无线射频识别,至少需要两大基本元素:发射端和接收端
8. 用下列四个值作为输入n,分别测试流程图与程序段,输出结果不同的选项为( )
流程图
程序段
n=int(input())
s=0
while n > 5:
s=s+n
n-=1
print(s)
A. 8 B. 7 C. 6 D. 5
9. 有1个队列,队首到队尾的元素依次为1,2,3,4。有2个操作:P表示出队并输出;Q表示出队并入队。现经过一系列操作后输出1、3、2、4。经过的操作依次为( )
A. PQPPQP B. PQPPQPP C. PQPQPP D. QPQPQQ
10. 有如下Python程序段
def calc(x,y):
if x == 1: return y
elif y == 1:
return x*2
else: return calc(x-1,y)+calc(x,y-1)-calc(x-1,y-1)
print(calc(2,3))
运行上述程序,输出的结果为( )
A. 4 B. 5 C. 6 D. 7
11. 执行如下Python程序段后,a的值为( )
a=[1,2,5,5,6,7]
for i in range(5):
for j in range(5,i,-1):
if a[j]%2 <= a[j-1]%2:
a[j],a[j-1]=a[j-1],a[j]
A. [6,2,5,5,7,1] B. [2,6,1,5,5,7] C. [6,2,5,5,1,7] D. [2,6,1,7,5,5]
12. 执行如下Python程序段后,以下说法不正确的是( )
import random
a=["信","-","息","+","技","术","+"]
que=[0]*len(a)
head=tail=0
for i in range(len(a)):
pos=random.choice(["m","n"])
if pos == "m" and a[i] != "-":
que[tail]=a[i]
a[i]="-"
tail+=1
elif pos == "n"and head != tail and a[i] != "+":
a[i]=que[head]
head+=1
tail+=1
A. 列表que的值可能是['信','息','技','术',0,0,0]
B. 列表que的值不可能是['信',0,'息','技','术',+,0]
C. 列表a的值可能是['信','-','息','+','+','技','+]
D. 列表a的值不可能是['+','+','+','+','+','+','+']
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15小题10分,共26分)
13. 小明发现学校车库照明系统存在一些问题:①灯具24小时常亮;②灯具不能实现智能集中管控。如图a所示,小明搭建了一套照明节能系统,通过物联网模块(IOT)接入信息系统,灯具实时向服务器上传工作状态,传感器检测是否有人存在,若有,智能终端打开所有灯。管理员可通过浏览器查看并管控。
请回答以下问题:
(1)小明在搭建该信息系统前,设计采用红外传感器作为其中一种输入设备,这属于搭建信息系统的前期准备工作的____(单选,填字母:A.概要设计/B.可行性分析/C.开发模式选择/D.详细设计)
(2)下面有关该节能系统描述中,涉及到网络的场景有哪些____(多选,填字母)。
A.传感器检测否存在人 B.Web服务器与数据库通信
C.智能终端发送数据给服务器 D.管理员远程管控设备
(3)搭建完毕后,采用人工检测(不运行程序),该软件测试方法为____(单选,填字母:A.静态测试/B.动态测试/C.正确性证明)
(4)系统正常运行数月后,小明发现新问题:登录管控平台,无法获取灯具状态信息,灯具自动开关功能仍正常,请分析此问题的原因:____
14. 某校语文组举办“红楼知识竞赛”,每个班级派3名选手参赛。比赛规则如下:
①每位选手都参与所有题目的竞答
②竞答答对1题得1分,连续答对2题,则第2题得2分,连续答对3题,第3题得3分,依此类推,答错题得0分,下次答对从1分重新开始计算。
所有参赛同学的数据保存在文件data_hlm.csv中,数值1表示答对,数值0表示答错,部分选手答题结果数据如图a所示。
要求完成如下两项任务:
任务一:找出本次参赛选手中的“红楼达人”(积分最高的3名选手,若有积分相同情况,一并列出,输出如图b所示)。
任务二:计算各个班级所有选手积分的累加和,并绘制柱形图,如图c所示。
利用Pandas对该data_hlm.csv文件进行处理,请回答如下问题:
(1)根据题中所定规则,图a中,宛如洋选手的最终积分是____ 。
实现上述功能的部分Python程序如下,完成(2)、(3)小题。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read _ csv("data_hlm.csv")
df["积分"]= 0
for i in dfindex:
sum=0; count=1
for j in df.columns[2:]:
if df.at[i,j] == 1:
sum+=1;
①____
else:
count=1
df.at[i,"积分"]=sum
②____ #连同索引一起排序
c=3
for i in df1.index: #输出前 3 名
if c >= 1:
print("红楼达人是:",df1.at[i,"班级"],df1.at[i,"姓名"],df1.at[i,"积分"])
c=1
else:
break
for j in df1[3:].index: #输出同分选手
if ③____:
print("红楼达人是:",df1.at[j,"班级"],df1.at[j,"姓名"],df1.at[j,"积分"])
else:
break
df2=df.groupby("班级")["积分"].sum()
plt.bar(④____)
plt.title("各班积分和对比")
plt.xlabel("班级")
plt.ylabel("总积分")
plt.show()
(2)请在划线①和划线③处填入合适的代码
(3)请为划线②和划线④处选择合适的代码②____ ④____ (两空均为单选,填字母)
A.df2.index,df2.values
B.df1=df.sort _values("积分",ascending=True)
C.df2.班级,df2.values
D.df2.班级df2.积分
E.df1= df.sort_values("积分",ascending= False)
F.df2.index,df2.积分
15. 小华希望开发一个展示“实时网络话题热度榜”的程序,用于追踪社交平台上的热点话题变化。为简化流程,系统每分钟从“post.txt”中读取所有内容,每行一个帖子,已按时间升序排列(读取完毕自动清空文件,由其它程序负责更新内容),随后提取所有话题进行统计与排名展示。每个帖子中,以[hh:mm:ss]开头,表示帖子的发布时间,后面每个话题都以“#”开头,以空格结尾。如图a所示。
对于每分钟所有帖子,程序会提取其中的话题,构建如下结构:
{"#宁波暴雨":[热度值,最后更新时间],……}
同一话题每出现一次,热度加1。榜单排序规则如下:按热度值降序排序,若热度相同则按最后更新时间,越新的话题榜单越靠前(保证不出现热度相同,时间也相同的话题)。系统实时维护并更新热度榜,持续输出当前热度前5的话题,程序运行结果如图c所示。
(1)若当天第一分钟提取的话题数据如表所示,则当前热度榜第一的话题是____
时间(秒)
4
12
23
33
44
58
话题
#比赛
#滑翔伞
#杨梅
#滑翔伞
#预赛
#杨梅
表b
(2)定义如下read _ posts()函数,函数功能是读取“post.txt”中的帖子内容,返回字典类型,其形式如下:{"#宁波暴雨":[热度值,最后更新的时间],……}。
def read _ posts():
f= open("post.txt",'r',encoding='utf-8')
lines= freadlines()
#清空文件,代码略
dic={}
for line in lines:
#提取时间并转换为当日秒数,保存在变量curtime中,代码略
i=0; f=False
while i < len(line):
j=i
if line[i] == '#':
f=True
while j < len(line) and line[i] != ' ':
j+=1
____
if topic in dic:
dic[topic][0]+=1
dic[topic][]= curtime
else:
dic[topic]=[l,curtime]
i+=1
return dic
①请在划线处填入合适的代码
②删除加框处代码,对程序结果是否有影响____(单选,填字母 A.是/B.否)
(3)实现上述功能Python程序如下,请在划线处填入合适的代码
data=[]; head=-1
def update(dic):
global head
for k in dic: #k 表示字典 dic的键
hotw = dic[k][0]
lasttime = dic[k][1]
found = False
p = cur = head
while cur != -1:
if data[cur][0] == k: # 更新现有话题
data[cur][1] += hotw
data[cur][2] = lasttime
if cur == head: #删除头节点
head = data[cur][3]
else:
data[p][3] = data[cur][3]
found = True
①____
break
p= cur
cur= data[cur][3]
if found == False:
data.append([k,hotw,lasttime,-1])
insert node(len( data)-1)
def check(node,cur):
return node[1] > cur[1] or (②____)
def insert_node(x):
global head
node= data[x]
if head == -1:
head=x
return
if check(node,data[ head]):
node[3]= head
head=x
return
p= cur= head
while cur != -1 and not check(node,data[cur]):
p= cur
cur= data[cur][3]
data[p][3]=x
node[3]= cur
"""
主程序每分钟会调用readposts()读取新帖子并提取话题,根据返回的结果dic,调用update(dic)更新data中的数据,同时会输出实时话题热度榜,代码略。列表data中每个元素包含四个数据项,依次为[话题,热度值,最后更新时间,下一话题索引]
"""
第1页/共1页
学科网(北京)股份有限公司
$$
2025学年第一学期浙江省名校协作体试题
高三年级技术学科
考生须知:
1.本卷满分100分,考试时间90分钟;
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号;
3.所有答案必须写在答题卷上,写在试卷上无效;
4.考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列关于数据、信息和知识的说法不正确的是( )
A. 师生通过NAS分享课件,体现信息的共享性
B. 能被系统自动归类的文件都是结构化数据
C. 教师上传资料大小限制的“500MB”是信息
D. 从学生提交的数据中分析出薄弱点,这是知识的体现
【答案】B
【解析】
【详解】本题考查数据、信息和知识的概念。信息具有共享性,师生通过NAS分享课件,体现了信息可以在不同主体间共享,A选项说法正确;能被系统自动归类的文件不一定都是结构化数据,非结构化数据也可能通过特定算法实现自动归类,B选项说法错误;信息是经过加工处理后具有特定含义的数据,“500MB”是对教师上传资料大小的一种规定和描述,属于信息,C选项说法正确;从学生提交的数据中分析出薄弱点,这是对数据进行加工处理后得到的有价值的结论,体现了知识,D选项说法正确。故答案为:B。
2. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列关于数字化的说法,正确的是( )
A. 数字信号在取值上是离散的、不连续的信号
B. 在声音数字化过程中,量化就是按一定时间间隔取值得到采样点
C. 矢量图是由像素组成的
D. 图像由JPEG格式转换为BMP格式,容量提高,画质更优
【答案】A
【解析】
【详解】本题考查数字化。A选项正确,数字信号与模拟信号的核心区别在于,其在取值上是离散的、不连续的,而模拟信号取值是连续的。B选项错误,在声音数字化过程中,采样是按一定时间间隔取值得到采样点,而量化是将采样得到的模拟数值转换为离散的数字数值。C选项错误,图像分为矢量图和位图(光栅图),其中位图是由像素组成的,放大到一定程度会出现失真;而矢量图是由数学公式(如路径、锚点、线段等)描述的图形,放大后不会失真。D选项错误,JPEG是有损压缩图像格式,在压缩过程中会丢失部分图像细节信息;BMP是无压缩或无损压缩格式,从JPEG转换为BMP时,文件容量会因不再压缩而提高,但由于JPEG压缩时丢失的细节无法恢复,所以图像画质不会更优,反而可能因格式转换的兼容问题保持原有画质或出现轻微偏差。因此,本题选择A选项。
3. 某学校部署NAS(网络附加存储)系统,师生可用电脑、平板等终端以身份证号来登录系统并上传下载教学资料、照片视频等数据,也可网页分享。规定“教师账号可上传小于500MB的资料,学生账号仅可提交小于100MB的文档作业”,系统会根据文件类型自动归类。管理员可按身份设定操作权限(如查看、编辑)。下列做法与提升该 NAS系统数据的安全性无关的是( )
A. 对系统内的敏感数据进行加密处理
B. 定期增加硬盘,扩充存储容量
C. 定期对该系统进行病毒查杀
D. 给每位系统管理员各分配一个管理员账号
【答案】B
【解析】
【详解】本题考查NAS系统数据安全。对系统内的敏感数据进行加密处理能防止数据泄露,提升安全性;定期对该系统进行病毒查杀可防止病毒破坏数据,保障数据安全;给每位系统管理员各分配一个管理员账号,便于明确管理权限和责任,也有利于提升安全性。而定期增加硬盘、扩充存储容量只是增加了系统的存储空间,与数据的安全性无关。故答案为:B。
4. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动AI自动识别车牌扣费,减少排队时间。
该智慧停车服务平台的下列操作中,正确的是( )
A. 自动识别车牌应用了联结主义的人工智能
B. 自动识别车牌属于跨领域人工智能应用
C. 扫描二维码付款应用了人工智能技术
D. 该智慧停车平台可以完全取代人工收费
【答案】A
【解析】
【详解】本题考查人工智能应用。智慧停车中的自动车牌识别依赖深度学习算法,体现了联结主义人工智能;但它仅是单一领域(计算机视觉)的应用,不属于跨领域人工智能。扫码支付是信息技术,并非人工智能;同时智慧停车虽能极大减少人工,但不能完全取代人工收费。故答案为:A。
5. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动的AI自动识别车牌扣费,减少排队时间。
下列关于网络的说法,正确的是( )
A. 支付手机与无感通行装置需要在同一局域网内
B. IP 协议是传输控制协议,管理被传送内容的完整性
C. 无感通行装置安装后不会再变动位置,所以只能用静态地址
D. 网络协议是实现网络不同终端、不同网络之间互相识别和正确通信的一组标准及规则
【答案】D
【解析】
【详解】本题考查网络技术相关内容。A选项,无感支付可以通过广域网等多种网络形式实现数据交互,并不一定需要在同一局域网内,比如利用移动网络等,只要双方能通过网络建立连接、传输数据即可完成支付等操作,选项说法错误。B选项,IP协议(网际协议)主要负责将数据包从源地址传输到目的地址,它并不管理被传送内容的完整性;传输控制协议是TCP(Transmission-Control Protocol),TCP通过确认、重传等机制来确保数据传输的完整性,选项说法错误。C选项,无感通行装置虽然安装后位置一般相对固定,但这并不意味着只能使用静态地址;在实际应用中,根据网络规划和管理需求,它也可以使用动态地址分配方式(如DHCP动态分配),这样更便于网络管理和地址资源的合理利用,选项说法错误。D选项,网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合,它能实现网络不同终端、不同网络之间互相识别和正确通信,选项说法正确。故本题答案是D选项。
6. 捷停车是一款智慧停车服务平台,如下图所示,有如下功能:车主通过手机 APP 实时查看停车场空余车位,并可通过APP扫描二维码付款;智能导航能够引导车主快速到达停车场;无感支付功能支持ETC 卡直接扣费或应用数据驱动的AI自动识别车牌扣费,减少排队时间。
关于该智慧停车服务平台的组成与功能,说法正确的是( )
A APP 扣费说明该平台具有数据传输功能
B. 车辆信息存储在ETC卡中
C. 车辆无感支付可以实现数据交换说明无需网络也可工作
D. 该信息系统中的用户只有司机和系统管理员
【答案】A
【解析】
【详解】本题考查智慧停车服务平台的组成与功能。APP 扣费过程中,需要将扣费相关数据从 APP 传输到支付系统等,这说明该平台具有数据传输功能;车辆信息并非只存储在 ETC 卡中,停车场系统等也会存储相关信息;车辆无感支付实现数据交换需要网络支持,否则无法完成扣费等操作;该信息系统的用户除了司机和系统管理员,可能还有停车场管理人员等。故答案为:A。
7. 下列关于传感与控制的说法正确的是( )
A. 传感器属于输入设备,一般由敏感元件和其他辅助元件两部分组成
B. 信息系统从传感器获取信息,只能通过串口
C. 无源电子标签也称为被动式标签,通常具有更远的通信距离
D. 射频识别又称无线射频识别,至少需要两大基本元素:发射端和接收端
【答案】D
【解析】
【详解】本题考查传感与控制。传感器属于信息输入设备,一般应由敏感元件、转换元件和其他辅助元件三部分组成,题干只提到两部分,表述不完整,故 A 错误;信息系统从传感器获取信息的方式多种多样,并不限于串口,故 B 错误;无源电子标签(被动标签)依靠读写器能量工作,通信距离较短,而有源标签通信距离更远,故 C 错误;射频识别(RFID)至少需要发射和接收两个基本要素才能实现工作,故 D 正确。故答案为:D。
8. 用下列四个值作为输入n,分别测试流程图与程序段,输出结果不同的选项为( )
流程图
程序段
n=int(input())
s=0
while n > 5:
s=s+n
n-=1
print(s)
A. 8 B. 7 C. 6 D. 5
【答案】D
【解析】
【详解】本题考查程序流程判断。首先,流程图采用 do…while 的形式:无论输入 n 的值是多少,循环体都会至少执行一次。循环体中执行两步操作:先将 s = s + n,然后将 n = n - 1;之后判断 n > 5,若成立则继续循环,否则输出 s。程序段是普通的 while n > 5 循环:仅当 n > 5 时才执行循环体,否则直接跳过循环输出 s。因此,当 n = 8、7、6 时,流程图和程序段都会进入循环,循环次数和累加结果完全一致,输出相同。唯独当 n = 5 时,流程图的 do…while 仍会执行一次循环体,使 s = 0 + 5 = 5,而程序段的 while 循环条件不满足,循环体不执行,输出 s = 0,从而导致两者结果不同。综上所述,输出结果不同的输入为 5。故答案为:D。
9. 有1个队列,队首到队尾的元素依次为1,2,3,4。有2个操作:P表示出队并输出;Q表示出队并入队。现经过一系列操作后输出1、3、2、4。经过的操作依次为( )
A. PQPPQP B. PQPPQPP C. PQPQPP D. QPQPQQ
【答案】C
【解析】
【详解】本题考查队列操作相关内容。A选项,P:输出1,队列变为[2,3,4];Q:出队2,入队到队尾,队列变为[3,4,2];P:输出3,队列变为[4,2];P:输出4,队列变为[2];Q:出队2,入队到队尾,队列变为[2];P:输出2,队列为空。输出序列:1 3 4 2,不符合题意。B选项,P:输出1,队列[2,3,4];Q:出队2入队尾,队列[3,4,2];P:输出3,队列[4,2];P:输出4,队列[2];Q:出队2入队尾,队列[2];P:输出2,队列空;P:队列空,无法出队;输出序列:1 3 4 2,不符合题意。C选项,P:输出1,队列[2,3,4];Q:出队2入队尾,队列[3,4,2];P:输出3,队列[4,2];Q:出队4入队尾,队列[2,4];P:输出2,队列[4];P:输出4,队列空;输出序列:1 3 2 4,符合题意。D选项,Q:出队1入队尾,队列[2,3,4,1];P:输出2,队列[3,4,1];Q:出队3入队尾,队列[4,1,3];P:输出4,队列[1,3];Q:出队1入队尾,队列[3,1];Q:出队3入队尾,队列[1,3];输出序列为2 4,不符合题意。故本题答案是C选项。
10. 有如下Python程序段
def calc(x,y):
if x == 1: return y
elif y == 1:
return x*2
else: return calc(x-1,y)+calc(x,y-1)-calc(x-1,y-1)
print(calc(2,3))
运行上述程序,输出的结果为( )
A. 4 B. 5 C. 6 D. 7
【答案】C
【解析】
【详解】本题考查递归函数。程序定义了一个递归函数 calc(x, y),其逻辑如下:当 x = 1 时返回 y,当 y = 1 时返回 x*2,否则按公式 calc(x-1, y) + calc(x, y-1) - calc(x-1, y-1) 递归计算。计算 calc(2,3) 时,先递归展开为 calc(1,3) + calc(2,2) - calc(1,2)。calc(1,3) 遇到 x = 1,返回 3;calc(2,2) 再递归为 calc(1,2) + calc(2,1) - calc(1,1),分别计算得到 2 + 4 - 1 = 5;calc(1,2) 返回 2。最后将结果代回原公式:3 + 5 - 2 = 6。因此,程序输出结果为6。故答案为:C。
11. 执行如下Python程序段后,a值为( )
a=[1,2,5,5,6,7]
for i in range(5):
for j in range(5,i,-1):
if a[j]%2 <= a[j-1]%2:
a[j],a[j-1]=a[j-1],a[j]
A. [6,2,5,5,7,1] B. [2,6,1,5,5,7] C. [6,2,5,5,1,7] D. [2,6,1,7,5,5]
【答案】A
【解析】
【详解】本题考查循环语句。程序中,初始列表a=[1,2,5,5,6,7],外层循环i取值0到4,内层循环j从5递减至i+1,当满足a[j]%2 <= a[j-1]%2(即后一元素奇偶性小于等于前一元素)时交换两元素(偶数%2=0,奇数%2=1)。i=0时,j=5到1:j=4时,a[4]=6(0)≤a[3]=5(1),交换得[1,2,5,6,5,7];j=3时,a[3]=6(0)≤a[2]=5(1),交换得[1,2,6,5,5,7];j=2时,a[2]=6(0)≤a[1]=2(0),交换得[1,6,2,5,5,7];j=1时,a[1]=6(0)≤a[0]=1(1),交换得[6,1,2,5,5,7]。i=1时,j=5到2:j=5时,a[5]=7(1)≤a[4]=5(1),交换得[6,1,2,5,7,5];j=4时,a[4]=7(1)≤a[3]=5(1),交换得[6,1,2,7,5,5];j=2时,a[2]=2(0)≤a[1]=1(1),交换得[6,2,1,7,5,5]。i=2时,j=5到3:j=4时,a[4]=5(1)≤a[3]=7(1),交换得[6,2,1,5,7,5];j=3时,a[3]=5(1)≤a[2]=1(1),交换得[6,2,5,1,7,5]。i=3时,j=5到4:j=5时,a[5]=5(1)≤a[4]=7(1),交换得[6,2,5,1,5,7];j=4时,a[4]=5(1)≤a[3]=1(1),交换得[6,2,5,5,1,7]。i=4时,j=5:a[5]=7(1)≤a[4]=1(1),交换得[6,2,5,5,7,1]。因此,本题选择A选项。
12. 执行如下Python程序段后,以下说法不正确的是( )
import random
a=["信","-","息","+","技","术","+"]
que=[0]*len(a)
head=tail=0
for i in range(len(a)):
pos=random.choice(["m","n"])
if pos == "m" and a[i] != "-":
que[tail]=a[i]
a[i]="-"
tail+=1
elif pos == "n"and head != tail and a[i] != "+":
a[i]=que[head]
head+=1
tail+=1
A. 列表que的值可能是['信','息','技','术',0,0,0]
B. 列表que的值不可能是['信',0,'息','技','术',+,0]
C. 列表a的值可能是['信','-','息','+','+','技','+]
D. 列表a的值不可能是['+','+','+','+','+','+','+']
【答案】B
【解析】
【详解】本题考查队列。分析程序段,推知:
列表a初始为["信","-","息","+","技","术","+"],que初始化为全0,head和tail均为0。遍历a的每个元素:(1)当pos为"m":若当前元素a[i]不是"-",将其放入que[tail],并将a[i]替换为"-",tail增加1。(2)当pos为"n":若队列非空(head!=tail)且a[i]不是"+",将队列头部元素que[head]取出并赋值给a[i],同时head和tail均增加1。
A选项,若前四个元素均通过"m"操作入队,que的前四个位置被填充,其余为0,符合逻辑,que的值可能是['信','息','技','术',0,0,0],选项说法正确。
B选项,当处理i=1时,若触发"n"操作,队列头部的"信"被取出,此时head增加到1,tail增加到2;若后续未覆盖que[1],其值仍为0,导致que中出现0,所以que的值可能是['信',0,'息','技','术',+,0],选项说法错误。
C选项,部分元素通过"m"操作被替换为"-",而其他元素可能保留原值或被队列中的"+"替换,a的值可能是['信','-','息','+','+','技','+'],选项说法正确。
D选项,原a中初始有三个"+",但其他元素需通过"n"操作从队列中取出"+"替换;由于队列初始为空且"+"仅能通过"m"操作入队(但"+"不会被入队,因a[i]!="-"时才入队),无法生成足够"+"填满a,因此a的值不可能是['+','+','+','+','+','+','+"],选项说法正确。
故本题答案是B选项。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15小题10分,共26分)
13. 小明发现学校车库照明系统存在一些问题:①灯具24小时常亮;②灯具不能实现智能集中管控。如图a所示,小明搭建了一套照明节能系统,通过物联网模块(IOT)接入信息系统,灯具实时向服务器上传工作状态,传感器检测是否有人存在,若有,智能终端打开所有灯。管理员可通过浏览器查看并管控。
请回答以下问题:
(1)小明在搭建该信息系统前,设计采用红外传感器作为其中一种输入设备,这属于搭建信息系统的前期准备工作的____(单选,填字母:A.概要设计/B.可行性分析/C.开发模式选择/D.详细设计)
(2)下面有关该节能系统描述中,涉及到网络的场景有哪些____(多选,填字母)。
A.传感器检测是否存在人 B.Web服务器与数据库通信
C.智能终端发送数据给服务器 D.管理员远程管控设备
(3)搭建完毕后,采用人工检测(不运行程序),该软件测试方法为____(单选,填字母:A.静态测试/B.动态测试/C.正确性证明)
(4)系统正常运行数月后,小明发现新问题:登录管控平台,无法获取灯具状态信息,灯具自动开关功能仍正常,请分析此问题的原因:____
【答案】 ①. A ②. CD ③. A ④. 智能终端与网络连接中断;物联网(IOT)模块故障(等类似网络通信故障问题写一条即可)
【解析】
【详解】本题考查信息系统的搭建。
(1)在信息系统开发中,系统设计通常分为可行性分析、概要设计、详细设计和开发实现几个阶段。小明在系统搭建前确定输入设备--红外传感器,这属于对系统功能和接口的初步设计,是系统概要设计阶段的工作。概要设计的目标是确定系统整体框架、主要功能模块和关键设备,为后续详细设计和实现打基础。因此,该阶段的工作重点正是选择传感器作为输入设备。故答案为:A。
(2)题目描述的节能系统中,灯具通过物联网模块上传状态,管理员可远程管控系统。分析各个场景:传感器检测是否有人,只是在本地检测,不经过网络,不涉及网络;如果数据库在同一台服务器上,本地调用即可,不经过网络,不涉及网络;智能终端发送数据给服务器,需要通过物联网网络上传状态,涉及网络;管理员远程管控设备,通过浏览器发送命令到服务器,再控制灯具,涉及网络。因此,涉及网络的场景是终端上传数据以及远程管控操作。故答案为:CD。
(3)软件测试方法可以分为静态测试、动态测试和正确性证明。题中描述的人工检测,不实际运行程序,只是通过观察、阅读设计文档或手工验证功能实现,这属于静态测试。静态测试侧重于检查设计逻辑、文档完整性和规范性,而不依赖程序执行结果。相比之下,动态测试需要运行程序,正确性证明则通常采用数学或形式化方法验证程序的正确性。故答案为:A。
(4)统运行数月后出现的问题是:平台无法显示灯具状态,但灯具自动开关仍然正常。这表明灯具本身和传感器功能正常,自动控制逻辑没有问题,而问题出在数据上传或网络通信环节。最可能的原因是智能终端与服务器的网络连接中断或物联网模块通信故障,导致状态信息无法传输到管理平台,但本地控制逻辑仍能执行。
14. 某校语文组举办“红楼知识竞赛”,每个班级派3名选手参赛。比赛规则如下:
①每位选手都参与所有题目的竞答
②竞答答对1题得1分,连续答对2题,则第2题得2分,连续答对3题,第3题得3分,依此类推,答错题得0分,下次答对从1分重新开始计算。
所有参赛同学的数据保存在文件data_hlm.csv中,数值1表示答对,数值0表示答错,部分选手答题结果数据如图a所示。
要求完成如下两项任务:
任务一:找出本次参赛选手中的“红楼达人”(积分最高的3名选手,若有积分相同情况,一并列出,输出如图b所示)。
任务二:计算各个班级所有选手积分的累加和,并绘制柱形图,如图c所示。
利用Pandas对该data_hlm.csv文件进行处理,请回答如下问题:
(1)根据题中所定规则,图a中,宛如洋选手的最终积分是____ 。
实现上述功能的部分Python程序如下,完成(2)、(3)小题。
import pandas as pd
import matplotlibpyplot as plt
df=pd.read _ csv("data_hlm.csv")
df["积分"]= 0
for i in df.index:
sum=0; count=1
for j in df.columns[2:]:
if df.at[i,j] == 1:
sum+=1;
①____
else:
count=1
df.at[i,"积分"]=sum
②____ #连同索引一起排序
c=3
for i in df1.index: #输出前 3 名
if c >= 1:
print("红楼达人是:",df1.at[i,"班级"],df1.at[i,"姓名"],df1.at[i,"积分"])
c=1
else:
break
for j in df1[3:].index: #输出同分选手
if ③____:
print("红楼达人是:",df1.at[j,"班级"],df1.at[j,"姓名"],df1.at[j,"积分"])
else:
break
df2=df.groupby("班级")["积分"].sum()
plt.bar(④____)
plt.title("各班积分和对比")
plt.xlabel("班级")
plt.ylabel("总积分")
plt.show()
(2)请在划线①和划线③处填入合适的代码
(3)请为划线②和划线④处选择合适的代码②____ ④____ (两空均为单选,填字母)
A.df2.index,df2.values
B.df1=df.sort _values("积分",ascending=True)
C.df2.班级,df2.values
D.df2.班级df2.积分
E.df1= df.sort_values("积分",ascending= False)
F.df2.index,df2.积分
【答案】 ①. 8 ②. count+=1 ③. df1.at[j,"积分"]==df1.at[i,"积分"]或其他正确答案 ④. E ⑤. A
【解析】
【详解】本题考查Python应用。
(1)照题目规则,答对题目可得1分,连续答对第二题得2分,第三题得3分,从图中可知,第1题得1分,第2题得2分,第4题得1分,第5题得2分,第7题得1分,第9题得1分,共计8分。故答案为:8。
(2)根据题目规则,连续答对题数会影响积分的加成:连续答对 n 题,第 n 题积分为 n 分。为了实现这一逻辑,需要记录连续答对的题数。count 就是连续答对的计数器。当答对时,count 增加 1,并将其加到总积分 sum 上;当答错时,count 重置为 1。这里在答对题时填入 count += 1,表示连续答对次数累加,为下一题积分计算提供依据。故答案为:count += 1。在输出同分选手时,需要判断这些选手的积分是否与前三名中最后一名(第3名)积分相同。如果相同,则也属于“红楼达人”。df1.at[j,"积分"] == df1.at[i,"积分"] 正是进行这种比较的逻辑,i 表示第3名的索引,j 表示后续选手索引。若条件成立,就输出该选手信息。故答案为:df1.at[j,"积分"]==df1.at[i,"积分"]。
(3)任务一要求找出积分最高的选手,即“红楼达人”,所以需要将数据按积分从高到低排序。df.sort_values("积分", ascending=False) 可以实现按“积分”列降序排序,并返回排序后的 DataFrame。将结果赋给 df1 后,就可以按顺序输出前 3 名以及同分选手。故答案为:E。任务二要求绘制各班积分和的柱状图。df2 是按班级分组求和的 Series,其中 df2.index 是班级名称,df2.values 是各班总积分。plt.bar(df2.index, df2.values) 可以直接用班级作为 x 轴、总积分作为 y 轴绘制柱状图,从而可视化各班积分对比。故答案为:A。
15. 小华希望开发一个展示“实时网络话题热度榜”程序,用于追踪社交平台上的热点话题变化。为简化流程,系统每分钟从“post.txt”中读取所有内容,每行一个帖子,已按时间升序排列(读取完毕自动清空文件,由其它程序负责更新内容),随后提取所有话题进行统计与排名展示。每个帖子中,以[hh:mm:ss]开头,表示帖子的发布时间,后面每个话题都以“#”开头,以空格结尾。如图a所示。
对于每分钟的所有帖子,程序会提取其中的话题,构建如下结构:
{"#宁波暴雨":[热度值,最后更新时间],……}
同一话题每出现一次,热度加1。榜单排序规则如下:按热度值降序排序,若热度相同则按最后更新时间,越新的话题榜单越靠前(保证不出现热度相同,时间也相同的话题)。系统实时维护并更新热度榜,持续输出当前热度前5的话题,程序运行结果如图c所示。
(1)若当天第一分钟提取的话题数据如表所示,则当前热度榜第一的话题是____
时间(秒)
4
12
23
33
44
58
话题
#比赛
#滑翔伞
#杨梅
#滑翔伞
#预赛
#杨梅
表b
(2)定义如下read _ posts()函数,函数功能是读取“post.txt”中的帖子内容,返回字典类型,其形式如下:{"#宁波暴雨":[热度值,最后更新的时间],……}。
def read _ posts():
f= open("post.txt",'r',encoding='utf-8')
lines= freadlines()
#清空文件,代码略
dic={}
for line in lines:
#提取时间并转换为当日秒数,保存在变量curtime中,代码略
i=0; f=False
while i < len(line):
j=i
if line[i] == '#':
f=True
while j < len(line) and line[i] != ' ':
j+=1
____
if topic in dic:
dic[topic][0]+=1
dic[topic][]= curtime
else:
dic[topic]=[l,curtime]
i+=1
return dic
①请在划线处填入合适的代码
②删除加框处代码,对程序结果是否有影响____(单选,填字母 A.是/B.否)
(3)实现上述功能Python程序如下,请在划线处填入合适的代码
data=[]; head=-1
def update(dic):
global head
for k in dic: #k 表示字典 dic的键
hotw = dic[k][0]
lasttime = dic[k][1]
found = False
p = cur = head
while cur != -1:
if data[cur][0] == k: # 更新现有话题
data[cur][1] += hotw
data[cur][2] = lasttime
if cur == head: #删除头节点
head = data[cur][3]
else:
data[p][3] = data[cur][3]
found = True
①____
break
p= cur
cur= data[cur][3]
if found == False:
data.append([k,hotw,lasttime,-1])
insert node(len( data)-1)
def check(node,cur):
return node[1] > cur[1] or (②____)
def insert_node(x):
global head
node= data[x]
if head == -1:
head=x
return
if check(node,data[ head]):
node[3]= head
head=x
return
p= cur= head
while cur != -1 and not check(node,data[cur]):
p= cur
cur= data[cur][3]
data[p][3]=x
node[3]= cur
"""
主程序每分钟会调用readposts()读取新帖子并提取话题,根据返回的结果dic,调用update(dic)更新data中的数据,同时会输出实时话题热度榜,代码略。列表data中每个元素包含四个数据项,依次为[话题,热度值,最后更新时间,下一话题索引]
"""
【答案】 ①. #杨梅 ②. topic=line[i:j]或其他正确答案 ③. B ④. insert_node(cur) ⑤. node[1]==cur[1]and node[2]>cur[2]或其他正确答案
【解析】
【详解】本题考查Python应用。
(1)由题可知,#滑翔伞和#杨梅的热度最高(均为 2),再比较最后更新时间,#杨梅更新时间 58 秒更晚,因此榜首为 #杨梅。故答案为:#杨梅。
(2)i 指向“#”,j 移动到空格处,因此 line[i:j] 恰好是话题字符串,比如 #杨梅。 所以这里应提取 topic。故答案为:topic=line[i:j]。函数中用于提取话题的循环中,if f: i = j; f = False 作用是让索引跳过已处理的话题,提高效率;删除后索引仍会逐步增加,虽然循环多执行一些步数,但每个话题依然能被正确提取,因此对最终热度统计结果没有影响。故答案为:B。
(3)当找到已有话题时,需要更新其热度和时间,然后把该节点重新插入到正确位置。因为 cur 是当前话题在 data 中的下标,所以这里要调用 insert_node(cur)。故答案为:insert_node(cur)。check(node, cur) 的功能是判断 node 是否应该排在 cur 前面。排序规则是:热度值大 → 在前;若热度值相同 → 最后更新时间新 → 在前。所以条件是:node[1] > cur[1] 表示热度更高;或者node[1] == cur[1] and node[2] > cur[2] 表示热度相同但时间更新。故答案为:node[1]==cur[1] and node[2]>cur[2]。
第1页/共1页
学科网(北京)股份有限公司
$$