内容正文:
杭州学军中学2024学年第二学期高三模拟考技术试卷
信息技术
1. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。关于该数字图书馆中数据和信息的说法,正确的是( )
A. 通过平板查阅时不需要载体
B. 不同格式的数据必须保存在不同的存储设备中
C. 学生优秀作品仅支持电子文本格式展示
D. 电子文本、图像、音频等均为数字资源的表现形式
【答案】D
【解析】
【详解】本题考查的是数据与信息。查阅过程依赖网络和服务器等载体;现代数字存储系统(支持多种格式数据共存于同一存储设备中;题干明确说明资源可存储为“电子文本、图像、音频等多种格式”,学生优秀作品作为资源的一部分,同样支持多格式展示;题干指出资源经数字化处理存储为“电子文本、图像、音频等多种格式”,这些格式是数字资源的具体表现形式。故选D。
2. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列符合信息安全与保护要求的措施是( )
A. 仅在数据丢失后进行备份操作 B. 定期维护并升级数字图书馆安全系统
C. 实时监控并公开读者聊天记录 D. 未经授权公开发布学生原创作品
【答案】B
【解析】
【详解】本题考查的是信息安全。定期备份才能确保数据可恢复性,保护数据完整性。定期维护(如检查系统漏洞)和升级(如安装安全补丁)是主动措施,能有效防范攻击、保护数据保密性和完整性,并确保系统可用性。公开聊天记录会侵犯用户隐私(违反保密性),尤其聊天内容可能包含个人信息。未经授权发布学生作品侵犯知识产权和隐私权,违反数据保密性和完整性原则。故选B。
3. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。为提升在线聊天室对读者咨询的响应精准度,最有效的改进方案是( )
A. 优化机器学习算法 B. 强制要求读者使用高性能终端
C. 增加娱乐板块以吸引更多用户 D. 缩短数字图书馆的页面加载时间
【答案】A
【解析】
【详解】本题考查是人工智能应用。优化算法可以直接提高语义理解、意图识别和回答准确性,从而显著提升响应精准度。终端性能影响响应速度或显示效果,但无法改善聊天机器人内容本身的精准度。吸引更多用户可能增加聊天室使用频率,但不直接影响响应精准度。页面加载时间与聊天机器人的内容精准度无关,精准度取决于算法模型而非访问效率。故选A。
4. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列对数字图书馆资源的处理方式中,不合理的是( )
A. 通过声卡上的数模转换器,对声音进行采样、量化、编码后存储到计算机中
B. 电子书籍生成封面缩略图以便预览
C. 将BMP图像转换为JPEG格式以节省存储空间
D. 将纸质期刊扫描成图像后识别出文字保存便于检索
【答案】A
【解析】
【详解】本题考查的是编码。声卡上的数模转换器用于将数字信号转换为模拟信号(如播放音频),而声音的数字化处理(采样、量化、编码)应由模数转换器完成。故选A。
5. 某校安装人脸识别系统,对进出学校的人员进行身份识别。该系统通过摄像头采集人脸图像,与已注册的人脸比对,核验通过的人员可通过闸机,同时系统自动记录相关信息,便于管理。教师和家长可通过浏览器或手机APP及时查看孩子进出校门情况。下列关于该信息系统的说法,正确的是( )
A. 摄像头采集人脸图像体现了数据加工处理功能
B. 核验通过后打开闸机属于传感技术
C. 只要操作不失误,该系统就不会出现任何故障
D. 该系统中不同的设备,其操作系统可能不同
【答案】D
【解析】
【详解】本题考查的是信息系统。摄像头采集人脸图像属于数据采集功能,而非数据加工处理;核验通过后打开闸机属于控制技术,而非传感技术;系统故障可能由硬件损坏、软件漏洞、网络问题等非操作因素引起,仅靠操作无误无法完全避免故障;系统中不同设备(如摄像头、服务器、手机APP)可能使用不同操作系统(如Linux、Windows、Android/iOS),这是分布式系统的常见特征。故选D。
6. 某校安装人脸识别系统,对进出学校的人员进行身份识别。该系统通过摄像头采集人脸图像,与已注册的人脸比对,核验通过的人员可通过闸机,同时系统自动记录相关信息,便于管理。教师和家长可通过浏览器或手机APP及时查看孩子进出校门情况。下列关于该系统网络技术的说法,不正确的是( )
A. 若关闭服务器,则家长无法查看孩子进出校门的记录
B. 教师手机通过Wi-Fi和服务器通信需遵循TCP/IP协议
C. 同一局域网内的不同设备,可以配置相同的IP地址
D. 为了便于访问和管理,该系统服务器最好使用静态地址
【答案】C
【解析】
【详解】本题考查的是计算机网络。IP地址是设备的唯一标识,重复会导致IP冲突,此说法不正确。故选C。
7. 某共享单车平台骑行费用计费规则如下:前30分钟(含)1.5元,30分钟后每15分钟0.8元(不足15分钟按15分钟计算),时间精确到分钟。若是学生骑行,则骑行总费用打7折,若是老年人则免费骑行。计算用户每次骑行费用的部分流程图如图所示,(1)~(4)处可选表达式为
①user=0? ②user≠1?
③cost←1.5+(t-30+14)//15*0.8 ④cost←cost*0.7
则(1)~(4)处表达式序号依次为( )
A. ②③①④ B. ①④②③ C. ①③②④ D. ②④①③
【答案】A
【解析】
【详解】本题考查的是流程图识读。(1)流程需先区分是否为老年人(免费情况),判断 “是否不是老年人” ,对应表达式②user≠1? ,若为假(是老年人),直接免费,不进入后续费用计算;为真(非老年人),继续流程。(2)当骑行时间 t>30 时,需计算超出 30 分钟的费用,根据 “30 分钟后每 15 分钟 0.8 元(不足 15 分钟按 15 分钟算)”,费用公式为 1.5+(t−30+14)//15∗0.8 ,对应表达式③,用于计算 t>30 时的总费用。(3)费用计算后,需区分是否为学生(学生享 7 折),判断 “是否是学生” ,对应表达式①user=0? ,为真(是学生)则进入打折流程,为假(非学生)跳过。(4)若是学生,执行费用 7 折操作,对应表达式④cost←cost*0.7 ,实现学生优惠计算。故选A。
8. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )
A. bacde B. dbcae C. dbace D. ecbad
【答案】B
【解析】
【详解】本题考查的是队列操作。根据题意,元素a入队后元素b入队,结合题目中设定的入队规则,元素b可以在队列的两端进行入队操作, 因此元素 b可以在元素a前一个或者后一个,故B选项错误。
9. 设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点。若使用二叉链表存储该二叉树,则该二叉树中空指针个数为( )
A. n2+n1+n0 B. n2+n1+2n0 C. 2n2+n1 D. 2n0+n1
【答案】D
【解析】
【详解】本题考查的是二叉树。叶子结点(度为0,数量为 �� 0 ):没有子结点,因此左指针和右指针均为空。每个叶子结点贡献 2 个空指针。度为1的结点(数量为 �� 1 ):只有一个子结点(可能是左子或右子),因此一个指针为空,另一个非空。每个度为1的结点贡献 1 个空指针。度为2的结点(数量为 �� 2 ):有两个子结点,因此左指针和右指针均非空。贡献 0 个空指针。因此,二叉树中空指针的总数为:2n0+n1。故选D。
10. 列表a有n个元素,列表b有m个元素。a、b均已按升序排列。现要将b中的元素合并到a中,并将a按升序排列。实现该功能的Python程序段如下:
a+=[0]*m
i,j,k=n-1,m-1,m+n-1
while (1) :
if (2)
a[k]=a[i]
i-=1
else:
a[k]=b[j]
j-=1
k-=1
上述程序段中划线处可选代码为:①j>=0 ②k>=0 ③i>=0 and a[i]>b[j] ④j<0 or a[i]>b[j],则(1)(2)处代码依次为( )
A. ①④ B. ②③ C. ①③ D. ②④
【答案】C
【解析】
【详解】本题考查的是数组。指针i用于标记列表a中最大元素的索引,指针j用于标记列表b中最大元素的索引,指针k用于标记列表a 扩容后最后一个索引。列表b中的元素均处理完,则合并结束,因此(1)处填入的语句为①j>=0。遍历过程中,若原始列表a的元素未被遍历完且列表a中当前最大元素a[i]大于列表b中当前最大元素 b[i],则将其存入a[k] 中,因此(2)处填入的语句为③i>=0 and a[i]>b[j]。故选C。
11. 对于任意正整数a和非负整数b,甲乙程序段输出结果相同,则乙程序段加框处的正确代码为( )
def f(a,b):
if b==0:
return1
res=f(a,b//2)
if b%2==1:
return res*res*a
else:
return res*res
print(f(a,b))
res=1
while b>0:
if b%2==1:
a=a*а
b=b//2
print(res)
甲程序段
乙程序段
A. res=res*res*a B. res=res*res C. res=res*a D. res=a*a
【答案】C
【解析】
【详解】本题考查的是递归。甲程序是递归实现,乙程序用循环实现。甲中当 b%2==1 时返回 res*res*a,对应乙循环里 b%2==1 时,应让 res 乘以当前 a ,即 res = res * a ,所以选 C。
12. 定义如下函数:
def solve(a):
stk=[0]*len(a);top=-1
r=255
for i in range(len(a)-1,-1,-1):
if a[i]>r:
return False
while top>=0 and a[i]<=stk[top]:
r=stk[top]
top-=1
top+=1
stk[top]=a[i]
return True
执行语句res=solve(d)后,若res值为True,则列表d不可能为( )
A. [1,4,3,2,7,6,10,9,8] B. [3,4,1,2,5,7,8,6,9,10]
C. [1,2,4,5,3,7,8,10,9,6] D. [1,3,2,5,6,4,8,10,9,7]
【答案】B
【解析】
【详解】本题考查的是栈的操作。题目中的 solve(a) 函数用于检查列表 a 是否满足特定条件。函数从列表末尾开始向前遍历,使用一个栈 stk 和变量 r(初始值为255)进行处理。核心逻辑是:如果当前元素 a[i] 大于 r,则返回 False。 否则,如果栈非空且 a[i] 小于等于栈顶元素,则弹出栈顶元素并将 r 设置为该元素值。 然后将当前元素 a[i] 压入栈。 如果遍历完成后未触发 False,则返回 True。选项 B: [3,4,1,2,5,7,8,6,9,10] 在遍历到索引 1(元素 4)时,r=2,4 > 2 成立,触发 return False。故选B。
13. 某系统可记录实验室中n台设备的开关机数据,数据格式记为[a,b],其中a由字母A与数字0~n-1组合表示设备名,如“A0”;b表示设备a开机或关机的时刻,为正整数。系统按开关机时刻依次记录。编写Python程序读取某天t时刻前系统记录的数据,计算实验室中当天截止到t时刻所有设备开机的总时长(每天开始时所有设备都是关机状态)。请回答下列问题:
(1)若系统某天t=50时刻前记录的数据为:["A1",10],["A2",20],["A1",30],["A3",30],["A1",40],则当天t时刻前实验室所有设备开机的总时长为___________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取设备的数量n及时刻t,并读取当天t时刻系统记录的数据存储到列表data中,data每个元素包含两个数据项,分别为设备名和开机或关机时刻。如[["A1",10],["A2",20]]
ans=[]
for i in range(n):
ans.append([0,-1]) #为ans追加一个元素[0,-1]
for i in range(len(data)):
cname=data[i][0]
①____
if ans[num][1]==-1:
ans[num][1]=data[i][1]
else:
②____
ans[num][1]=-1
sum=0
for i in range(n):
if③____:
ans[i][0]+=t-ans[i][1]
sum+=ans[i][0]
print("开机总时长:",sum)
【答案】 ①. 80 ②. num=int(cname[1:]) ③. ans[num][0]+=data[i][1]-ans[num][1] ④. ans[i][1]!=-1
【解析】
【详解】本题考查的是Python数组的应用。
(1)各设备开机时长为:A1:10-30,40-50共30分钟;A2:20-50共30分钟;A3:30-50共20分钟。故所有设备总开机时长为80分钟。
(2)ans数组根据设备数量创建,ans[i]的两个值分别是“设备累计开机时长”和“设备上一次开机时间”。 ①由后续代码,易得需要对变量num 赋值,设备名固定以“A”开头,编号从0开始,与ans索引一一对应,故应填入的代码为num=int(cname[1:1) ;②ans[num][1]记录设备上一次开机时间,若ans[num][1]==-1则说明设备之前处于关机状态,故该处需要统计本次开机的时长并累加到ans[num][0]中,故应填入的代码为ans[num][0]+=data[i][1]- ans[num][1] ;③当达到t时刻时,若设备ans[i]仍处于开机状态,则需要累加从开机到t时刻的开机时长,故该处应填入对 ans[i]设备开机状态的判断,即ans[i][1] !=-1。
14. 某研究小组搭建了羊圈监控系统。该系统不仅可以监测环境的指标,还可以识别出每只羊并监测每只羊的健康指标。智能终端连接传感器,通过IoT模块将采集的数据传输到服务器的数据库中。服务器根据数据判断出异常情况时,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)为高效稳定的识别羊只,以下哪个标签更合理____________(单选,填字母:A.RFID电子标签/B.二维码标签)。
(2)研究小组通过浏览器访问采集的历史数据,处理研究小组访问请求的设备是____________(单选,填字母)。
A.传感器 B.服务器 C.智能终端 D.执行器
(3)关于该系统的功能,以下说法正确的有____________(多选,填字母)。
A.IoT模块仅能将数据从智能终端传输到服务器
B.可通过多个传感器采集数据来提高数据采集的准确度
C.编写智能终端代码时无需知道服务器IP地址
D.系统数据采集的时间间隔可以根据实际需求进行调整
(4)随着养羊规模的扩大,发现原有的数据库在处理日益增长的羊圈空气质量监测数据时,性能逐渐下降,响应时间变长。为了提升数据库处理数据的性能和效率,请从软件的角度提出两种优化方案。____________
(5)现将系统中2024年7月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出该月份各监测点温度过高(超过30℃)的异常次数,将温度过高异常次数最多的监测点的温度过高数据按照时间点进行统计,并绘制线形图(如图b所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母).
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
#在df后加入一列“小时”,获取每行记录的“小时”数据并记录,代码略
dfl= ①____
df2=②____
df2=df2.sort_values("温度",ascending=False) #降序排序
#依次输出df2中各监测点编号及其温度过高的异常次数,如图b所示,代码略
#将df2中首行的监测点编号存入uid,代码略
df2=③____
df2=④____
plt.plot(df2.index,df2["温度"]) #绘制线形图
#设置绘图参数:并显示如图c所示的线形图,代码略
①②③④处可选代码有:
A.df2.groupby("小时").count() #分组计数
B.df[df"监测点"]==uid] #筛选
C.df[df["温度"]>30]
D.df[df["温度"]]>30
E.df1.groupby("监测点",as_index=False).count()
F.df2[df2["监测点"]==uid]
G.dfl.sort_values("监测点",ascending=False)
【答案】 ①. A ②. B ③. BD ④. 1.智能终端代码中添加功能,延长数据获取的时间间隔,或若一段时间内数据无明显变化则合并上传,减少数据上传量过大给数据库造成的处理压力;2.服务器代码中添加功能,及时清理过期的历史数据,仅保留近3个月的数据,降低数据库存储和查找时的处理压力;3.或其他合理答案。 ⑤. C ⑥. E ⑦. F ⑧. A
【解析】
【详解】本题考查信息系统和pandas 综合应用
(1)高效稳定识别羊,应该使用RFID方式更为合适,故答案选A 。
(2)访问采集的历史数据,应通过服务器连接到数据库,故答案选B。
(3)IoT模块可以进行数据的双向传输,A项错误;可以通过多个传感器计算平均值来减少误差,提高数据准确度,B项正确;智能终端向服务器发送采集的数据,需要知道服务器IP地址,C项错误;可以根据实 际需求调整采样时间间隔,D项正确。
(4)从软件的角度提出两种优化方案,提升数据库处理数据的性能和效率:
1.智能终端代码中添加功能,延长数据获取的时间间隔,或若一段时间内数据无明显变化则合并上传, 减少数据上传量过大给数据库造成的处理压力;
2.服务器代码中添加功能,及时清理过期历史数据,仅保留近3个月的数据,降低数据库存储和查找 时的处理压力;或其他合理答案。
(5)①从原表格 df中筛选温度异常数据;②统计各监测点温度异常次数;③从筛选后的表格 df1 中筛选监测点 uid; ④统计各时间点温度异常次数。故答案为C/E/F/A。
15. 为加强基础学科拔尖创新人才选拔培养,某校采用综合招生模式录取,在高考之外,额外进行校测,其中校测包括学科基础素质测试和综合素质测试。
考生综合成绩=高考成绩(按满分85分折算)+学科基础素质测试成绩(按满分10分折算)+综合素质测试成绩(按满分5分折算)。
考生在报名时可以选择两种类型,若作为第1类考生报名,根据各省份的招生计划数的6倍按高考成绩从高到低(末位同分同入围)确定入围综合招生的考生名单,入围后参加各项测试,根据各省份招生计划数,按综合成绩由高到低择优确定录取名单,若考生综合成绩相同,则按以下单项顺序及分数高低排序进行录取:高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩。若作为第2类考生报名,提交特长申请后经审核入围,2类考生有单独的全国统一招生计划数,按照考生综合成绩相对值在全国范围内降序排序录取,综合成绩相对值=考生综合成绩一所在省份1类考生最低录取综合成绩,若相对值相同,则按以下单项顺序及分数高低进行排序:校测总分、学科基础素质测试成绩、综合素质测试成绩。为简化问题,假设不存在两个成绩一模一样的考生。请回答下列问题:
(1)若A省和B省的1类生招生计划各1人,2类生的全国招生计划为1人,有以下5位同学入围综合招生,则录取的同学为__________(填考生报名号)。
报名号
省份
考生类型
综合成绩
高考成绩
9
A
1类生
97
79
11
A
1类生
97
81
16
A
2类生
96
78
18
B
1类生
93
79.5
25
B
2类生
93
75
(2)列表rec存储某省的1类生报名记录,每个元素包含报名号、高考成绩2个数据项,有如下Python程序:
def select(rec,cnt): #根据某省的报名记录返回成功入围的考生名单
n=len(rec)
Im=cnt*6 #按6倍招生计划确定入围基准
i=0
for j in range(n-1,i,-1):
if rec[j][1]>rec[j-1][1]:
rec[j],rec[j-1]=rec[j-1],rec[j]
if i>=Im and rec[i][1]<rec[i-1][1]:
break
i+=1
return rec[:i]
①若调用上述select函数,其中参数rec=
[[1,693],[2,691],[3,688],[4,700],[5,683],[6,688],[7,694],[8,682],[9,696],[10,680]],参数cnt=1,则加框处代码执行次数为__________
②将下划线处代码改为下列选项中的一项__________(单选,填字母),对程序行为没有影响。
A.rec[i][1]<=rec[i-1][1] B.rec[i][1]>rec[i-1][1]
C.rec[i][1]>=rec[lm-1][1] D.rec[i][1]!=rec[lm-1][1]
(3)下面的Python程序模拟了考生录取过程,最终输出录取的考生信息,请在划线处填入合适的代码。
info={"浙江":[-1,-1,80],"江苏":[-1,-1,60],...}#80为浙江省1类生的招生计划数,依次类推
plan=200 #2类生招生计划数
shortlist=[]
for prv in info:
#读取该省1类生报名数据至rec列表中,代码略
pass_rec=select(rec,info[prv][2])
shortlist+=pass_rec
#读取该省2类生审核后入围考生信息存入shortlist列表中,代码略
#读取shortlist中的每一位考生测试成绩存入列表data中,data每个元素包括9个数据项,依次为:报名号、姓名、省份、考生类型(0表示1类生,1表示2类生)、综合成绩、高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩,代码略
def compare(x,y):
for i in range(5+×[3],9):
if x[i]!=y[i]:
return x[i]>y[i]
def rel_value(prv):
return data[info[prv][1]][4]-data[info[prv][0]][4]
def greater(p,q):
if q=="":
return True
if p=="".
return False
vp=rel_value(p)
vq=rel_value(q)
if vp!=vq:
return vp>vq
else:
return compare(data[info[p][1]],data[info[q][1]])
n=len(data)
for i in range(n):
data[i].append(-1)
prv,tp=data[i][2],data[i][3]
if info[prv][tp]==-1:
info[prv][tp]=i
else:
pre=info[prv][tp]
p=pre
while p !=-1:
if data[p][4]<data[i][4]:
break
elif data[p][4]==data[i][4]and①____:
break
pre=p
p=data[p][-1]
if p==pre:
info[prv][tp]=i
else:
data[pre][-1]=i
data[i][-1]=p
for prv in info:
p=info[prv][0]
while p !=-1 and info[prv][2]>0:
print(data[p][0],data[p][1],"恭喜录取。")
info[prv][2]-=1
②____
p=data[p][-1]
while plan>0:
pl=p2=""
for prv in info:
if info[prv][1]!=-1:
if greater(prv,pl):
p2=pl;pl=prv
elif greater(prv,p2):
p2=prv
if p l="".
break
while③____:
print(data[info[p1][1]][0],data[info[p1][1]][1],"恭喜录取。")
info[p1][1]=data[info[p1][1]][-1]
plan-=1
【答案】 ①. 11、18、25 ②. 8 ③. D ④. compare(data[i],data[p]) ⑤. info[prv][0]=p ⑥. info[p1][1]!=-1 and plan>0 and greater(p1,p2)
【解析】
【详解】本题考查冒泡排序,链表,算法综合应用。
(1)A省和B省各1个1类生招生计划: A省1类生:9号(综合 97,高考 79)和11号(综合 97,高考81) → 11号高考成绩更高,录取11号。 B省1类生:18号(综合 93,高考 79.5) → 录取 18 号。 2 类生全国招生计划1人: 计算综合成绩相对值=考生综合成绩- 所在省份1类生最低录取综合成绩,16号(A省2类生):96-97=-1:25号(B省2类生):93-93=0, 25 号的相对值更高(0>-1),录取 25 号。 故最后录取的同学为11,18,25。
(2) ①select 函数实现的是冒泡排序,每次外循环i将当前最大值放到i位置。 cnt=1,lm=6,即取高考成绩前6名。 执行第 3轮外循环后,rec数组已经有序,但i<lm,未能触发 break 条件。 执行第7轮外循环:i=6 时 rec[6][1]=rec[5][1]=688,未能触发 break条件。 执行第8轮外循环:i=7时rec[6][1]=688,rec[7][1]=683,触发break条件,循环结束。故加框处的代码共执行8次。②原代码逻辑:将成绩降序后的前lm名学生输出,与lm名同分的也一并输出。A 项: rec[i][1]<=rec[i-1][1]会提前退出,可能漏掉同分考生;B项:与原逻辑相反。 C项:rec[i][1]>=rec[lm-1][1]与 A项相似,可能漏掉同分考生;D: 因为有 i>lm 的条件在前,高分同学不会漏掉,且同分情况无法触发break,故D项正确
(3)按程序运行逻辑,首先将所有入围考试信息存入列表shortlist 中。然后看三个自定义函数的功能: l.compare()函数,循环从5到9能够联想到,当考生综合成绩相同时,需要根据高考成绩、校测总分等项目依次比较,对应的索引正好是5到9,同时x[3]用以区分1类生和2类生。 2.rel_value()函数,用于计算2类生的综合成绩相对值,这里的info[prv][0]指向prv 省份的最后一名,与后面的②空有关。 3.greater()函数,用于比较p,q两个省份的2类生的成绩(包括综合成绩相对值和校测总分等成绩的比 较) 进入主循环 for i in range(n),首先给入围考生信息增加节点指针域,然后取出该考生的省份prv和考生类 型 tp,若 info[prv][tp]=-1,即该省份该类型考生为空,执行头插法。若不为空,则需要按照综合成绩排名后,在链表中找到插入位置。①空当节点p与新节点i的综合成绩相同时,需要调用compare函数比较其他各项成绩,这里尤其需要注意赋值顺序,应为compare(data[i],data[p]),即data[i]>data[p]时退出遍历。 for i in range(n)循环结束后,不同省份不同类型考生按成绩降序连接在不同的链表中,for prv in info循环 开始录取各个省份的1类生,info[prv][0]获取 prv 省 1 类生头指针,该省录取人数为info[prv][2],通过遍历链表逐个录取。②空所在的位置并不是完善while 循环的功能,rel_value()函数需要让info[prv][0]指 向prv省的最后一名,所以该空的代码为info[prv][0]=p 最后 while plan>0循环用于录取二类生,由于plan 名额全国使用,所以需要将各个省份的最高分再比一 次,内层for prv in info 就是在完成这个功能,p1为最高分省份,p2为次高分省份。若pl=""则无人可录取。 ③空首先要考虑循环的边界条件,即info[p1][1]!=-1 and plan>0(p1 省份还有2类生可录取且还有录取 名额),然后考虑几种特殊情况: 1.p1 省的2类生特别强,可能p1 省的前几名都比p2 的第一名强,这也是这个循环优化的目标。2.p2 省的第一名强于pl 省的第二名,也就是这个循环的退出条件,需要调用greater函数 3.p2 可能为空字符(比如2类生全来自与pl省),需要验证greater 输入的异常情况 我们尝试将最后的条件补全,greater(p1,p2),因为p1 不可能为空,而p2为空时,greater 返回 True,循环继续对p1省录取,符合要求。故最后答案为info[p1][1]!=-1 and plan>0 and greater(p1,p2)
第1页/共1页
学科网(北京)股份有限公司
$
杭州学军中学2024学年第二学期高三模拟考技术试卷
信息技术
1. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。关于该数字图书馆中数据和信息的说法,正确的是( )
A. 通过平板查阅时不需要载体
B. 不同格式的数据必须保存在不同的存储设备中
C. 学生优秀作品仅支持电子文本格式展示
D. 电子文本、图像、音频等均为数字资源的表现形式
2. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列符合信息安全与保护要求的措施是( )
A. 仅在数据丢失后进行备份操作 B. 定期维护并升级数字图书馆安全系统
C. 实时监控并公开读者聊天记录 D. 未经授权公开发布学生原创作品
3. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。为提升在线聊天室对读者咨询的响应精准度,最有效的改进方案是( )
A. 优化机器学习算法 B. 强制要求读者使用高性能终端
C. 增加娱乐板块以吸引更多用户 D. 缩短数字图书馆的页面加载时间
4. 某高中在线数字图书馆可将馆藏书籍、期刊、报纸及学生优秀作品等资源进行数字化处理,存储为电子文本、图像、音频等多种格式。师生可通过手机、平板、电脑等终端登录查阅,并利用在线聊天室交流阅读心得,聊天机器人“小军师”可提供借阅咨询。下列对数字图书馆资源的处理方式中,不合理的是( )
A. 通过声卡上的数模转换器,对声音进行采样、量化、编码后存储到计算机中
B. 为电子书籍生成封面缩略图以便预览
C. 将BMP图像转换为JPEG格式以节省存储空间
D. 将纸质期刊扫描成图像后识别出文字保存便于检索
5. 某校安装人脸识别系统,对进出学校的人员进行身份识别。该系统通过摄像头采集人脸图像,与已注册的人脸比对,核验通过的人员可通过闸机,同时系统自动记录相关信息,便于管理。教师和家长可通过浏览器或手机APP及时查看孩子进出校门情况。下列关于该信息系统的说法,正确的是( )
A. 摄像头采集人脸图像体现了数据加工处理功能
B. 核验通过后打开闸机属于传感技术
C. 只要操作不失误,该系统就不会出现任何故障
D. 该系统中不同的设备,其操作系统可能不同
6. 某校安装人脸识别系统,对进出学校的人员进行身份识别。该系统通过摄像头采集人脸图像,与已注册的人脸比对,核验通过的人员可通过闸机,同时系统自动记录相关信息,便于管理。教师和家长可通过浏览器或手机APP及时查看孩子进出校门情况。下列关于该系统网络技术的说法,不正确的是( )
A. 若关闭服务器,则家长无法查看孩子进出校门的记录
B. 教师手机通过Wi-Fi和服务器通信需遵循TCP/IP协议
C. 同一局域网内的不同设备,可以配置相同的IP地址
D. 为了便于访问和管理,该系统服务器最好使用静态地址
7. 某共享单车平台骑行费用计费规则如下:前30分钟(含)1.5元,30分钟后每15分钟0.8元(不足15分钟按15分钟计算),时间精确到分钟。若是学生骑行,则骑行总费用打7折,若是老年人则免费骑行。计算用户每次骑行费用的部分流程图如图所示,(1)~(4)处可选表达式为
①user=0? ②user≠1?
③cost←1.5+(t-30+14)//15*0.8 ④cost←cost*0.7
则(1)~(4)处表达式序号依次为( )
A. ②③①④ B. ①④②③ C. ①③②④ D. ②④①③
8. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则不可能得到的出队序列是( )
A. bacde B. dbcae C. dbace D. ecbad
9. 设二叉树中有n2个度为2的结点,n1个度为1的结点,n0个叶子结点。若使用二叉链表存储该二叉树,则该二叉树中空指针个数为( )
A. n2+n1+n0 B. n2+n1+2n0 C. 2n2+n1 D. 2n0+n1
10. 列表a有n个元素,列表b有m个元素。a、b均已按升序排列。现要将b中的元素合并到a中,并将a按升序排列。实现该功能的Python程序段如下:
a+=[0]*m
i,j,k=n-1,m-1,m+n-1
while (1) :
if (2)
a[k]=a[i]
i-=1
else:
a[k]=b[j]
j-=1
k-=1
上述程序段中划线处可选代码为:①j>=0 ②k>=0 ③i>=0 and a[i]>b[j] ④j<0 or a[i]>b[j],则(1)(2)处代码依次为( )
A. ①④ B. ②③ C. ①③ D. ②④
11. 对于任意正整数a和非负整数b,甲乙程序段输出结果相同,则乙程序段加框处的正确代码为( )
def f(a,b):
if b==0:
return1
res=f(a,b//2)
if b%2==1:
return res*res*a
else:
return res*res
print(f(a,b))
res=1
while b>0:
if b%2==1:
a=a*а
b=b//2
print(res)
甲程序段
乙程序段
A. res=res*res*a B. res=res*res C. res=res*a D. res=a*a
12. 定义如下函数:
def solve(a):
stk=[0]*len(a);top=-1
r=255
for i in range(len(a)-1,-1,-1):
if a[i]>r:
return False
while top>=0 and a[i]<=stk[top]:
r=stk[top]
top-=1
top+=1
stk[top]=a[i]
return True
执行语句res=solve(d)后,若res的值为True,则列表d不可能为( )
A. [1,4,3,2,7,6,10,9,8] B. [3,4,1,2,5,7,8,6,9,10]
C. [1,2,4,5,3,7,8,10,9,6] D. [1,3,2,5,6,4,8,10,9,7]
13. 某系统可记录实验室中n台设备开关机数据,数据格式记为[a,b],其中a由字母A与数字0~n-1组合表示设备名,如“A0”;b表示设备a开机或关机的时刻,为正整数。系统按开关机时刻依次记录。编写Python程序读取某天t时刻前系统记录的数据,计算实验室中当天截止到t时刻所有设备开机的总时长(每天开始时所有设备都是关机状态)。请回答下列问题:
(1)若系统某天t=50时刻前记录的数据为:["A1",10],["A2",20],["A1",30],["A3",30],["A1",40],则当天t时刻前实验室所有设备开机的总时长为___________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取设备的数量n及时刻t,并读取当天t时刻系统记录的数据存储到列表data中,data每个元素包含两个数据项,分别为设备名和开机或关机时刻。如[["A1",10],["A2",20]]
ans=[]
for i in range(n):
ans.append([0,-1]) #为ans追加一个元素[0,-1]
for i in range(len(data)):
cname=data[i][0]
①____
if ans[num][1]==-1:
ans[num][1]=data[i][1]
else:
②____
ans[num][1]=-1
sum=0
for i in range(n):
if③____:
ans[i][0]+=t-ans[i][1]
sum+=ans[i][0]
print("开机总时长:",sum)
14. 某研究小组搭建了羊圈监控系统。该系统不仅可以监测环境的指标,还可以识别出每只羊并监测每只羊的健康指标。智能终端连接传感器,通过IoT模块将采集的数据传输到服务器的数据库中。服务器根据数据判断出异常情况时,通过智能终端控制执行器发出预警信号。请回答下列问题。
(1)为高效稳定的识别羊只,以下哪个标签更合理____________(单选,填字母:A.RFID电子标签/B.二维码标签)。
(2)研究小组通过浏览器访问采集的历史数据,处理研究小组访问请求的设备是____________(单选,填字母)。
A.传感器 B.服务器 C.智能终端 D.执行器
(3)关于该系统的功能,以下说法正确的有____________(多选,填字母)。
A.IoT模块仅能将数据从智能终端传输到服务器
B.可通过多个传感器采集数据来提高数据采集准确度
C.编写智能终端代码时无需知道服务器IP地址
D.系统数据采集的时间间隔可以根据实际需求进行调整
(4)随着养羊规模的扩大,发现原有的数据库在处理日益增长的羊圈空气质量监测数据时,性能逐渐下降,响应时间变长。为了提升数据库处理数据的性能和效率,请从软件的角度提出两种优化方案。____________
(5)现将系统中2024年7月的数据导出到文件data.xlsx中,部分数据如图a所示。现要由高到低输出该月份各监测点温度过高(超过30℃)的异常次数,将温度过高异常次数最多的监测点的温度过高数据按照时间点进行统计,并绘制线形图(如图b所示)
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母).
import pandas as pd
import matplotlibpyplot as plt
df=pd.read_excel("data.xlsx")
#在df后加入一列“小时”,获取每行记录的“小时”数据并记录,代码略
dfl= ①____
df2=②____
df2=df2.sort_values("温度",ascending=False) #降序排序
#依次输出df2中各监测点编号及其温度过高的异常次数,如图b所示,代码略
#将df2中首行的监测点编号存入uid,代码略
df2=③____
df2=④____
plt.plot(df2.index,df2["温度"]) #绘制线形图
#设置绘图参数:并显示如图c所示的线形图,代码略
①②③④处可选代码有:
A.df2.groupby("小时").count() #分组计数
B.df[df"监测点"]==uid] #筛选
C.df[df["温度"]>30]
D.df[df["温度"]]>30
E.df1.groupby("监测点",as_index=False).count()
F.df2[df2["监测点"]==uid]
G.dfl.sort_values("监测点",ascending=False)
15. 为加强基础学科拔尖创新人才选拔培养,某校采用综合招生模式录取,在高考之外,额外进行校测,其中校测包括学科基础素质测试和综合素质测试。
考生综合成绩=高考成绩(按满分85分折算)+学科基础素质测试成绩(按满分10分折算)+综合素质测试成绩(按满分5分折算)
考生在报名时可以选择两种类型,若作为第1类考生报名,根据各省份的招生计划数的6倍按高考成绩从高到低(末位同分同入围)确定入围综合招生的考生名单,入围后参加各项测试,根据各省份招生计划数,按综合成绩由高到低择优确定录取名单,若考生综合成绩相同,则按以下单项顺序及分数高低排序进行录取:高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩。若作为第2类考生报名,提交特长申请后经审核入围,2类考生有单独的全国统一招生计划数,按照考生综合成绩相对值在全国范围内降序排序录取,综合成绩相对值=考生综合成绩一所在省份1类考生最低录取综合成绩,若相对值相同,则按以下单项顺序及分数高低进行排序:校测总分、学科基础素质测试成绩、综合素质测试成绩。为简化问题,假设不存在两个成绩一模一样的考生。请回答下列问题:
(1)若A省和B省的1类生招生计划各1人,2类生的全国招生计划为1人,有以下5位同学入围综合招生,则录取的同学为__________(填考生报名号)。
报名号
省份
考生类型
综合成绩
高考成绩
9
A
1类生
97
79
11
A
1类生
97
81
16
A
2类生
96
78
18
B
1类生
93
79.5
25
B
2类生
93
75
(2)列表rec存储某省的1类生报名记录,每个元素包含报名号、高考成绩2个数据项,有如下Python程序:
def select(rec,cnt): #根据某省的报名记录返回成功入围的考生名单
n=len(rec)
Im=cnt*6 #按6倍招生计划确定入围基准
i=0
for j in range(n-1,i,-1):
if rec[j][1]>rec[j-1][1]:
rec[j],rec[j-1]=rec[j-1],rec[j]
if i>=Im and rec[i][1]<rec[i-1][1]:
break
i+=1
return rec[:i]
①若调用上述select函数,其中参数rec=
[[1,693],[2,691],[3,688],[4,700],[5,683],[6,688],[7,694],[8,682],[9,696],[10,680]],参数cnt=1,则加框处代码执行次数为__________
②将下划线处代码改为下列选项中的一项__________(单选,填字母),对程序行为没有影响。
A.rec[i][1]<=rec[i-1][1] B.rec[i][1]>rec[i-1][1]
Crec[i][1]>=rec[lm-1][1] D.rec[i][1]!=rec[lm-1][1]
(3)下面的Python程序模拟了考生录取过程,最终输出录取的考生信息,请在划线处填入合适的代码。
info={"浙江":[-1,-1,80],"江苏":[-1,-1,60],...}#80为浙江省1类生的招生计划数,依次类推
plan=200 #2类生招生计划数
shortlist=[]
for prv in info:
#读取该省1类生报名数据至rec列表中,代码略
pass_rec=select(rec,info[prv][2])
shortlist+=pass_rec
#读取该省2类生审核后入围考生信息存入shortlist列表中,代码略
#读取shortlist中的每一位考生测试成绩存入列表data中,data每个元素包括9个数据项,依次为:报名号、姓名、省份、考生类型(0表示1类生,1表示2类生)、综合成绩、高考成绩、校测总分、学科基础素质测试成绩、综合素质测试成绩,代码略
def compare(x,y):
for i in range(5+×[3],9):
if x[i]!=y[i]:
return x[i]>y[i]
def rel_value(prv):
return data[info[prv][1]][4]-data[info[prv][0]][4]
def greater(p,q):
if q=="":
return True
if p=="".
return False
vp=rel_value(p)
vq=rel_value(q)
if vp!=vq:
return vp>vq
else:
return compare(data[info[p][1]],data[info[q][1]])
n=len(data)
for i in range(n):
data[i].append(-1)
prv,tp=data[i][2],data[i][3]
if info[prv][tp]==-1:
info[prv][tp]=i
else:
pre=info[prv][tp]
p=pre
while p !=-1:
if data[p][4]<data[i][4]:
break
elif data[p][4]==data[i][4]and①____:
break
pre=p
p=data[p][-1]
if p==pre:
info[prv][tp]=i
else:
data[pre][-1]=i
data[i][-1]=p
for prv in info:
p=info[prv][0]
while p !=-1 and info[prv][2]>0:
print(data[p][0],data[p][1],"恭喜录取。")
info[prv][2]-=1
②____
p=data[p][-1]
while plan>0:
pl=p2=""
for prv in info:
if info[prv][1]!=-1:
if greater(prv,pl):
p2=pl;pl=prv
elif greater(prv,p2):
p2=prv
if p l="".
break
while③____:
print(data[info[p1][1]][0],data[info[p1][1]][1],"恭喜录取。")
info[p1][1]=data[info[p1][1]][-1]
plan-=1
第1页/共1页
学科网(北京)股份有限公司
$