文档内容
2025年1月浙江省普通高校招生选考科目考试
信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一
个是符合题目要求的,不选、多选、错选均不得分)
1. 某市举行科普现场宣传活动,包括科学实验秀、科技故事分享等内容。该活动还通过视频直播、
网站、报纸等媒介进行传播。市民可参加线下活动,也可注册后参加线上活动。下列关于该活动中数据
和信息的说法,正确的是( )
A. 同一活动内容的数据在不同的媒介上表现形式相同
B. 活动内容中图像和文本的数字化方法是完全一致的
C. 活动内容通过多种媒介传播有助于信息的共享
D. 同一活动信息的价值不会随着时间的推移而变化
【答案】C
【解析】
本题考查的是数据与信息。A. 同一活动内容的数据在不同的媒介上表现形式可能不同。例如,视频
直播和网站可能提供动态的、交互式的体验,而报纸则提供静态的、文本和图像结合的体验。故A选项
不正确。
B. 活动内容中图像和文本的数字化方法是不完全一致的。图像通常需要进行扫描或拍摄,然后通过
软件进行数字化处理,而文本可以直接通过文字处理软件进行数字化。故B选项不正确。
C. 活动内容通过多种媒介传播确实有助于信息的共享。不同的媒介可以覆盖不同的受众群体,增加
信息的可访问性和传播范围。故C选项正确。
D. 同一活动信息的价值可能会随着时间的推移而变化。随着时间的推移,信息可能会变得过时,或
者新的信息可能会使其价值降低。故D选项不正确。
故本题应选C。
2. 某市举行科普现场宣传活动,包括科学实验秀、科技故事分享等内容。该活动还通过视频直播、
网站、报纸等媒介进行传播。市民可参加线下活动,也可注册后参加线上活动。关于信息安全与信息社
会责任,下列行为合适的是( )
A. 视频直播时接受社会监督 B. 观众将科学实验秀制作成视频销售
C. 使用他人信息注册参加线上活动 D. 将注册信息发到活动用户群里
【答案】A
【解析】本题考查信息安全与信息社会责任。
A. 视频直播时接受社会监督是合适的行为。社会监督有助于确保活动的透明度和公正性,同时也是
信息安全和社会责任的体现。故A选项是合适的。
B. 观众将科学实验秀制作成视频销售,这可能涉及到版权和知识产权的问题。未经授权将科普活动
的内容制作成视频并销售,可能会侵犯活动的版权,因此B选项不合适。
C. 使用他人信息注册参加线上活动是不合适的,因为这涉及到个人隐私和信息安全的问题。未经他
人同意使用其信息进行注册,违反了信息安全和隐私保护的原则。故C选项不合适。
D. 将注册信息发到活动用户群里可能会泄露个人信息,这违反了信息安全的原则。个人信息应当受
到保护,不应随意公开或分享。故D选项不合适。
故本题应选A。
3. 某连锁餐厅的智能监管系统实现从食材验收区到加工区全程监管。在食材验收区,智能验收秤采
集并保存食材的品种、重量等数据、同时将数据发送到服务器;在食材加工区,AI抓拍设备自动识别员
工的违规行为,并通过音箱发出语音提示,如“请穿工作服”,同时将抓拍数据发送到服务器。管理员
可通过安装有监管系统APP的移动终端查看各连锁餐厅的数据。下列关于该信息系统功能的说法,不正
确的是( )
A. 系统的数据收集和输入功能由智能验收秤实现
.
B 语音提示功能可采用语音合成技术实现
C. 监管系统APP可与服务器进行双向数据传输
D. 识别员工违规行为的功能属于人工智能技术的应用
【答案】A
【解析】
本题考查的是信息系统功能。
信息系统(Information system),是由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用
户和规章制度组成的以处理信息流为目的的人机一体化系统。主要有五个基本功能,即对信息的渝入、存
储、处理、输出和控制。
故本题应选A。
4. 某连锁餐厅的智能监管系统实现从食材验收区到加工区全程监管。在食材验收区,智能验收秤采
集并保存食材的品种、重量等数据、同时将数据发送到服务器;在食材加工区,AI抓拍设备自动识别员
工的违规行为,并通过音箱发出语音提示,如“请穿工作服”,同时将抓拍数据发送到服务器。管理员
可通过安装有监管系统APP的移动终端查看各连锁餐厅的数据。某地区有100家连锁餐厅,每家餐厅安
装有5台AI抓拍设备。若使用二进制对这些设备进行编码,二进制码的前几位表示餐厅号,其余位表示设备号,则所需的二进制位数最少是( )
A. 10 B. 9 C. 8 D. 7
【答案】A
【解析】
本题考查数据编码。
有100家餐厅,由于26=64<100,27=128>100,所以表示餐厅号至少需7位二进制数。每家5台设备,
因22=4<5,23=8>5,表示设备号至少需3位。 两者相加,7+3=10位。
故本题选择A。
5. 某连锁餐厅的智能监管系统实现从食材验收区到加工区全程监管。在食材验收区,智能验收秤采
集并保存食材的品种、重量等数据、同时将数据发送到服务器;在食材加工区,AI抓拍设备自动识别员
工的违规行为,并通过音箱发出语音提示,如“请穿工作服”,同时将抓拍数据发送到服务器。管理员
可通过安装有监管系统APP的移动终端查看各连锁餐厅的数据。下列关于该信息系统中硬件的说法,正
确的是( )
A. 系统的硬件不包括管理员使用的移动终端
B. 系统中的传感器都用于获取图像数据
C. 智能验收秤的组成部件一定有存储器
D. AI抓拍设备和服务器一定通过有线方式直接相连
【答案】C
【解析】
本题考查信息系统中的硬件。
A选项错误,管理员使用的移动终端属于该信息系统硬件范畴。移动终端承担着接收服务器数据并
展示给管理员的功能,是整个信息系统数据交互的重要一环,所以系统硬件包含管理员使用的移动终端。
B选项错误,系统中的传感器功能多样,并非都用于获取图像数据。像智能验收秤作为传感器,主要采集
食材品种、重量等非图像类数据,只有AI抓拍设备这类传感器才用于获取图像数据,因此并非所有传感
器都用于获取图像数据。C选项正确,智能验收秤具备采集并保存食材品种、重量等数据的功能,要实现
数据保存就必然需要存储器,它用于存储采集的数据,以便后续传输至服务器。D选项错误,AI抓拍设
备与服务器的连接方式并非一定是有线直接连接。在实际场景中,为实现便捷部署与更高灵活性,它们
常通过无线方式,如Wi-Fi、4G/5G 等进行连接,并非局限于有线直接连接。
故本题选择C。
6. 某连锁餐厅的智能监管系统实现从食材验收区到加工区全程监管。在食材验收区,智能验收秤采
集并保存食材的品种、重量等数据、同时将数据发送到服务器;在食材加工区,AI抓拍设备自动识别员工的违规行为,并通过音箱发出语音提示,如“请穿工作服”,同时将抓拍数据发送到服务器。管理员
可通过安装有监管系统APP的移动终端查看各连锁餐厅的数据。下列关于该信息系统中软件的说法不正
确的是( )
A. 监管系统APP属于应用软件
B. 软件要随着系统需求的变化而不断完善
C. AI抓拍设备需要在软件的支持下工作
D. 系统中服务器和移动终端需要使用相同的操作系统
【答案】D
【解析】
本题考查信息系统中的软件。
A. 监管系统APP是为连锁餐厅的智能监管需求而开发的软件,属于应用软件的范畴。这类软件旨在
满足特定的应用需求,因此该选项的说法是正确的。
B. 随着连锁餐厅业务需求的变化和管理方式的调整,智能监管系统的需求也会随之变化。为了适应
这些变化并提高系统的性能和功能,软件需要不断地完善和更新。因此,该选项的说法是正确的。
C. AI抓拍设备不仅依赖于硬件支持,还需要软件来实现图像识别算法、数据处理以及与其他设备
(例如音箱、服务器)的交互。这意味着AI抓拍设备需要在软件的支持下才能正常工作,所以该选项的
说法是正确的。
D. 服务器和移动终端由于功能和硬件架构的差异,通常不需要使用相同的操作系统。服务器一般使
用适合大规模数据处理和网络服务的操作系统,如Linux的服务器版本;而移动终端可能根据不同品牌和
应用场景使用安卓、iOS等操作系统。因此,该选项的说法是不正确的。故本题选择D。
7. 某校组织学生进行阳光月跑活动,30天内总里程满50km达标。每天组织一次跑步,平均速度
(S)达到6km/h时方可计入总里程(T),每天的跑步里程(K)若超过4km按4km计入,否则按实计
入。判断某学生是否达标的部分流程图如图所示,(1)~(4)处可选表达式为①T←T+K ②T≥50?
③i≤n? ④K←4,则(1)~(4)处表达式序号依次为( )A. ③①④② B. ③④①② C. ②①④③ D. ②④①③
【答案】B
【解析】
本题考查流程图。(1)处为循环条件,此处需要遍历30天内的里程和速度,累计30天内的总里程,
故此处为i≤n?。(2)处为当每天跑步的里程K超过4时,按4km计入,故此处为K←4。(3)处为累计
总里程T,故此处为T←T+K。(4)处为判断该月总里程是否达标,故此处为T≥50?。故本题选择B。
8. 有后缀表达式“13+2*3+2*”,现利用栈计算该表达式:从左向右扫描,遇到数字时,数字入栈;
遇到运算符时,两个元素出栈,用运算符计算,所得结果入栈。如此反复操作,直到扫描结束,栈顶元
素是( )
A. 21 B. 22 C. 23 D. 24
【答案】B
【解析】
本题考查栈。对于后缀表达式 13+2*3+2*,我们使用栈 stack 来存储数字和计算结果。 扫描到 1,
将 1 压入栈:stack = [1]。 扫描到 3,将 3 压入栈:stack = [1, 3]。 扫描到 +,从栈中弹出两个元素:
3 和 1,计算 1 + 3 = 4,将结果 4 压入栈:stack = [4]。 扫描到 2,将 2 压入栈:stack = [4, 2]。 扫
描到 *,从栈中弹出两个元素:2 和 4,计算 4 * 2 = 8,将结果 8 压入栈:stack = [8]。 扫描到 3,将
3 压入栈:stack = [8, 3]。 扫描到 +,从栈中弹出两个元素:3 和 8,计算 8 + 3 = 11,将结果 11 压入栈:stack = [11]。 扫描到 2,将 2 压入栈:stack = [11, 2]。 扫描到 *,从栈中弹出两个元素:2
和 11,计算 11 * 2 = 22,将结果 22 压入栈:stack = [22]。扫描结束后,栈顶元素是 22。故本题选择
B。
的
9. 某二叉树如图所示,若其中 一个叶子节点增加右子树(仅包含节点N),则新二叉树的中序遍
历结果不可能是( )
A. CNBDAE B. CBDNAE C. CBDAEN D. NCBDAE
【答案】D
【解析】
本题考查二叉树。
前序的规则就是根结点——>左子树——>右子树;中序遍历的规则是:左子树——>根结点——>右
子树;后续就是左子树——>右子树——>根结点。根节点:没有父节点的节点。度:节点下孩子节点的
个数,树的度为节点度的最大值。分支节点:度不为0的节点。叶子结点:没有子节点的节点,树的终
端。
由于二叉树的中序遍历顺序为左根右,因此,无论在这个二叉树的哪个叶子节点增加右子树(仅包
含节点N),该节点N都不可能出现在中序遍历的第一个位置。
故本题选择D。
10. 数组元素a[0]~a[n-1]已按升序排列,现要将a[pos](0≤pos≤n-1)的值加1,并保持数组的有序性不
变,实现该功能的程序段如下,方框中应填入的正确代码为( )
t=a[pos]+1
i=pos
while :
a[i]=a[i+1]
i+=1
a[i]=t
A. ia[i+1]
C. ia[i+1] D. i<=n-1 or t>a[i]
【答案】B【解析】
本题考查排序。该程序段的目的是将 a[pos] 的值加 1 后,插入到合适位置以保持数组有序。首先
将 a[pos] 加 1 的结果赋值给 t ,然后从 pos 位置开始往后比较。 当 i < n - 1 时,说明还未到达数组
末尾,有后续元素可供比较。 当 t > a[i + 1] 时,意味着当前 t 的值大于下一个元素 a[i + 1] ,需要将
a[i + 1] 往前移动一位,即执行 a[i]=a[i + 1] ,然后 i 自增 1 继续往后比较。 只有同时满足 i < n - 1 和
t > a[i + 1] 这两个条件时,才需要进行比较操作,当不满足这个 while 循环条件时,说明找到了 t 应插
入的位置,此时将 t 赋值给 a[i] 。 A选项 i < n - 1 只判断了是否到达数组末尾,没有判断 t 和后续元
素的大小关系,无法保证插入位置的正确性;B选项 i < n - 1 and a[i] > a[i + 1] 比较的是当前元素和下一
个元素的大小关系,并非 t 和下一个元素的大小关系;C选项 i <= n - 1 or t > a[i] 中使用了逻辑或 or ,
只要满足其中一个条件就会执行循环,会导致插入位置错误。故本题选择B。
11. 对于任意非空字符串s,甲、乙程序段输出结果相同,则乙程序段加框处的正确代码为( )
r=""
def f(s,t):
n=len(s)
if t>=len(s)-2:
for i in range(0,n,2):
return s[t]
return f(s,t+2)+s[t]
print(f(s,0))
print(r)
甲程序段 乙程序段
A. r=s[n-i]+r B. r=r+s[n-i-1] C. r=r+s[i] D. r=s[i]+r
【答案】D
【解析】
本题考查递归与迭代。在甲程序段中,假设输入:"ABC123",则输出结果为"2CA";乙程序需要完
成相同功能,依次代入各选项可得:A选项错误,i=0时,s[n - i] 会导致下标越界;B选项错误,首先添
加 s[5],即 "3",然后当 i = 2 时,添加 s[3],即 "1",最后当 i = 4 时,添加 s[1],得到 "31B",与甲
程序段结果不同;C选项错误,当 i = 0 时,将添加 s[0],然后当 i = 2 时,添加 s[2],最后当 i = 4 时,
添加 s[4],得到"AC2";D选项正确,当 i = 0 时,将添加 s[0] 到 r 的左边,然后当 i = 2 时,添加
s[2] 到左边,最后当 i = 4 时,添加 s[4] 到左边,得到"2CA"。故本题选择D。
12. 列表c长度为100,如图所示,其中c[10]~c[89]各元素的值均为10以内的随机正整数。执行如下
程序段,输出的最后一行是( )
i 0 1 2 3 4 5 6 7 8 9 … 9 9 9 9 9 9 9 9 9 9… 0 1 2 3 4 5 6 7 8 9
c …
1 1 1 1 2 3 2 3 2 3 2 3 2 2 2 2 1 1 1 1
[i] …
qa=[0,0,0,0,0]
qb=[0,0,0,0,0]
h,t=0,4
temp=0
for k in range(100):
qa[t]=c[k]
qb[t]=temp+qa[t]-qa[h]
print(qb[h],qb[t])
temp=qb[t]
t=(t+1)%5
h=(h+1)%5
A. 5 4 B. 8 4 C. 9 5 D. 9 9
【答案】B
【解析】
本题考查队列。程序中使用了两个列表qa和qb,以及两个指针h和t,通过循环对列表c进行处理。
的
从代码逻辑看,qa[t] = c[k]是将c中 元素依次存入qa中,qb[t] = temp + qa[t] - qa[h]是根据之前的计算结
果和当前qa中的值进行计算并存入qb 。temp = qb[t]用于保存当前qb[t]的值,以便下一次计算,t = (t +
1) % 5和h = (h + 1) % 5是对指针进行循环移动,并且 t 与 h 始终相差 4。 当k小于4时,qa[h]的值均
为0,即qb的前4项依次为c数组累加和,qb[4]的值为 c[0]至c[4]五项的和减去 c[0]的值,因此 qb[t]为
第t项以及前4项的和。最后一次循环时,qb[t]=qb[99]=c[96]+c[97]+c[98]+c[99]=4;
qb[h]=qb[95]=c[92]+c[93]+c[94]+c[95]=8。故本题选择B。
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 根据机器的负载率对工厂的6台机器(编号0~5)进行监控和调度,调度规则是:每隔1小时采
集1次各台机器的负载率(负载率用百分制表示,例如,负载率95%表示为95,机器休息时的负载率为
0),负载率超过90的机器都调度休息;如果所有机器负载率都不超过90,则负载率最高的机器休息,
若多台机器负载率同为最高,则编号最小的机器休息,休息的机器在休息1小时后再次工作。
请回答下列问题:的
(1)若某次采集到0~5号机器 负载率依次为75、85、88、0、88、87,当前处于休息状态的机器
编号3,接下来休息的机器编号是________。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
n=6 #机器台数
a=[0]*n #列表a长度为n,各元素值均为0
#启动0~4号机器工作,5号机器休息,代码略
while True:
#延时1小时,再采集各机器负载率存入a,a[i]存放i号机器的负载率,代码略
t=0
cnt=0
for i in range(n):
if __________:
#调度i号机器休息,代码略
cnt+=1
if a[i]>a[t]:
____________
elif a[i]==0:
#调度i号机器工作,代码略
if ____________:
#调度t号机器休息,代码略
【答案】
①. 2
②. a[i]>90
③. t=i
④. cnt==0
【解析】
本题考查分支结构的程序实现。
(1)某次采集到的机器负载率中,超过90的机器没有。在不超过90的负载率中,最高负载率为
88,有编号为2和4的机器负载率都是88,按照“若多台机器负载率同为最高,则编号最小的机器休
息”的规则,接下来休息的机器编号是2。
(2)①处:该处需要判断哪些机器的负载率超过90,从而调度其休息。根据调度规则,负载率超过90的机器都调度休息,所以此处应判断a[i]>90。故答案为a[i]>90。
②处:这里是在寻找负载率最高的机器编号。当a[i]>a[t]时,说明当前机器i的负载率比之前记录的
最高负载率机器t的负载率还要高,所以要更新t为当前机器编号i。故答案为t=i。
③处:此处是判断当所有机器负载率都不超过90时,调度负载率最高的机器休息(若多台机器负载
率同为最高,则编号最小的机器休息)。cnt用于统计负载率超过90的机器数量,当cnt为0时,表示所
有机器负载率都不超过90,此时就需要调度负载率最高的机器休息。故答案为cnt==0。
14. 某研究小组搭建了室外温度监测系统,在4所学校各设置了1个监测点。智能终端连接传感器,
每隔3小时采集1次温度数据,通过网络将温度数据传输到服务器。服务器根据数据判断出异常情况时,
通过智能终端控制执行器发出预警信号。请回答下列问题:
(1)在搭建该监测系统时,温度传感器与智能终端的配备总数量合理的是________(单选,填字母:
A.4个温度传感器和4个智能终端/B.4个温度传感器和1个智能终端)。
(2)系统数据采集的时间间隔为3小时,可用于控制采集时间的设备是________(单选,填字母:
A.传感器/B.智能终端)。
(3)编写智能终端程序时,不需要知道________(多选,填字母)
A.与传感器连接的智能终端引脚 B.服务器的存储容量
C.服务器的地址及端口 D.数据库的文件名
(4)当服务器判定有异常情况后,除可通过智能终端控制蜂鸣器发出预警声音之外,请写出其他两
种预警的具体方式。________
(5)将系统中某年的数据导出到文件data.xlsx中,部分数据如图a所示。其中“预报温度”列是指
学校所在地的天气预报温度数据,“差值”列是指实测温度与预报温度相减的绝对值。现要由高到低输
出3月份各监测点差值的平均值(如图b所示),再用差值平均值最高的监测点的3月份实测温度数据绘
制线形图(如图c所示)。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel ("data.xlsx")
df1=①______df2=②______
df2=③______
#依次输出df2中各监测点编号及其差值的平均值,如图b所示,代码略
#将df2中首行的监测点编号存入uid,代码略
df2=④______
#创建x列表,长度为248,元素依次为0~247,表示3月份采集时间点的序号,代码略
plt.plot(x,df2["实测温度"]) #绘制线形图
#设置绘图参数,并显示如图c所示的线形图,代码略
①②③④处可选代码有:
A.df.groupby("月",as_index=False).差值.mean() #分组求平均
B.df[df["监测点"]==uid] #筛选
C.df[df["月"]==3]
D.df1.sort_values("差值",ascending=False) #降序排序
E.df1.groupby("监测点",as_index=False).差值.mean()
F.df1[df1["监测点"]==uid]
G.df2.sort_values("差值",ascending=False)
【答案】 ①. A ②. B ③. BD ④. 通过智能控制终端控制LED灯闪烁;通过智能控制
终端控制舵机转动;服务器发送预警邮件或其他合理答案。 ⑤. C ⑥. E ⑦. G ⑧. F
【解析】
本题考查信息系统搭建、pandas数据处理。
(1)在搭建该监测系统时,由于在 4 所学校各设置了 1 个监测点,每个监测点需要一个温度传感
器来采集温度,并且每个监测点都需要一个智能终端来连接传感器、传输数据等操作,所以温度传感器
与智能终端的配备总数量合理的是 4 个温度传感器和 4 个智能终端。因此该空答案为 A。
(2)系统数据采集的时间间隔为 3 小时,智能终端负责连接传感器和控制数据采集的相关操作,
所以可用于控制采集时间的设备是智能终端。传感器主要负责采集温度数据,而不控制采集时间。因此
该空答案为 B。
(3)A. 与传感器连接的智能终端引脚:在编写智能终端程序时,需要知道与传感器连接的智能终
端引脚,以便正确获取传感器的数据。 B. 服务器的存储容量:智能终端主要负责采集和传输数据,不
需要知道服务器的存储容量,因为它不涉及服务器存储方面的操作。 C. 服务器的地址及端口:智能终
端需要知道服务器的地址及端口,以便将采集到的数据传输过去。 D. 数据库的文件名:智能终端程序
通常只是负责将数据发送给服务器,并不直接操作数据库,所以不需要知道数据库的文件名。 所以编写智能终端程序时,不需要知道 B 和 D。
(4)当服务器判定有异常情况后,除可通过智能终端控制蜂鸣器发出预警声音之外,还可以采用以
下方式:通过智能控制终端控制LED灯闪烁;通过智能控制终端控制舵机转动;服务器发送预警邮件或
其他合理答案。
(5)①处: 首先,需要从 data.xlsx 中筛选出 3 月份的数据,所以这里应该使用 df[df["月"] ==
3]。因此该空答案为 C。
②处: 对于筛选出的 3 月份的数据,需要按监测点分组并计算差值的平均值,所以应该使用
df1.groupby("监测点", as_index=False).差值.mean()。因此该空答案为 E。
③处: 计算出平均值后,需要将结果按差值从高到低排序,以便输出,所以使用 df2.sort_values("差
值", ascending=False)。因此该空答案为 G。
④处: 当需要绘制差值平均值最高的监测点的 3 月份实测温度数据时,需要筛选出该监测点的数
据,使用 df1[df1["监测点"] == uid]。因此该空答案为 F。
15. 某市举行体育赛事活动,n所学校的选手已完成预赛,现计划根据预赛的成绩挑选s名选手参加
市决赛。成绩位列所在学校前w名次的选手直接入选,剩余名额按成绩由高到低依次挑选,成绩相同的
选手一并入选,选中的选手数一旦达到或超过s名,挑选结束。
现给定所有选手预赛的成绩数据表,每位选手的数据包含学校编号(0~n-1)、选手编号、成绩,成
绩数据表已按成绩由高到低排列。编写程序,计算各选手的校内名次,再按上述规则挑选决赛选手,按
成绩数据表中的顺序输出选手编号,同时提供查询功能。选手校内名次的计算方法是:若选手所在学校
有m人成绩高于该选手,则该选手的名次为m+1。
的
在图所示 样例中,n、s、w分别为3、8、2,根据图中前3行数据计算出了每位选手的校内名次,
进而选出实际入选的9名选手。
学
校
0 2 2 0 0 2 2 0 1 1 1 1
编
号
选
手 200
0002 2027 0072 0182 2071 2128 0012 1081 1002 1008 1208
编 2
号
成
198 185 183 182 182 177 177 176 175 163 161 161
绩
校
内
1 1 2 2 2 3 3 4 1 2 3 3
名
次是
否
True True True True True True True False True True False False
入
选
请回答下列问题:
(1)对于图所示前4行数据,若s、w分别为5和1,则0号学校入选人数是________。
(2)定义如下search(data,sid,score)函数,data列表每个元素的前5个数据项依次为学校编号、选手
编号、成绩、校内名次、是否入选,列表已按成绩由高到低排列。函数功能是查找选手编号为sid、成绩
为score的元素,返回其下标,若未找到则返回-1。
def search(data,sid,score):
left,right=0,len(data)-1
f=-1
while left<=right:
mid=(left+right)//2
if score==data[mid][2]:
f=mid
left=mid+1
elif score
right,循环结束。所以while语句中循环体的执行次数是 4 次。
②f记录了成绩为 score 的元素最后一次出现的位置,在此基础上寻找编号为 sid 的选手需要从后往前遍历,所以range(f,len(data))应改成range(f,-1,-1),因此答案是f,-1,-1。
(3)①处:这里是要根据学校编号找到对应的统计数组r的索引k,所以应填入k = data[i][0]。 ②
处:如果当前选手的成绩小于前面记录的成绩,那么更新最新处理成绩值,并且更新最新处理成绩值对
应的名次值,即r[k][0]=r[k][1]。 ③处:指针p、指针q初始化为直接入选队列、剩余按成绩入选队列的
队首位置,res列表用于存放入选决赛的选手编号。当选中的选手数量未达到s人且剩余按成绩入选队列
未被遍历完时进行处理。每趟循环取出剩余按成绩入选队列中成绩最高的元素,先将直接入选队列中成
绩高于该元素成绩值tmp 的元素添加到res中,再将剩余队列中成绩相同的选手一并入选。所以,该处需
要保证直接入选队列先于剩余按成绩入选队列入选。因此该空答案是while p!=-1 and p