深耕专业教研,探索前沿技术
信息技术来源:2025学年第二学期北斗星盟高三适应性联考

第 13 题

答案与解析

第(1)小题

参考答案
  1. i < n-2

  2. loads[j] > 1.1*R

  3. [i,i+2]

程序分析

events = []                    #存储超载区间,如events=[[2,4]]
n = len(loads)
i = 0
while ①:
    ...
    i = i + 1

events 初值为空列表,注释说明它用于保存超载区间。i 从0开始,每轮加1,使检查位置依次向后移动;每轮的计数和记录操作都在这个外层循环内完成。

count = 0
j = i
while j <= i + 2:
    if ②:
        count = count + 1
    j = j + 1

每轮先把 count 清零,再令 j 从 i 开始,逐一检查到 i+2。因此,一轮检查的是连续3次采集的数据,i 是这组数据的起始下标,j 是组内当前检查位置。空②的条件每满足一次,count 就加1;下一轮重新清零,避免把前一区间的次数带入新区间。

if count >= 2:
    events.append(③)

count 达到2时才向 events 追加一项,这与题目要求的“3次中有2次及以上”相对应。每轮独立判断,当前区间被记录后,下一轮仍只将起始位置后移1位,因此相邻区间可能重叠。

print("超载区间元素依次有:")
for item in events:
    for i in range(item[0], item[1] + 1):
        print(loads[i], end=" ")

输出时,item 依次取出 events 中的一条记录。range(item[0], item[1]+1) 包含 item[0] 至 item[1] 的所有下标,并据此访问 loads,所以一条区间记录的前两项分别保存起始下标和结束下标,而不是载荷值。

填空分析

①

每轮从下标 i 检查到 i+2,而 loads 的最大合法下标为 n-1,因此必须满足 i+2≤n-1,即 i≤n-3。空①是外层 while 的循环条件,可填 i < n-2,也可填 i <= n-3。这样最后一组恰好检查至列表末尾;不足3个数据时不进入循环。

②

题目把载荷值严格超过额定载荷110%的采集计入超限次数。当前检查位置是 j,对应载荷为 loads[j],阈值为 1.1*R,因此填 loads[j] > 1.1*R。等于阈值时不计数。

③

当前检查区间的起止下标是 i、i+2。events.append(...) 每次追加一条区间记录,且后续通过记录的第0项、第1项读取两个端点,因此应填列表 [i,i+2]。内层循环结束时 j=i+3,填 [i,j-1] 也等价。

第(2)小题

参考答案

3

超限阈值为1.1×10=11,给定数据中只有12严格超过阈值。按采集顺序,每连续3个数据构成一个待检查区间;8个数据共有8-3+1=6个区间。按从0开始的列表下标逐一检查:

下标区间 3次采集的载荷值 超过11的次数 是否为超载区间
[0,2] 5、8、12 1 否
[1,3] 8、12、8 1 否
[2,4] 12、8、12 2 是
[3,5] 8、12、12 2 是
[4,6] 12、12、10 2 是
[5,7] 12、10、8 1 否

满足条件的是 [2,4]、[3,5]、[4,6],共3个区间。这些区间虽有重叠,但各自对应不同的连续3次采集,应分别计数。