内容正文:
绝密★考试结束前
2025学年第一学期浙江北斗星盟阶段性联考
高二年级技术学科试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题(共12小题,每题2分,共24分。每小题只有一个选项符合题目要求,不选、多选、错选均不得分)
1. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。下列关于数据与大数据的说法,恰当的是( )
A. 大数据的处理一般采用并行思想
B. 系统处理的卫星地图数据属于结构化数据
C. 对系统中的数据进行加密处理可以降低用户信息泄露的风险
D. 因为大数据不追求精确性,所以该智驾系统获取的环境数据可以是抽样数据
【答案】C
【解析】
【详解】本题考查数据与大数据相关内容。A选项,题干主要介绍了智能驾驶系统的工作方式(通过传感器、卫星地图,以人工智能和大数据技术为核心,实现相关功能,且数据传输存储加密),但并没有涉及大数据具体的处理技术思路(比如是否采用并行思想),该选项不恰当。B选项,卫星地图数据包含地理坐标、地形、道路等多种类型的数据,既有结构化数据(如地理坐标等可以用二维表结构表示的数据),也有非结构化数据(如地形的图像数据等),不能简单地说卫星地图数据属于结构化数据,该选项不恰当。C选项,对数据进行加密处理,能使数据在传输和存储过程中即使被非法获取,也难以被解读,从而可以降低用户信息泄露的风险,该选项恰当。D选项,虽然大数据不追求绝对的精确性,但汽车智驾系统需要高精度的环境数据来保障驾驶的安全性,必须获取全面、准确的环境数据,而不能是抽样数据,该选项不恰当。故本题答案是C选项。
2. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。关于该信息系统功能和应用的说法,不恰当的是( )
A. 该系统中的用户就是驾驶员
B. 传感器属于智驾系统中的硬件
C. 该系统具有数据采集、处理和存储功能
D. 智驾系统通过分析传感器捕捉的道路与环境数据,为用户合理规划路线
【答案】A
【解析】
【详解】本题考查信息系统功能及应用相关内容。A选项,智能驾驶系统的服务对象主要是驾驶员,但从更广泛的角度看,系统在运行等过程中,也可能涉及车辆相关的其他关联方等,不能绝对地说用户就是驾驶员,这种表述过于局限,是不恰当的。B选项,传感器是实际存在的物理设备,用于采集数据,属于信息系统的硬件组成部分,该说法恰当。C选项,文中明确提到传感器实时获取数据(采集),结合技术优化算法模型(处理),数据传输和存储时加密(存储),说明系统具备这些功能,该说法恰当。D选项,系统结合传感器数据、卫星地图等进行分析,能实现自动变道等功能,合理规划路线是智能驾驶的典型应用,该说法恰当。故本题答案是A选项。
3. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。传感器以100HZ的频率更新卫星图像,图像大小3860*2160,位深度24,每秒钟系统需要处理的数据量约为( )
A. 18.6GB B. 2.3GB C. 2.3MB D. 18.6MB
【答案】B
【解析】
【详解】本题考查数字化相关内容。图像数据量的计算公式为:数据量(字节)=水平像素×垂直像素×位深度÷8。已知图像大小为3860*2160,位深度24,则单张图像数据量=3860*2160*24÷8=3860*2160*3=3860*6480=25,012,800字节,转换为MB:25,012,800÷(1024*1024)≈23.85MB。每秒100帧,则每秒数据量≈23.85MB×100=2385MB,转换为GB(1GB=1024MB):2385MB÷1024≈2.3GB。故本题答案是B选项。
4. 某智能手环内置心率传感器、血氧传感器、北斗定位等模块,实时采集用户血糖、血压等生理数据,并将数据加密后通过5G网络同步至云端服务器分析与存储。AI助手采用深度学习算法自动分析数据并在发现异常体征时触发预警;专业的医生团队将结合AI助手给出健康报告,患者可通过手机APP查看报告。为保障用户个人信息安全,下列措施不合理的是( )
A. 定期对手机APP进行更新
B. 云端服务器定时对数据进行备份
C. 允许管理员无限制访问所有个人数据
D. 对用户数据采用加密算法来提高数据的保密性
【答案】C
【解析】
【详解】本题考查信息安全相关内容。定期对手机APP进行更新,有助于修复安全漏洞等,保障数据安全,是合理措施。云端服务器定时对数据进行备份,能防止数据丢失,是合理措施。允许管理员无限制访问所有个人数据,会极大增加用户个人信息泄露的风险,不符合保障用户个人信息安全的要求,是不合理措施。对用户数据采用加密算法,可提高数据保密性,防止数据被非法获取,是合理措施。故本题答案是C选项。
5. 某智能手环内置心率传感器、血氧传感器、北斗定位等模块,实时采集用户血糖、血压等生理数据,并将数据加密后通过5G网络同步至云端服务器分析与存储。AI助手采用深度学习算法自动分析数据并在发现异常体征时触发预警;专业的医生团队将结合AI助手给出健康报告,患者可通过手机APP查看报告。下列关于人工智能的说法,恰当的是( )
A. 深度学习算法依赖于对所有知识进行精确化编码
B. 深度学习算法属于联结主义人工智能学习方法的典型代表
C. 医生与AI助手的合作给出健康报告是跨领域人工智能的应用
D. 该手环生成健康报告的准确性与算法优良性有关,不需要大规模的数据训练
【答案】B
【解析】
【详解】本题考查人工智能相关内容。A选项,深度学习算法是通过数据驱动(用大量数据训练模型,让模型从数据中学习规律),而非对所有知识进行精确化编码,传统人工智能(如早期专家系统)才依赖精确知识编码,选项说法不恰当。B选项,联结主义人工智能的核心是模拟人脑神经元的连接与信息传递,深度学习算法(以神经网络为基础,通过多层神经元连接学习特征)正是联结主义的典型代表,选项说法恰当。C选项,医生与 AI 助手合作给出健康报告,都围绕“健康医疗”这一领域,属于人机协作(混合智能),并非跨领域(跨领域指涉及多个不同领域,如同时涉及医疗、金融等),选项说法不恰当。D选项,深度学习算法的准确性高度依赖大规模数据训练(只有足够多的数据,模型才能学习到更全面、准确的规律),并非不需要,选项说法不恰当。故本题答案是B选项。
6. 下列语句中,运算结果与其他项不同是( )
A. max([1,2.8,5.1,5]) >= 36**0.5 B. len("sunny")//2 == 2
C "A"+"795" < str(884.8) D. not 9 > 7 or int(19.9) >= 20
【答案】B
【解析】
【详解】本题考查Python表达式运算相关内容。A选项,max([1,2.8,5.1,5])>=36**0.5 --> 5.1>=6.0 -->False。B选项,len("sunny")//2 == 2 -->5//2 == 2 -->2 == 2 -->True。C选项,"A"+"795" < str(884.8) -->"A795" <"884.8" --> False。D选项,not 9 > 7 or int(19.9) >= 20 --> not True or 19 >= 20 --> False or False -->False。故本题答案是B选项。
7. 学校为了同学们养成良好的自习习惯,实行“晚自习表现评分”制度,1周晚自习总评分(s)累计达到60分及以上为“优秀晚自习生”,否则“待改进”。每天晚自习表现(t):专注时长超90分钟计15分,专注时长超60分钟不满90分钟计10分,不满60分钟计5分。
判断是否达标的部分流程图如图所示,可选表达式为:
①s≥60? ②t>60? ③t>90? ④i>n?
则①~④处表达式序号依次为( )
A. ④③②① B. ①②③④ C. ④②③① D. ①③②④
【答案】A
【解析】
【详解】分析①处:流程图中①的判断结果会影响是否继续输入每天的表现t,结合“1周晚自习”的设定,这里应是判断天数i是否超过一周的天数n(即i>n),对应表达式④。若i>n,则停止输入t,进入后续总评分判断;若i≤n,则继续输入当天的t。
分析②处:输入t后,②的判断是后续给分(15分、10分、5分)的第一步。根据规则“专注时长超90分钟计15分,超60分钟不满90分钟计10分,不满60分钟计5分”,首先应判断是否超90分钟(即t>90),对应表达式③。若t>90,则m=15;若不满足,进入下一步判断。
分析③处:若②的判断不成立(即t≤90),③需要判断是否超60分钟(即t>60),对应表达式②。若t>60,则m=10;若不满足(即t≤60),则m=5。
分析④处:所有天数的t输入完毕后,需要判断总评分s是否达到60分及以上(即s≥60),对应表达式①。若s≥60,为“优秀晚自习生”;否则“待改进”。
综上,①-④处表达式序号依次为④③②①。故本题答案是A选项。
8. 某学校进行艺术节专项特长学生选拔,学生的基础信息表如下
学生编号
特长分
获奖(0=无/1=校级/2=市级/3=省级)
志愿(1/2)
01
85
3
1
02
75
1
2
03
90
2
1
……
……
……
……
学校按照以下规则选拔人才
①特长分(t)必修达到80以上
②分数达标者需要获奖(h)必须市级或以上
③达到上述条件者若志愿(z)为第一志愿者入选,其余志愿进入备选
将材料中学生基础信息表用字典呈现, dict={"学生编号":["01","02","03"],"特长分":[85,75,90],"获奖": [3,1,2]},现将志愿数据添加到字典,以下操作正确的是( )
A. dict["志愿"]={1,2,1} B. dict{"志愿"}=[1,2,1]
C. dict["志愿"]=1,2,1 D. dict["志愿"]=[1,2,1]
【答案】D
【解析】
【详解】本题考查Python字典相关内容。在Python中,字典的键对应的值若为列表,需用方括号[]包裹列表元素,且元素间用逗号分隔。已知学生“01”“02”“03”的志愿依次是1、2、1,所以表示志愿的列表应为[1,2,1]。赋值到字典时,格式为dict["志愿"]=[1,2,1]。选项A,dict["志愿"]={1,2,1},用了大括号{},这是集合(set)的表示方式,集合中元素不重复且无序,不符合列表(list)的要求,选项错误。选项B,dict{"志愿"}={1,2,1},语法错误,字典的键值对赋值应是dict[key]=value形式,且值用集合表示也错误,选项错误。选项C,dict["志愿"]=1,2,1,没有用方括号包裹,不是列表的正确表示,选项错误。选项D,dict["志愿"]=[1,2,1],符合Python中字典给键赋值为列表的语法规则,选项正确。故本题答案是D选项。
9. 某学校进行艺术节专项特长学生选拔,学生的基础信息表如下
学生编号
特长分
获奖(0=无/1=校级/2=市级/3=省级)
志愿(1/2)
01
85
3
1
02
75
1
2
03
90
2
1
……
……
……
……
学校按照以下规则选拔人才
①特长分(t)必修达到80以上
②分数达标者需要获奖(h)必须市级或以上
③达到上述条件者若志愿(z)为第一志愿者入选,其余志愿进入备选
选拔部分用python程序段实现,下列选项不能实现选择的是( )
A. if t<80:
print("不达标!")
elif h<2:
print("不达标!")
else:
if z==1:
print("符合条件,优先录取!")
else: print("进入候选池!")
B. if t<80:
print("不达标!")
elif h<2:
print("不达标!")
elif z==1:
print("符合条件,优先录取!")
else:
print("进入候选池!")
C. if t>=80 and h>=2:
if z==1:
print("符合条件,优先录取!")
else:
print(进入候选池!")
else:
print("不达标!")
D. if t<80 and h<2:
print("不达标!")
elif z==1:
print("符合条件,优先录取!")
else:
print("进入候选池!")
A. A B. B C. C D. D
【答案】D
【解析】
【详解】本题考查Python选择结构相关内容。ABC选项均能实现选拔规则。D选项,条件if t<80 and h<2只有在t<80且h<2同时成立才打印“不达标”,但规则是t<80或h<2任一成立就不达标。例子:t=85,h=1(t≥80但h<2)应该不达标,但在D中:先判断t< 80 and h<2?否(85<80不成立),所以不执行第一个print,进入elif z==1(假设z=1),就会输出“符合条件,优先录取!”,这就错了,因为h=1不够市级,所以D不能完全实现选拔规则。故本题答案是D选项。
10. 定义如下Python函数,
def calc(m):
result=1
for i in range(2,m+1):
if i%2==1:
result*=i
else:
result+=i
return result
运行calc(5)后,函数的返回值为( )
A. 13 B. 50 C. 65 D. 130
【答案】C
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段,推知:
result初始化为1。i从2到m(包含m)循环:如果i是奇数(i%2==1),则result*=i(乘上i);如果i是偶数(i%2==0),则result+=i(加上i)。
i=2(偶数),result+=2→1+2=3;
i=3(奇数),result*=3→3×3=9;
i=4(偶数),result+=4→9+4=13;
i=5(奇数),result*=5→13×5=65。
循环结束,返回65。
故本题答案是C选项。
11. 有如下Python程序段
num= int(input())
max=1; current=1; start=0
for i in range(1, len(scores)):
if scores[i]-scores[i-1]>= num:
current+=1
if current> max:
max= current
start=i-current+1
else:
current=1
print(scores[start: start+ max])
若列表scores=[65,66,68,75,82,80,85,90,88,95],输入num为5,运行该程序段后,输出的结果是( )
A. [75,82,80] B. [68,75,82] C. [80,85,90] D. [65,66,68,75,82]
【答案】B
【解析】
【详解】本题考查Python程序设计相关内容。分析程序段,推知:程序的目的是在列表scores中,找出连续递增(后一个元素与前一个元素的差值≥num)的最长子序列,并输出该子序列。
max:记录最长连续递增子序列的长度。
current:记录当前连续递增子序列的长度。
start:记录最长连续递增子序列的起始索引。
列表scores=[65,66,68,75,82,80,85,90,88,95],输入num=5,遍历从索引1到9(range(1,len(scores))数据范围值为1到9)。
第1次循环(i=1):比较scores[1]-scores[0]=66-65=1,1<5,current=1(重置当前长度)。
第2次循环(i=2):比较scores[2]-scores[1]=68-66=2,2<5,current=1(重置当前长度)。
第3次循环(i=3):比较scores[3]-scores[2]=75-68=7,7≥5,current=2(当前长度+1),此时current(2)>max(1),则max=2,start=3-2+1=2(起始索引为2)。
第4次循环(i=4):比较scores[4]-scores[3]=82-75=7, 7≥5,current=3(当前长度+1),此时current(3)>max(2),则max=3,start=4-3+1=2(起始索引仍2)。
第5次循环(i=5):比较scores[5]-scores[4]=80-82=-2,-2<5,current=1(重置当前长度)。
第6次循环(i=6):比较scores[6]-scores[5]=85-80=5,5≥5,current=2(当前长度+1),此时current(2)<max(3),不更新max和start。
第7次循环(i=7):比较scores[7]-scores[6]=90-85=5,5≥5,current=3(当前长度+1),此时current(3)=max(3),不更新max和start(因为没有超过当前最长长度)。
第8次循环(i=8):比较scores[8]-scores[7]=88-90=-2,-2<5,current=1(重置当前长度)。
第9次循环(i=9):比较scores[9]-scores[8]=95-88=7,因为7≥5,所以current=2(当前长度+1),此时current(2)<max(3),不更新max和start。
最终max=3,start=2,因此子序列为scores[2:2+3],即从索引2开始,取3个元素:
scores[2]=68,scores[3]=75,scores[4]=82,对应子序列[68,75,82]。
故本题答案是B选项。
12. 有如下Python程序段
s= input("请输入n个字符:")
n= len(s);b=[0]*n
for i in range(n**n):
r=""
for j in range(n):
r=s[b[j]]+r
print(r)
k=0; b[k]+=1
while b[k] == n and k < n-1:
b[k]=0; k=k+1
b[k]+=1
输入s="北斗星盟",执行上述程序段,输出的最后一行是( )
A. 北斗星盟 B. 盟星斗北 C. 盟盟盟盟 D. 北北北北
【答案】C
【解析】
【详解】本题考查Python字符串处理相关内容。输入s="北斗星盟",长度n=4。数组b用于记录每个位置选取的字符在s中的索引(初始为[0,0,0,0])。
外层循环for i in range(n**n)理论上会执行256(44)次,但实际因while循环的终止条件,会在生成所有全排列后提前结束。
全排列的最后一项是所有字符按逆序排列(因为全排列按“从前往后选最小可用索引”的顺序生成,最后一个排列是索引从大到小的组合)。
s="北斗星盟"的字符索引:北(0)、斗(1)、星(2)、盟(3)。
最后一个排列的索引组合为[3,3,3,3],对应的字符是“盟盟盟盟”。
当b[k] == n且k < n-1时,会重置b[k]并尝试下一个位置,但当所有位置的索引都达到n(即b=[4,0,0,0],但索引最大为3),循环无法继续,程序自然终止,此时最后一次有效的输出就是全排列的最后一项。因此,输出的最后一行是:盟盟盟盟。
故本题答案是C选项。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15题10分,共26分)
13. 某学生在学习编程时,设计了一个程序用于分析文章中的回文现象。回文是指正读反读都一样的字符串,如:“level”。在分析时,忽略所有非字母字符(即只考虑 A~Z和a~z),但输出时需保留原文格式(包括标点、空格和换行)。程序需要找出文章中最长的回文串(如有多个,输出最先出现的),并输出其长度及原文内容。
查找过程如下表所示:
原始文章
Confucius say: Madam, I'm Adam
忽略非字母字符
ConfuciussayMadamImAdam
统一转换为小写字母
confuciussaymadamimadam
最长回文串
madamimadam
最长回文原文
Madam, I'm Adam
(1)若文章片段为“Is it a car or a cat I see”,则该字符串最长回文串的长度为________(填数字)。
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
def clean(s):
#代码略
#t为整理后的字符串(只保留字母并转换为小写)
#列表pos记录t中每个字符的原始位置,其中pos[i]记录t[i]在s中的索引return t, pos
s= input("输入文章字符串:")
t, pos= clean(s)
maxn=0
st= ed=0 #最长回文原文在s中的起始位置和结束位置
start=0 #最长回文串在t中的起始位置
for i in range(len(t)):
for j in range(2): #偶奇回文
L, R=i, i+j
while L>=0 and R < len(t) and____:
L-=1
R+=1
length=R-L-1
if length> maxn:
____
start=L+1
st= pos[start]
ed= pos[start+ max-1]
print("最长回文长度:", maxn)
print("最长回文原文为:", ____)
【答案】 ①. 15 ②. t[L] == t[R] ③. maxn=length ④. s[st:ed + 1]
【解析】
【详解】本题考查字符串处理相关内容。结合题目内容,分析程序段,推知:
(1)依据最长回文查找规则,字符串“Is it a car or a cat I see”中的最长回文串是“sitacaroracatis”,其长度为15,故本题答案是:15。
(2)②处,在判断回文的过程中,需要比较左右指针所指向的字符是否相等,只有相等时,才继续向两边扩展,故此处答案是:t[L] == t[R]。③处,当找到更长的回文串时,需要更新最长回文的长度maxn(maxn=length),同时记录最长回文原文在原始字符串s中的起始位置start(L+1),故此处答案是:maxn=length。④处,要输出最长回文的原文,需要根据记录的起始位置st和结束位置ed,从原始字符串s中截取对应的子串,故此处答案是:s[st:ed + 1]。
14. 某地进行首考前模拟测试之后,所有学生成绩保存在“学生成绩.xls”文件中,部分数据如图a所示。编写Python程序,请回答下列问题。
(1)计算每位学生的总分,筛选“学校2”的数据,并输出该校总分最高的前十学生。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
df= pd. read_excel("学生成绩. xls")
____
____
____
print(df2. head(10))
程序中①②③处可选的代码有:
A. df["总分"]= df. sum()
B. df["总分"]= df. sum(axis=1) # axis=1对行进行操作
C. dfl=df1[df1.学校=="学校2"]
D. dfl= df[df.学校=="学校2"]
E. dfl= dfl. sort values("总分", ascending= True)
F. df2= dfl. sort values("总分", ascending= False)
(2)统计“学校2”各班七选三科目赋分97及以上的人数,并用图表显示如图b所示:
import matplotlib. pyplot as plt
plt. rc("font",**{"family": "SimHei") #设置中文字体
bj = {}
for i in df1. index:
for j in dfl.columns[5:12]:
if ____:
if df1["班级"][i] in bj:
____
else:
bj[df1["班级"][i]=1
plt. title("高分人数统计")
x = bj. keys() #获取字典键的数据
y = bj. values() #获取字典键对应的值数据
plt. bar(____)
plt. show()
【答案】 ①. B ②. D ③. F ④. df1.at[i, j]>=97或df1[j][i]>=97 ⑤. bj[df1['班级'][i]]+=1或bj[df1.at[i,'班级']]+=1 ⑥. x, y
【解析】
【详解】本题考查程序设计相关内容。结合题目内容,分析程序段,推知:
(1)①此处需要计算每位学生的总分,对每行的成绩列进行求和,df.sum(axis=1)表示对行进行求和操作,这样能得到每个学生各科成绩的总和,从而生成“总分”列;而df.sum()是对列进行求和,不符合需求,故此处答案是:B。②此处要筛选出“学校”列值为“学校2”的数据,df[df.学校=="学校2"]的作用是从原始数据框df中选取满足“学校”等于“学校2”条件的行,得到新的数据框df1,故此处答案是:D。③要得到该校总分最高的前十学生,需要对df1按照“总分”列进行降序排序,df2=df1.sort_values("总分",ascending=False)就是将df1按“总分”从高到低排序,之后用head(10)就能获取前10条数据,故此处答案是:F。
(2)④处,此处要判断“学校2”的数据框df1中,第i行、第j列(七选三科目列,列索引从5到11)的成绩是否大于等于97分,若满足则进行后续的统计操作,故此处答案是:df1.at[i, j]>=97或df1[j][i]>=97。⑤处,当已经存在该班级(df1["班级"][i]在字典bj的键中)时,说明之前已经统计过该班级有符合条件的人数,现在又有一个符合条件的,所以将对应的值加1,故此处答案是:bj[df1['班级'][i]]+=1或bj[df1.at[i,'班级']]+=1。⑥处,plt.bar()函数用于绘制柱形图,需要传入两个参数,分别是柱形图的x轴数据(班级,即x=bj.keys())和y轴数据(对应班级的高分人数,即y=bj.values()),故此处答案是:x, y。
15. 某电影院有6排,每排有10个座位,每个座位只能坐一个人。第1排座位号依次为1到10,第2排座位号依次为11到20,依此类推。有8个团队(编号1~8),每个团队有2到8个成员,成员总数不超过60个。将8个团队按编号由小到大依次安排座位,安排方式有两种:
a.整体安排。按座位编号由小到大的次序,查找第一个可容纳该团队全部成员的空区域(空区域是指从某个空位置开始的同排连续的所有位置),如图a所示,若找到,则在该空区域居中连续放置该团队全部成员。
b. 零散安排。若所有空区域位置数都小于该团队成员数,则将该组每位成员依次放置在当前编号最小的空位置中。
例如8个团队的成员人数为[6,3,4,8,7,6,6,6],输出结果如图b所示:
(1)相关数据如上图,已知团队3共4人,图b缺失的团队3观影座位号为______。
(2)定义函数getpos(),该函数功能为:按座位编号从小到大的次序,查找空位置数不小于r的第一个空区域,若找到,返回该空区域的起始编号,否则返回-1,请在以下划线处填入合适的代码。
def getpos(r):
g = -1
for i in range(1, m):
if flag[i] >= r:
_________
break
return g
(3)实现上述功能的部分Python程序如下,请在以下划线处填入合适的代码。
m=60 #表示电影院的座位数
w=10 #w表示影院每行的座位数
flag=[0]*(m+1) #flag[i]记录编号i座位在同一排中向右最长连续空位置个数
#输入各个团队成员人数列表a,代码略
n= len(a) #n表示订票的团队数
for i in range(1, m+1):
flag[i]=(w-i)%w+1
v=1
for i in range(0, n):
s=[]
p= getpos(a[i])
if ____:
j=1
while j<= a[i]:
if flag[v]!=0:
s. append(v)
flag[v]=0
j=j+1
____
else:
k=(flag[p]-a[i])∥2
for j in range(k,0,-1):
____
p=p+1
for j in range(p, p+a[i]):
flag[j]=0
s. append(j)
print("团队"+ str(i+1)+"观影座位号:",s)
【答案】 ①. [17, 18, 19, 20]或17, 18, 19, 20或17 18 19 20 ②. g=i ③. p==-1 ④. v+=1 ⑤. flag[p]=j
【解析】
【详解】本题考查程序设计相关内容。结合题目内容,分析程序段,推知:
(1)已知团队1(6人):第1排连续10个空位(一开始全部为空),空区域长度flag[1]=10,≥6,在空区域居中放置,起始位置计算:起始=p+(flag[p]-人数)//2,代入:p=1,flag[p]=10,人数=6,空余=4,居中偏移量=4//2=2,所以起始位置=1+2=3,安排座位号:3,4,5,6,7,8(团队1)。
团队2(3人):现在剩余空位:第1排1、2、9、10;第2排全空(11~20)等。空区域:从1开始连续空位数flag[1]=2<3(不够),从9开始flag[9]=2<3,从11开始flag[11]=10≥3。所以p=11,居中放置:空余=10-3=7,偏移=7//2=3,起始=11+3=14,安排座位号14,15,16(团队2)。
团队3(4人):空区域查找:1号座位连续空位=2(1,2),不够4;9号连续空位=2(9,10),不够4;团队2占了14~16,那么11~13空着,17~20空着,但不是同排连续,因为中间14~16占用了,所以从11开始flag[11]=3(11,12,13)不够4;从17开始flag[17]=4(17,18,19,20)刚好等于4,不需要居中,因为长度正好=人数,全部占满(居中也是从17开始)。所以团队3安排在17,18,19,20。故本题答案是:[17,18,19,20]或17,18,19,20或17 18 19 20。
(2)在函数getpos中,当找到满足flag[i] >= r的位置时,需要将该位置赋值给g,故本题答案是:g=i。
(3)③处,判断是否进入零散安排条件,即当getpos返回-1(表示没有找到可整体安排的空区域)时,进行零散安排,故此处答案是:p==-1。④处,在零散安排时,每次添加座位号后,要将v递增,继续查找下一个空位置,故此处答案是:v+=1。⑤处,flag[i]记录编号为i的座位在同一排中向右最长连续空位置的个数。例如,若某排座位是连续空的,flag会从左到右记录每个位置向右能连续空的数量。当找到可容纳团队的空区域(起始位置为p,空区域长度为flag[p])时,需要居中放置团队成员。为了实现“居中”,需要先计算偏移量k=(flag[p]-团队人数)//2,表示空区域左侧需要空出的位置数量。在空区域左侧空出k个位置的过程中,要更新这些位置的flag值,以保证后续安排其他团队时,能正确识别这些位置已被“占用为左侧空出的部分”,不再被错误地视为可连续空的区域。在循环forjinrange(k,0,-1):中,j从k递减到1,对应空区域起始位置p向右的第1到第k个位置(这些位置是为了“居中”而空出的)。将flag[p]赋值为j,是为了标记“当前位置p向右连续空的数量为j”。通过这种方式,后续查找空区域时,这些被“空出作为间隔”的位置,会被正确识别为“不可用于连续容纳其他团队的区域”,从而保证座位安排的逻辑一致性。简单来说,flag[p]=j是为了动态维护“空区域连续长度”的信息,确保“居中放置”时,左侧空出的位置能被正确标记,不影响后续的座位安排,故此处答案是:flag[p]=j。
第1页/共1页
学科网(北京)股份有限公司
$
绝密★考试结束前
2025学年第一学期浙江北斗星盟阶段性联考
高二年级技术学科试题
考生须知:
1.本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分 信息技术(共50分)
一、选择题(共12小题,每题2分,共24分。每小题只有一个选项符合题目要求,不选、多选、错选均不得分)
1. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。下列关于数据与大数据的说法,恰当的是( )
A. 大数据的处理一般采用并行思想
B. 系统处理的卫星地图数据属于结构化数据
C. 对系统中的数据进行加密处理可以降低用户信息泄露的风险
D. 因为大数据不追求精确性,所以该智驾系统获取的环境数据可以是抽样数据
2. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。关于该信息系统功能和应用的说法,不恰当的是( )
A. 该系统中的用户就是驾驶员
B. 传感器属于智驾系统中的硬件
C. 该系统具有数据采集、处理和存储功能
D. 智驾系统通过分析传感器捕捉道路与环境数据,为用户合理规划路线
3. 某汽车智能驾驶(智驾)系统,通过传感器实时获取道路与环境数据,结合卫星地图,以人工智能、大数据技术为核心支撑,优化算法模型、提升决策效率和安全性,实现智能驾驶,如自动变道、智能泊车等。系统中的数据在传输和存储时均进行了加密处理。传感器以100HZ的频率更新卫星图像,图像大小3860*2160,位深度24,每秒钟系统需要处理的数据量约为( )
A. 18.6GB B. 2.3GB C. 2.3MB D. 18.6MB
4. 某智能手环内置心率传感器、血氧传感器、北斗定位等模块,实时采集用户血糖、血压等生理数据,并将数据加密后通过5G网络同步至云端服务器分析与存储。AI助手采用深度学习算法自动分析数据并在发现异常体征时触发预警;专业的医生团队将结合AI助手给出健康报告,患者可通过手机APP查看报告。为保障用户个人信息安全,下列措施不合理的是( )
A. 定期对手机APP进行更新
B 云端服务器定时对数据进行备份
C. 允许管理员无限制访问所有个人数据
D. 对用户数据采用加密算法来提高数据的保密性
5. 某智能手环内置心率传感器、血氧传感器、北斗定位等模块,实时采集用户血糖、血压等生理数据,并将数据加密后通过5G网络同步至云端服务器分析与存储。AI助手采用深度学习算法自动分析数据并在发现异常体征时触发预警;专业的医生团队将结合AI助手给出健康报告,患者可通过手机APP查看报告。下列关于人工智能的说法,恰当的是( )
A. 深度学习算法依赖于对所有知识进行精确化编码
B. 深度学习算法属于联结主义人工智能学习方法的典型代表
C. 医生与AI助手的合作给出健康报告是跨领域人工智能的应用
D. 该手环生成健康报告的准确性与算法优良性有关,不需要大规模的数据训练
6. 下列语句中,运算结果与其他项不同的是( )
A. max([1,2.8,5.1,5]) >= 36**0.5 B. len("sunny")//2 == 2
C. "A"+"795" < str(884.8) D. not 9 > 7 or int(19.9) >= 20
7. 学校为了同学们养成良好的自习习惯,实行“晚自习表现评分”制度,1周晚自习总评分(s)累计达到60分及以上为“优秀晚自习生”,否则“待改进”。每天晚自习表现(t):专注时长超90分钟计15分,专注时长超60分钟不满90分钟计10分,不满60分钟计5分。
判断是否达标的部分流程图如图所示,可选表达式为:
①s≥60? ②t>60? ③t>90? ④i>n?
则①~④处表达式序号依次为( )
A. ④③②① B. ①②③④ C. ④②③① D. ①③②④
8. 某学校进行艺术节专项特长学生选拔,学生的基础信息表如下
学生编号
特长分
获奖(0=无/1=校级/2=市级/3=省级)
志愿(1/2)
01
85
3
1
02
75
1
2
03
90
2
1
……
……
……
……
学校按照以下规则选拔人才
①特长分(t)必修达到80以上
②分数达标者需要获奖(h)必须市级或以上
③达到上述条件者若志愿(z)为第一志愿者入选,其余志愿进入备选
将材料中学生基础信息表用字典呈现, dict={"学生编号":["01","02","03"],"特长分":[85,75,90],"获奖": [3,1,2]},现将志愿数据添加到字典,以下操作正确的是( )
A. dict["志愿"]={1,2,1} B. dict{"志愿"}=[1,2,1]
C. dict["志愿"]=1,2,1 D. dict["志愿"]=[1,2,1]
9. 某学校进行艺术节专项特长学生选拔,学生的基础信息表如下
学生编号
特长分
获奖(0=无/1=校级/2=市级/3=省级)
志愿(1/2)
01
85
3
1
02
75
1
2
03
90
2
1
……
……
……
……
学校按照以下规则选拔人才
①特长分(t)必修达到80以上
②分数达标者需要获奖(h)必须市级或以上
③达到上述条件者若志愿(z)为第一志愿者入选,其余志愿进入备选
选拔部分用python程序段实现,下列选项不能实现选择的是( )
A. if t<80:
print("不达标!")
elif h<2:
print("不达标!")
else:
if z==1:
print("符合条件,优先录取!")
else: print("进入候选池!")
B. if t<80:
print("不达标!")
elif h<2:
print("不达标!")
elif z==1:
print("符合条件,优先录取!")
else:
print("进入候选池!")
C. if t>=80 and h>=2:
if z==1:
print("符合条件,优先录取!")
else:
print(进入候选池!")
else:
print("不达标!")
D. if t<80 and h<2:
print("不达标!")
elif z==1:
print("符合条件,优先录取!")
else:
print("进入候选池!")
A. A B. B C. C D. D
10. 定义如下Python函数,
def calc(m):
result=1
for i in range(2,m+1):
if i%2==1:
result*=i
else:
result+=i
return result
运行calc(5)后,函数的返回值为( )
A. 13 B. 50 C. 65 D. 130
11. 有如下Python程序段
num= int(input())
max=1; current=1; start=0
for i in range(1, len(scores)):
if scores[i]-scores[i-1]>= num:
current+=1
if current> max:
max= current
start=i-current+1
else:
current=1
print(scores[start: start+ max])
若列表scores=[65,66,68,75,82,80,85,90,88,95],输入num为5,运行该程序段后,输出的结果是( )
A. [75,82,80] B. [68,75,82] C. [80,85,90] D. [65,66,68,75,82]
12. 有如下Python程序段
s= input("请输入n个字符:")
n= len(s);b=[0]*n
for i in range(n**n):
r=""
for j in range(n):
r=s[b[j]]+r
print(r)
k=0; b[k]+=1
while b[k] == n and k < n-1:
b[k]=0; k=k+1
b[k]+=1
输入s="北斗星盟",执行上述程序段,输出的最后一行是( )
A. 北斗星盟 B. 盟星斗北 C. 盟盟盟盟 D. 北北北北
二、非选择题(本大题共3小题,其中第13小题7分,第14小题9分,第15题10分,共26分)
13. 某学生在学习编程时,设计了一个程序用于分析文章中的回文现象。回文是指正读反读都一样的字符串,如:“level”。在分析时,忽略所有非字母字符(即只考虑 A~Z和a~z),但输出时需保留原文格式(包括标点、空格和换行)。程序需要找出文章中最长的回文串(如有多个,输出最先出现的),并输出其长度及原文内容。
查找过程如下表所示:
原始文章
Confucius say: Madam, I'm Adam
忽略非字母字符
ConfuciussayMadamImAdam
统一转换为小写字母
confuciussaymadamimadam
最长回文串
madamimadam
最长回文原文
Madam, I'm Adam
(1)若文章片段为“Is it a car or a cat I see”,则该字符串最长回文串的长度为________(填数字)。
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
def clean(s):
#代码略
#t为整理后的字符串(只保留字母并转换为小写)
#列表pos记录t中每个字符的原始位置,其中pos[i]记录t[i]在s中的索引return t, pos
s= input("输入文章字符串:")
t, pos= clean(s)
maxn=0
st= ed=0 #最长回文原文在s中的起始位置和结束位置
start=0 #最长回文串在t中的起始位置
for i in range(len(t)):
for j in range(2): #偶奇回文
L, R=i, i+j
while L>=0 and R < len(t) and____:
L-=1
R+=1
length=R-L-1
if length> maxn:
____
start=L+1
st= pos[start]
ed= pos[start+ max-1]
print("最长回文长度为:", maxn)
print("最长回文原文为:", ____)
14. 某地进行首考前模拟测试之后,所有学生成绩保存在“学生成绩.xls”文件中,部分数据如图a所示。编写Python程序,请回答下列问题。
(1)计算每位学生的总分,筛选“学校2”的数据,并输出该校总分最高的前十学生。实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(单选)。
import pandas as pd
df= pd. read_excel("学生成绩. xls")
____
____
____
print(df2. head(10))
程序中①②③处可选的代码有:
A. df["总分"]= df. sum()
B. df["总分"]= df. sum(axis=1) # axis=1对行进行操作
C. dfl=df1[df1.学校=="学校2"]
D. dfl= df[df.学校=="学校2"]
E. dfl= dfl. sort values("总分", ascending= True)
F. df2= dfl. sort values("总分", ascending= False)
(2)统计“学校2”各班七选三科目赋分97及以上的人数,并用图表显示如图b所示:
import matplotlib. pyplot as plt
plt. rc("font",**{"family": "SimHei") #设置中文字体
bj = {}
for i in df1. index:
for j in dfl.columns[5:12]:
if ____:
if df1["班级"][i] in bj:
____
else:
bj[df1["班级"][i]=1
plt. title("高分人数统计")
x = bj. keys() #获取字典键的数据
y = bj. values() #获取字典键对应值数据
plt. bar(____)
plt. show()
15. 某电影院有6排,每排有10个座位,每个座位只能坐一个人。第1排座位号依次为1到10,第2排座位号依次为11到20,依此类推。有8个团队(编号1~8),每个团队有2到8个成员,成员总数不超过60个。将8个团队按编号由小到大依次安排座位,安排方式有两种:
a.整体安排。按座位编号由小到大的次序,查找第一个可容纳该团队全部成员的空区域(空区域是指从某个空位置开始的同排连续的所有位置),如图a所示,若找到,则在该空区域居中连续放置该团队全部成员。
b. 零散安排。若所有空区域位置数都小于该团队成员数,则将该组每位成员依次放置在当前编号最小的空位置中。
例如8个团队的成员人数为[6,3,4,8,7,6,6,6],输出结果如图b所示:
(1)相关数据如上图,已知团队3共4人,图b缺失的团队3观影座位号为______。
(2)定义函数getpos(),该函数功能为:按座位编号从小到大次序,查找空位置数不小于r的第一个空区域,若找到,返回该空区域的起始编号,否则返回-1,请在以下划线处填入合适的代码。
def getpos(r):
g = -1
for i in range(1, m):
if flag[i] >= r:
_________
break
return g
(3)实现上述功能的部分Python程序如下,请在以下划线处填入合适的代码。
m=60 #表示电影院的座位数
w=10 #w表示影院每行的座位数
flag=[0]*(m+1) #flag[i]记录编号i座位在同一排中向右最长连续空位置个数
#输入各个团队成员人数列表a,代码略
n= len(a) #n表示订票的团队数
for i in range(1, m+1):
flag[i]=(w-i)%w+1
v=1
for i in range(0, n):
s=[]
p= getpos(a[i])
if ____:
j=1
while j<= a[i]:
if flag[v]!=0:
s append(v)
flag[v]=0
j=j+1
____
else:
k=(flag[p]-a[i])∥2
for j in range(k,0,-1):
____
p=p+1
for j in range(p, p+a[i]):
flag[j]=0
s. append(j)
print("团队"+ str(i+1)+"观影座位号:",s)
第1页/共1页
学科网(北京)股份有限公司
$