内容正文:
舟山市2024学年第二学期期末检测
高二技术试题卷
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 智能教育手环是一款创新的可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于智能教育手环的数据处理,说法不正确的是( )
A. 手环监测到的脑电波原始信号属于数据
B. 通过分析心率数据可识别学生情绪和压力反应属于信息加工
C. 学习报告在不同设备间传输时可以不依附于载体
D. 当血氧饱和度低于90%时可能损害注意力,这是知识的体现
【答案】C
【解析】
【详解】本题考查数据与信息。A 选项正确,脑电波原始信号是未经加工的原始素材,属于数据范畴。 B 选项正确,通过 AI 算法分析心率数据以识别学生情绪和压力反应,属于对数据的加工处理,从而得到有价值的信息,属于信息加工。 C 选项错误,信息的传输必须依附于载体,学习报告作为信息,在不同设备间传输时也需要依托网络信号、存储介质等载体,无法独立存在。 D 选项正确,“血氧饱和度低于 90% 时可能损害注意力” 是人们通过长期实践和总结得出的规律性认识,属于知识的体现。 因此,本题选择 C 选项。
2. 智能教育手环是一款创新的可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于该校大数据平台的处理过程,说法正确的是( )
A. 手环每秒钟产生的实时数据适合进行批处理计算 B. 需先清洗异常血氧数据再进行特征提取
C. 分析时只需抽样20%学生的数据即可保证准确性 D. 该平台处理的数据均为结构化数据
【答案】B
【解析】
【详解】本题考查大数据。A 选项错误:手环每秒钟产生的实时数据具有时效性强的特点,适合采用流计算处理,以便及时反馈学生状态;批处理适用于大量历史数据的集中处理,不适合实时数据。B 选项正确:在进行数据特征提取前,需要先清洗异常血氧数据(如传感器故障产生的错误值),确保数据的准确性和可靠性,这是数据预处理的重要环节。C 选项错误:仅抽样 20% 学生的数据可能导致样本量不足,无法全面反映整体学生的学习状态,难以保证分析结果的准确性。大数据分析通常需要对全体数据进行分析。D 选项错误:该平台处理的数据包括生理数据(如脑电波)、互动行为数据等,其中脑电波信号、语音交互数据等属于非结构化数据,并非均为结构化数据。因此,本题选择 B 选项。
3. 智能教育手环是一款创新可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于该系统的AI技术,说法正确的是( )
A. 语音交互功能无需依靠联结主义算法实现
B. 系统决策完全不受训练数据偏差影响
C. 脑电波模式识别不属于人工智能范畴
D. 该AI技术的研发与应用融合了多学科交叉的前沿理论
【答案】D
【解析】
【详解】本题考查人工智能技术。A 选项错误,语音交互功能需依赖语音识别、自然语言处理等技术,而现代语音交互系统多基于联结主义算法(如深度学习中的循环神经网络 RNN、Transformer 模型等)实现。联结主义通过模拟神经元网络的结构和工作机制处理信息,是语音交互技术的核心理论基础之一。B 选项错误,系统决策高度依赖训练数据的质量。若训练数据存在偏差(如样本不均衡、标签错误等),AI 模型会学习到这些偏差,导致决策结果失真。例如,若心率数据中某类情绪样本过少,模型可能对该情绪的识别准确率偏低。C 选项错误,脑电波模式识别属于人工智能的模式识别领域。该过程通过 AI 算法(如卷积神经网络 CNN、支持向量机 SVM 等)对脑电波信号进行特征提取、分类和分析,属于典型的人工智能应用场景,而非传统信号处理范畴。D 选项正确,该 AI 技术的研发融合了计算机科学、生理学、教育学、统计学等多学科理论。因此,本题选择D。
4. 2021年9月,浙江省发布“一体化数字资源系统”(Integrated Resources System,简称IRS),其中的“浙里办”为基层群众提供了随时查缴社保、缴纳学费等各项服务。此外,“浙里办”还提供了“长辈版”,让老年人在信息化的“快”时代里,感受到了“慢”关怀。下列关于IRS系统和“浙里办”的描述,正确的是( )
A. IRS系统由硬件、软件、数据和用户组成
B. “浙里办”APP是一款为了特定用途而开发的应用软件
C. “长辈版”的提供是为了降低系统对外部环境的依赖性
D. “浙里办”不属于信息社会“在线政府”的范畴
【答案】B
【解析】
【详解】本题考查信息系统。 A 选项错误:IRS 系统作为一体化数字资源系统,属于信息系统范畴。信息系统通常由硬件、软件、数据和用户和网络组成。B 选项正确:“浙里办” APP 是为基层群众提供社保查缴、学费缴纳等特定服务而开发的软件,属于应用软件范畴,该选项表述正确。C 选项错误:“长辈版” 的设计初衷是为了方便老年人使用,体现对特殊群体的关怀,提升用户体验,而非降低系统对外部环境的依赖性。系统对外部环境的依赖性通常与硬件、网络等环境因素相关,与用户界面版本无关。D 选项错误:“浙里办” 是政府为群众提供在线服务的平台,属于信息社会中 “在线政府” 的重要组成部分,其目的是通过数字化手段提升政务服务的便捷性,符合 “在线政府” 的范畴。因此,本题正确的选项为B。
5. 2021年9月,浙江省发布“一体化数字资源系统”(Integrated Resources System,简称IRS),其中的“浙里办”为基层群众提供了随时查缴社保、缴纳学费等各项服务。此外,“浙里办”还提供了“长辈版”,让老年人在信息化的“快”时代里,感受到了“慢”关怀。下列关于IRS系统中网络技术的说法,正确的是( )
A. 该系统的网络资源不包括硬件资源 B. 该系统只能被同一个局域网内的用户访问
C. 客户端与服务器之间的数据通信仅需遵守IP协议 D. 移动终端可以使用移动通信网络访问该系统
【答案】D
【解析】
【详解】本题考查网络技术。A 选项错误,网络资源包括硬件资源、软件资源和数据资源等,该系统的网络资源必然包含硬件资源,如服务器、网络设备等。 B 选项错误,该系统是面向基层群众提供服务的,不可能只能被同一个局域网内的用户访问,用户通过互联网等方式即可访问,以实现广泛的服务覆盖。 C 选项错误,客户端与服务器之间的数据通信需要遵守多种网络协议,不仅仅是 IP 协议,还包括 TCP、HTTP 等协议,多种协议共同协作才能保证数据的正确传输和通信的正常进行。 D 选项正确,移动终端可以使用移动通信网络(如 4G、5G 等)访问该系统,这样基层群众才能在不同场景下通过移动终端便捷地使用 “浙里办” 提供的各项服务。因此,本题选择 D 选项。
6. 算式110101B+36D的运算结果是( )
A. 89D B. 57H C. 1011101B D. 1001101B
【答案】A
【解析】
【详解】本题考查数制。二进制转十进制:110101B转换为十进制,按位权展开:1×25+1×24+0×23+1×22+0×21+1×20=32+16+0+4+0+1=53D;十进制加法:53D + 36D = 89D。因此,本题选择A。
7. 某校举办了一场才艺比赛。在初赛中,评委根据选手的表演进行打分(S),若选手得分达到80分及以上,则进入决赛;若得分低于80分,则被淘汰。现共有20位选手参赛,统计晋级学生人数的部分流程图如图所示,有如下表达式:
①i≤n? ②i>n? ③S<80? ④S≥80? ⑤c=c+1
则(1)-(3)处表达式序号依次为( )
A. ①③⑤ B. ①④⑤ C. ②⑤③ D. ②④⑤
【答案】B
【解析】
【详解】本题考查流程图。分析判断框(1):已知共有20位选手参赛,即n=20,循环要对这20位选手依次进行处理,当i小于等于n时,需要继续处理选手信息;当i大于n时,结束对选手的处理,输出晋级人数。所以判断框(1)的作用是判断是否还有选手需要处理,应填入i≤n?,即① 。分析判断框(2):根据题目描述,若选手得分S达到80分及以上,则进入决赛(晋级);若得分低于80分,则被淘汰。所以判断框(2)的作用是判断选手是否晋级,应填入S≥80?,即④ 。分析处理框(3):当选手晋级时(即判断框(2)为 “Y” ),除了记录 “晋级”,还需要对晋级人数进行统计,也就是让晋级人数c加1,所以处理框(3)应填入c = c + 1,即⑤ 。综上,(1)-(3)处表达式序号依次为①④⑤,答案选 B 。
8. 下列Python表达式的结果值最小的是( )
A. 3* (5-2) +1 B. abs(ord("b") - ord("d"))// len("AI")
C. random. randint(0,8) -2**3 D. 7%4+ len("Hi!")
【答案】C
【解析】
【详解】本题考查 Python 表达式的计算。A 选项:3×(5−2)+1=3×3+1=10。B 选项:ord("b")为 98,ord("d")为 100,差值为-2,取绝对值后为 2;len("AI")为 2,故表达式为2//2=1。C 选项:random.randint(0,8)生成 0 到 8 的随机整数,23=8,表达式结果为随机数减 8,最小可能为0−8=−8(注:随机数最小为 0 时)。D 选项:7%4=3,len("Hi!")为 3,表达式结果为3+3=6。因此,本题选择 C 选项。
9. 下列关于栈和队列的说法,正确的是( )
A. 队列的插入和删除操作分别在两端进行,而栈的插入和删除操作均在栈顶进行
B. 栈和队列都是线性数据结构,且栈的删除操作可以在任意位置进行
C. 栈的运算规则是先进先出,队列的运算规则是后进先出
D. 栈和队列都可以直接访问中间元素,但无法访问首尾元素
【答案】A
【解析】
【详解】本题考查栈和队列。A 选项正确,队列是一种先进先出(FIFO)数据结构,其插入操作在队尾进行,删除操作在队头进行,即分别在两端进行;而栈是一种后进先出(LIFO)的数据结构,其插入和删除操作均在栈顶进行。B选项错误,栈和队列都是线性数据结构,但栈的删除操作只能在栈顶进行,并非可以在任意位置进行。C 选项错误,栈的运算规则是后进先出(LIFO),队列的运算规则是先进先出(FIFO),该选项说法颠倒。D选项错误,栈和队列都属于线性数据结构,但它们均无法直接访问中间元素。栈只能访问栈顶元素(即栈的首尾中的一端元素),队列只能访问队头和队尾元素(即队列的首尾元素)。 因此,本题选择A选项。
10. 有如下Python程序段:
mw = "mkgysa"
st = "325041"
n = len(st)
a = [""] * n
i =0
while i < n:
t = int(st[i])
a[t] = mw[i]
i +=1
result =''. join(a) #将列表转换为字符串
运行该程序段后,result的值为( )
A. "yakmsg" B. "gsmkay" C. "msgyak" D. "aymkgs"
【答案】A
【解析】
【详解】本题考查循环语句。根据程序段的执行过程,逐步分析列表a的填充情况,程序执行步骤:
初始化变量: mw = "mkgysa"; st = "325041"; n = 6(字符串st的长度) ;a = [""] * 6(初始化为 6 个空字符串的列表)
i = 0 循环填充列表a: 第一次循环(i=0): t = int(st[0]) = 3 ;a[3] = mw[0] = 'm'; a = ['', '', '', 'm', '', '']
第二次循环(i=1): t = int(st[1]) = 2; a[2] = mw[1] = 'k' ;a = ['', '', 'k', 'm', '', '']
第三次循环(i=2): t = int(st[2]) = 5 ;a[5] = mw[2] = 'g' ;a = ['', '', 'k', 'm', '', 'g']
第四次循环(i=3): t = int(st[3]) = 0 ;a[0] = mw[3] = 'y' ;a = ['y', '', 'k', 'm', '', 'g']
第五次循环(i=4): t = int(st[4]) = 4 ;a[4] = mw[4] = 's' ;a = ['y', '', 'k', 'm', 's', 'g']
第六次循环(i=5): t = int(st[5]) = 1 ;a[1] = mw[5] = 'a' ;a = ['y', 'a', 'k', 'm', 's', 'g']
结果拼接: result = ' '.join(a) → 'yakmsg' 。
因此,本题选择A。
11. 有如下Python程序段:
from random import randint
a = [0] *6
i =0
while i <6:
a[i] = randint(15) *2+1
if i >0 and a[i-1] %2==0:
a[i] +=2
elif i %2==1:
a[i] += a[i-1]
i +=1
运行该程序段后,a的值可能为( )
A. [9,14,5,16,13,25] B. [7,18,3,6,7,20] C. [12,11,8,9,4,21] D. [5,10,9,18,13,16]
【答案】D
【解析】
【详解】本题考查循环语句。初始化:创建长度为 6 的列表a,初始值全为 0。 循环生成元素:a[i] = randint(1,5)*2+1,确保a[i]为 3 到 11 之间的奇数(如 3、5、7、9、11)。在while循环中,若前一个元素为偶数(i>0且a[i-1]%2==0),则当前元素加 2(变为奇数 + 2 = 奇数)。若当前索引为奇数(i%2==1),则当前元素加上前一个元素的值。对各选项进行分析:
A: [9,14,5,16,13,25]:a[5]=25为奇数,但根据逻辑a[5]应为偶数,不可能。
B: [7,18,3,6,7,20]:a[2]=3,但a[2]初始值至少为3(randint(1,5)*2+1最小为3),然后加2(因a[1]为偶数),最小值为5,但3<5,不可能。
C: [12,11,8,9,4,21]:a[0]=12为偶数,但初始值应为奇数,不可能。
D: [5,10,9,18,13,16]:符合所有逻辑和奇偶性要求,且随机数取值均在1到5范围内:a[0]=5:randint=2(2*2+1=5)。a[1]=10:初始值5(randint=2,2*2+1=5),加a[0]=5得10。a[2]=9:初始值7(randint=3,3*2+1=7),加2得9。a[3]=18:初始值9(randint=4,4*2+1=9),加a[2]=9得18。 a[4]=13:初始值11(randint=5,5*2+1=11),加2得13。a[5]=16:初始值3(randint=1,1*2+1=3),加a[4]=13得16。因此,运行程序段后,a的值可能为[5,10,9,18,13,16]。
因此,本题选择D。
12. 有如下Python程序段:
a=[[8,1], [15,2], [16,3], [12,4], [6,-1]]
head = p = q =0
np = nq = head
while p != -1:
if a[p][0] < a[np][0]:
np = p
nq = q
q = p
p = a[p][1]
if np != head:
a[nq][1] = a[np][1]
a[np][1] = head
head = np
运行该程序段后,a的值为( )
A. [[8,1], [15,2], [16,3], [12,-1], [6,0]] B. [[8,3], [15,2], [16,-1], [12,1], [6,0]]
C. [[8,1], [15,3], [16,0], [12,4], [6,-1]] D. [[8,4], [15,3], [16,1], [12,0], [6,-1]]
【答案】A
【解析】
【详解】本题考查链表。该程序段操作一个链表,链表节点存储在列表 a 中。每个节点是一个子列表,第一个元素是节点值,第二个元素是指向下一个节点索引的指针(-1 表示链表结束)。初始时,head = 0,表示链表从索引 0 开始。 在while 循环(p != -1)中:遍历链表,p 为当前节点索引,q 为 p 的前驱节点索引(初始时 p 和 q 相同)。在遍历过程中,比较当前节点值 a[p][0] 与当前最小值节点值 a[np][0]:如果 a[p][0] < a[np][0],则更新最小值节点索引np = p,并记录其前驱节点索引 nq = q。更新 q = p(保存当前节点为前驱),p = a[p][1](移动到下一个节点)。循环结束后,如果最小值节点 np 不是头节点(np != head),则进行移动操作:将最小值节点的前驱节点指向最小值节点的下一个节点:a[nq][1] = a[np][1]。 将最小值节点指向原头节点:a[np][1] = head。 更新头节点为最小值节点:head = np。初始链表状态:a = [[8,1], [15,2], [16,3], [12,4], [6,-1]];遍历过程如下:
第一次迭代:p=0,a[p][0]=8,a[np][0]=8,8<8 为假,不更新 np 和 nq。更新 q=0,p=a[0][1]=1。
第二次迭代:p=1,a[p][0]=15,a[np][0]=8,15<8 为假,不更新。更新 q=1,p=a[1][1]=2。
第三次迭代:p=2,a[p][0]=16,a[np][0]=8,16<8 为假,不更新。更新 q=2,p=a[2][1]=3。
第四次迭代:p=3,a[p][0]=12,a[np][0]=8,12<8 为假,不更新。更新 q=3,p=a[3][1]=4。
第五次迭代:p=4,a[p][0]=6,a[np][0]=8,6<8 为真,更新 np=4,nq=3。更新 q=4,p=a[4][1]=-1,循环结束。
循环结束后,np=4(最小值节点索引),nq=3(其前驱索引)。由于np != head(4 != 0),执行移动操作:a[nq][1] = a[np][1] → a[3][1] = a[4][1] = -1,所以索引 3 的节点变为 [12,-1]。a[np][1] = head → a[4][1] = 0,所以索引 4 的节点变为 [6,0]。head = np = 4(头节点更新为索引 4)。修改后,a 的内容为:[[8,1], [15,2], [16,3], [12,-1], [6,0]]。 因此,本题选择A。
二、非选择题(本大题共3小题,第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某新能源公司发展了高速公路服务区新能源充电站的运维业务,经营的利润由收入和成本相减所得,其中成本包括电力采购成本、人工管理成本和设备维修成本等,同样收入也会由多种类型组成。在实际经营过程中,发现成本和收入的变化都具有周期性规律,为了优化运维工作,数据分析人员采集了近一个月的每日成本和收入数据,设计算法找出当月最大利润期(最大利润期:利润和最大的连续日期区间)。
(1)当月第一周的成本数据为21,22,20,28,21,27,32;收入数据为15,20,30,22,35,30,47.则这周最大利润期的天数是_____。
(2)编写Python实现读取当月成本数据和收入数据,输出当月最大利润期的日期范围,程序运行结果如下图所示。
当月成本数据:
[38,25,21,49,21,22,29,28,15,17,29,41,49,40,35,35,45,40,19,50,46,35,21,21,15,20,33,28,39,39]
当月收入数据:
[22,24,27,41,20,40,21,44,35,40,31,21,32,24,21,37,28,24,32,21,28,32,31,23,34,29,36,31,29,41]
最大利润期:
位置:第6天到第11天
上述功能部分Python程序如下,请在划线处填入合适的代码。
#读取当月成本数据存储到列表cost中,收入数据存储到列表income中,并输出列表cost和列表income代码略
n = len(cost)
s = [0] *n
s[0] = income[0] - cost[0]
for i in range(1, n): #列表s存储当月累计利润总和, s[i]指从第1天到第i+1天的利润之和
s[i] =①____
max_sum= s[0] #初始化最大和为第一个元素
start=0
end=0
#遍历所有可能的子序列结束位置
for j in range(n):
if s[j] > max sum:
max sum = s[j]
②____
end = j
#检查从中间位置到当前位置的子序列
for i in range(j):
current_sum = s[j] - s[i]
if current sum > max_sum:
③____
start= i +1
end= j
print("最大利润期:")
print("位置:第{}天到第{}天". format(start+1, end+1))
【答案】 ①. 5 ②. s[i-1] + income[i] - cost[i] ③. start =0 ④. max_sum=current_sum
【解析】
【详解】本题考查算法应用。本题是最大子序和问题,通过分析成本、收入数据计算利润,再利用动态规划与遍历结合的方式找出最大利润期。
(1)步骤 1:计算每日利润(收入 - 成本 ):利润数据 = [15-21, 20-22, 30-20, 22-28, 35-21, 30-27, 47-32] → [-6, -2, 10, -6, 14, 3, 15]。步骤 2:找利润和最大的连续子序列: 计算所有连续子序列的和:[-6] → -6;[-6,-2] → -8;[-6,-2,10] → 2;[-6,-2,10,-6] → -4;[-6,-2,10,-6,14] → 10;[-6,-2,10,-6,14,3] → 13;[-6,-2,10,-6,14,3,15] → 28;单独子序列如 [10] →10;[10,-6] →4;[10,-6,14] →18;[10,-6,14,3] →21;[10,-6,14,3,15] →36(最大 )。 最大和的连续子序列是 [10,-6,14,3,15],对应天数为 5 天(从第 3 天到第 7 天 )。答案:5。
(2)程序使用前缀和数组 s 存储累计利润总和,并通过遍历所有可能的子序列结束位置 j,检查以 j 结束的子序列和(通过 s[j] - s[i] 计算)来找到最大利润区间。①:计算累计利润总和,s[i] 表示从第1天(索引0)到第i+1天(索引i)的利润总和。因此,s[i] = s[i-1] + income[i] - cost[i]。②:当 s[j](从头到第j+1天的和)大于当前最大和 max_sum 时,更新最大和并设置起始位置为0(因为序列从头开始)。因此,start = 0。③:在内部循环中,当计算出的子序列和 current_sum(对应从第i+2天到第j+1天)大于当前最大和 max_sum 时,更新最大和。因此,max_sum = current_sum。
14. 某校引进了校园安全管理系统,该系统具备门禁管理功能。学校预先将学籍管理系统内的照片数据导入至安全系统的图像数据库中。通过在校门口安装的AI摄像头,系统能自动捕捉进出人员的面部特征,并与数据库中的图像数据进行匹配。检测到身份核验通过的校内人员时,闸机自动放行。此外,该系统能实时记录学生的到校和离校时间,并据此生成考勤报告,为学校管理提供数据支持。该系统结构示意图如图a所示。
(1)根据该系统的功能要求,图中①、②处的设备名称分别是_____(单选,填字母:A.AI摄像头、闸机/B.闸机、AI摄像头)。
(2)下列有关该系统的说法,正确的是_____(多选,填字母)
A.该系统的架构为C/S模式
B.为保证数据资源的安全,需要为班主任、行政教师、科任教师等设置不同的访问权限
C.选择数据管理系统属于前期准备中的详细设计
D.搭建完该系统后,需要进行软件测试、硬件测试、网络测试等。
(3)该系统服务器的IP地址为“192.168.10.16”,端口号为“8000”,若要查看AI摄像头采集的数据,应访问的页面地址是http://______
(4)在系统测试阶段,学校发现存在部分特定学生无法识别的现象,造成这种现象的原因不可能是_____(单选,填字母)
A.预先导入的图像数据分辨率较低 B.识别算法的阈值设置过高
C.背景人流密集导致误检 D. IOT模块停止工作
(5)为排查故障原因,管理人员将3月份第一周的考勤异常数据导出为“异常名单.xlsx”文件,如图b所示,并统计各班“未识别”的学生数量制作成图表,如图c所示,部分程序如下。
import pandas as pd
import matplotlib. pyplot as plt
plt. rcParams["font. sans-serif"]="SimHei" #绘制图表支持显示中文
df = pd. read_excel("异常名单. xlsx")
df1=
df2= df1. groupby("班级", as index= True). count( )
df2= df2. rename(columns={"学号":"未识别人数"})
df3= df2. sort values("未识别人数", ascending= False)
x =②____
y = df3["未识别人数"]
plt. bar(x,y)
plt. title("三月第1周各班未识别人数")
plt. show()
①加框处代码应为:_____(单选,填字母)
A. df["考勤状态"]=="未识别" B. df["考勤状态"=="未识别"]
C. df[df["考勤状态"]=="未识别"] D. df[df["考勤状态"]]=="未识别"
②请在划线处填入合适的代码。
【答案】 ①. A ②. BD ③. 192.168.10.16:8000/view ④. D ⑤. df3. index ⑥. C
【解析】
【详解】本题考查搭建信息系统和pandas数据分析。
(1)①处是数据采集端,系统通过 AI 摄像头捕捉面部特征,所以①为 AI 摄像头;②处是执行设备,身份核验通过后闸机自动放行,所以②为闸机。答案:A。
(2)A 错误:系统通过浏览器访问 Web 服务器,属于B/S 模式(浏览器 / 服务器 ),而非 C/S(客户端 / 服务器 )。B 正确:不同角色(班主任、教师等 )需不同访问权限,保障数据安全。C 错误:选择数据管理系统属于系统设计阶段(如数据库选型 ),详细设计侧重模块逻辑。D 正确:系统搭建后需全面测试(软件、硬件、网络 ),确保功能正常。答案:BD。
(3)查看 AI 摄像头数据的页面是 “页面 2”,访问路径为 /view ,结合服务器 IP 192.168.10.16 和端口 8000 ,地址为:http://192.168.10.16:8000/view。
(4)A 可能:图像分辨率低会导致识别失败。B 可能:阈值过高会过滤正常识别,导致无法识别。C 可能:背景人流密集干扰识别,属于误检,误检是识别错误,并非无法识别。D 不可能:IOT 模块停止工作会导致数据无法传输,系统无法获取摄像头数据,直接无识别,而非 “部分特定学生无法识别”(IOT 故障是全局无数据,不是特定学生问题 )。答案:D。
(5)①处:筛选 “考勤状态 == 未识别” 的数据,Pandas 语法为 df[df["考勤状态"]=="未识别"] ,选 C。②处:x 轴为班级名称,从 df3 中取索引(因 df3 是按班级分组的结果,索引是班级 ),代码为 df3.index 。
15. 某海鲜加工厂有若干种生鲜货物存储在冷库中,冷库中有n个超低温速冻柜(编号为0到n-1),每个速冻柜存放1件货物。入库出库操作数据存放在记事本文件data. txt中,如图a所示,每一行包含3个数据,分别是货物名称、操作类型和货物数量。在执行入库和出库操作时,遵循以下几条规则。
①考虑到货物的保质期,总是从最早入库的货物开始按序出库。
②考虑到速冻柜在完成出库工作后需要进行清理,最新腾出的空柜总是最后安排入库。
③在入库时,若遇到速冻柜都已存满但还有货物需要入库,则把需要入库的货物暂存在等候区,一旦有速冻柜空出优先将等候区的货物入库。
如有10个速冻柜,执行完data. txt文件中的操作后,冷库中各速冻柜存储货物的现状如下表所示。
0
1
2
3
4
5
6
7
8
9
d
空
a
a
d
d
c
c
c
d
(1)在当前状态下新增两条操作数据:“e, in, 3”,“c, out, 3”,执行完所有入库出库操作后,空闲速冻柜的号码是_____。
(2)定义如下insert_storage(name,length)函数,函数的功能是实现入库操作,参数name指待入库货物的名称,参数length指待入库货物的数量,列表cabinet_node存储了各个速冻柜之间的链式关系,例如cabinet_node[2]的值为5,说明2号速冻柜的后续速冻柜是5号。字典head存储了各类货物在冷库中存放起始速冻库编号和结束速冻柜编号,例如head["empty"]的值为[0,4],说明空闲速冻柜起始编号是0,结束编号是4。请在划线处填入合适的代码。
def insert_storage(name, length):
current = head["empty"][0]
prev = -1
count =0
while current != -1 and count < length:
①____
prev = current
current = cabinet_node[current]
if name not in head:
head[name] = [head["empty"][0], prev]
else:
cabinet node[head[name][1]] = head["empty"][0]
head[name][1] = prev
cabinet node[prev] =-1
head["empty"][0] =②____
if count< length:
waitdata. append([name, "in", length - count])
del head["empty"] #从字典中删除键为“empty”的键值对
(3)编写Python程序,实现读取data. txt中操作数据,实现入库和出库操作,输出各个速冻柜存放货物状态及还需等待存放的货物。程序运行结果如图b所示:
输入速冻柜的个数:8
还需等待存放的货物是:
d 1
当前速冻柜的状态是: ['d', 'd', 'a', 'a', 'c', 'd', 'c', 'c']
图b
部分程序代码如下,请在划线处填入合适的代码。
#定义函数pop_storage (name, length),函数的功能是实现出库操作,参数name是要出库货物的名称,参数length是要出库货物的数量,代码略。
#读取data. txt数据文件
with open("data. txt", encoding=" utf-8") as f:
data = [line. strip(). split(",")for line in f if line. strip()]
n = int(input("输入速冻柜的个数:"))
#初始化速冻柜状态
cabinet_node= list(range(1, n)) + [-1]
cabinet_name = [""] * n
head = {"empty": [0, n -1]}
waitdata= []
i = j =0
while i < len(data) or (" empty" in head and j < len(waitdata)):
if③____:
insert_storage(waitdata[j][0], int(waitdata[j][2]))
j +=1
elif "empty" in head and data[i][1] == "in":
insert_storage(data[i][0], int(data[i][2]))
i +=1
elif data[i][1] == "out":
pop_storage(data[i][0], int(data[i][2]))
i +=1
else:
waitdata. append(data[i])
i +=1
print("还需等待存放的货物是:")
if j == len(waitdata):
print("无")
else:
while j < len(waitdata):
print(waitdata[j][0], waitdata[j][2])
j +=1
# 更新 cabinet name
for key in head:
if key == " empty":
continue
current = head[key][0]
while current != -1:
④____
current = cabinet_node[current]
print("当前速冻柜的状态是:", cabinet_name)
【答案】 ①. 8 ②. count +=1 ③. current ④. "empty" in head and j < len(waitdata) ⑤. cabinet_name[current] = key
【解析】
【详解】本题考查链表。
(1)首先分析初始状态和新增操作: 初始有 10 个速冻柜,执行完data.txt操作后状态已知,新增操作 “e, in, 3”(入库e货物,数量 3 )、“c, out, 3”(出库c货物,数量 3 )。 对于 “c, out, 3”:按照规则①,从最早入库的c开始出库。观察初始状态,c在 6、7、8 号柜,出库 3 个后,6、7、8 号柜变为空闲,空闲起始和结束编号会更新。 对于“e, in, 3”:按照规则②③,先用空柜1;再利用刚空出的 6、7号柜(因最新腾出的空柜最后安排入库)进行入库。 经过模拟操作,最终空闲速冻柜的号码是 8 。
(2)①处:计数count加 1,记录已入库一个货物,因此该空答案为count += 1 。②处:该处功能是更新空闲速冻柜的起始编号,当使用了current号柜等进行入库后,新的空闲起始编号是本次操作结束后current的值(因为current已经遍历到下一个节点,而前面的柜已被占用 ),因此该空答案为current 。
(3)③处: 该处功能是判断是否处理等候区货物,当等候区waitdata有数据(j < len(waitdata) ),并且有空闲速冻柜("empty" in head )时,需要处理等候区货物,因此该空答案为"empty" in head and j < len(waitdata) 。 ④处: 该处功能是更新cabinet_name列表,将对应货物名称填入,根据head中各类货物的链式关系,把key(货物名称 )填入cabinet_name[current],因此该空答案为cabinet_name[current] = key 。
第1页/共1页
学科网(北京)股份有限公司
$$
舟山市2024学年第二学期期末检测
高二技术试题卷
考生须知:
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
1. 智能教育手环是一款创新的可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于智能教育手环的数据处理,说法不正确的是( )
A. 手环监测到的脑电波原始信号属于数据
B. 通过分析心率数据可识别学生情绪和压力反应属于信息加工
C. 学习报告在不同设备间传输时可以不依附于载体
D. 当血氧饱和度低于90%时可能损害注意力,这是知识的体现
2. 智能教育手环是一款创新的可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于该校大数据平台的处理过程,说法正确的是( )
A. 手环每秒钟产生的实时数据适合进行批处理计算 B. 需先清洗异常血氧数据再进行特征提取
C. 分析时只需抽样20%学生的数据即可保证准确性 D. 该平台处理的数据均为结构化数据
3. 智能教育手环是一款创新的可穿戴学习设备。它通过多模态传感器实时监测和采集学生生理数据(如心率、血氧、脑电波等),结合AI算法对师生的课堂互动行为进行量化评估,实时分析学生的学习状态。设备还具有自然语音交互功能,支持师生智能化互动,其大数据分析平台可通过整合历史数据,自动生成个性化的学习诊断报告。关于该系统的AI技术,说法正确的是( )
A. 语音交互功能无需依靠联结主义算法实现
B. 系统决策完全不受训练数据偏差影响
C 脑电波模式识别不属于人工智能范畴
D. 该AI技术的研发与应用融合了多学科交叉的前沿理论
4. 2021年9月,浙江省发布“一体化数字资源系统”(Integrated Resources System,简称IRS),其中的“浙里办”为基层群众提供了随时查缴社保、缴纳学费等各项服务。此外,“浙里办”还提供了“长辈版”,让老年人在信息化的“快”时代里,感受到了“慢”关怀。下列关于IRS系统和“浙里办”的描述,正确的是( )
A. IRS系统由硬件、软件、数据和用户组成
B. “浙里办”APP是一款为了特定用途而开发的应用软件
C. “长辈版”的提供是为了降低系统对外部环境的依赖性
D. “浙里办”不属于信息社会“在线政府”的范畴
5. 2021年9月,浙江省发布“一体化数字资源系统”(Integrated Resources System,简称IRS),其中的“浙里办”为基层群众提供了随时查缴社保、缴纳学费等各项服务。此外,“浙里办”还提供了“长辈版”,让老年人在信息化的“快”时代里,感受到了“慢”关怀。下列关于IRS系统中网络技术的说法,正确的是( )
A. 该系统的网络资源不包括硬件资源 B. 该系统只能被同一个局域网内的用户访问
C. 客户端与服务器之间的数据通信仅需遵守IP协议 D. 移动终端可以使用移动通信网络访问该系统
6. 算式110101B+36D的运算结果是( )
A. 89D B. 57H C. 1011101B D. 1001101B
7. 某校举办了一场才艺比赛。在初赛中,评委根据选手的表演进行打分(S),若选手得分达到80分及以上,则进入决赛;若得分低于80分,则被淘汰。现共有20位选手参赛,统计晋级学生人数的部分流程图如图所示,有如下表达式:
①i≤n? ②i>n? ③S<80? ④S≥80? ⑤c=c+1
则(1)-(3)处表达式序号依次为( )
A. ①③⑤ B. ①④⑤ C. ②⑤③ D. ②④⑤
8. 下列Python表达式的结果值最小的是( )
A. 3* (5-2) +1 B. abs(ord("b") - ord("d"))// len("AI")
C. random. randint(0,8) -2**3 D. 7%4+ len("Hi!")
9. 下列关于栈和队列的说法,正确的是( )
A. 队列的插入和删除操作分别在两端进行,而栈的插入和删除操作均在栈顶进行
B. 栈和队列都是线性数据结构,且栈的删除操作可以在任意位置进行
C. 栈的运算规则是先进先出,队列的运算规则是后进先出
D. 栈和队列都可以直接访问中间元素,但无法访问首尾元素
10. 有如下Python程序段:
mw = "mkgysa"
st = "325041"
n = len(st)
a = [""] * n
i =0
while i < n:
t = int(st[i])
a[t] = mw[i]
i +=1
result =''. join(a) #将列表转换为字符串
运行该程序段后,result的值为( )
A. "yakmsg" B. "gsmkay" C. "msgyak" D. "aymkgs"
11. 有如下Python程序段:
from random import randint
a = [0] *6
i =0
while i <6:
a[i] = randint(1,5) *2+1
if i >0 and a[i-1] %2==0:
a[i] +=2
elif i %2==1:
a[i] += a[i-1]
i +=1
运行该程序段后,a的值可能为( )
A. [9,14,5,16,13,25] B. [7,18,3,6,7,20] C. [12,11,8,9,4,21] D. [5,10,9,18,13,16]
12. 有如下Python程序段:
a=[[8,1], [15,2], [16,3], [12,4], [6,-1]]
head = p = q =0
np = nq = head
while p != -1:
if a[p][0] < a[np][0]:
np = p
nq = q
q = p
p = a[p][1]
if np != head:
a[nq][1] = a[np][1]
a[np][1] = head
head = np
运行该程序段后,a的值为( )
A. [[8,1], [15,2], [16,3], [12,-1], [6,0]] B. [[8,3], [15,2], [16,-1], [12,1], [6,0]]
C. [[8,1], [15,3], [16,0], [12,4], [6,-1]] D. [[8,4], [15,3], [16,1], [12,0], [6,-1]]
二、非选择题(本大题共3小题,第13小题7分,第14小题10分,第15小题9分,共26分)
13. 某新能源公司发展了高速公路服务区新能源充电站的运维业务,经营的利润由收入和成本相减所得,其中成本包括电力采购成本、人工管理成本和设备维修成本等,同样收入也会由多种类型组成。在实际经营过程中,发现成本和收入的变化都具有周期性规律,为了优化运维工作,数据分析人员采集了近一个月的每日成本和收入数据,设计算法找出当月最大利润期(最大利润期:利润和最大的连续日期区间)。
(1)当月第一周的成本数据为21,22,20,28,21,27,32;收入数据为15,20,30,22,35,30,47.则这周最大利润期的天数是_____。
(2)编写Python实现读取当月成本数据和收入数据,输出当月最大利润期的日期范围,程序运行结果如下图所示。
当月成本数据:
[38,25,21,49,21,22,29,28,15,17,29,41,49,40,35,35,45,40,19,50,46,35,21,21,15,20,33,28,39,39]
当月收入数据:
[22,24,27,41,20,40,21,44,35,40,31,21,32,24,21,37,28,24,32,21,28,32,31,23,34,29,36,31,29,41]
最大利润期:
位置:第6天到第11天
上述功能的部分Python程序如下,请在划线处填入合适的代码。
#读取当月成本数据存储到列表cost中,收入数据存储到列表income中,并输出列表cost和列表income,代码略
n = len(cost)
s = [0] *n
s[0] = income[0] - cost[0]
for i in range(1, n): #列表s存储当月累计利润总和, s[i]指从第1天到第i+1天的利润之和
s[i] =①____
max_sum= s[0] #初始化最大和为第一个元素
start=0
end=0
#遍历所有可能的子序列结束位置
for j in range(n):
if s[j] > max sum:
max sum = s[j]
②____
end = j
#检查从中间位置到当前位置的子序列
for i in range(j):
current_sum = s[j] - s[i]
if current sum > max_sum:
③____
start= i +1
end= j
print("最大利润期:")
print("位置:第{}天到第{}天". format(start+1, end+1))
14. 某校引进了校园安全管理系统,该系统具备门禁管理功能。学校预先将学籍管理系统内的照片数据导入至安全系统的图像数据库中。通过在校门口安装的AI摄像头,系统能自动捕捉进出人员的面部特征,并与数据库中的图像数据进行匹配。检测到身份核验通过的校内人员时,闸机自动放行。此外,该系统能实时记录学生的到校和离校时间,并据此生成考勤报告,为学校管理提供数据支持。该系统结构示意图如图a所示。
(1)根据该系统功能要求,图中①、②处的设备名称分别是_____(单选,填字母:A.AI摄像头、闸机/B.闸机、AI摄像头)。
(2)下列有关该系统的说法,正确的是_____(多选,填字母)
A.该系统的架构为C/S模式
B.为保证数据资源的安全,需要为班主任、行政教师、科任教师等设置不同的访问权限
C.选择数据管理系统属于前期准备中的详细设计
D.搭建完该系统后,需要进行软件测试、硬件测试、网络测试等。
(3)该系统服务器的IP地址为“192.168.10.16”,端口号为“8000”,若要查看AI摄像头采集的数据,应访问的页面地址是http://______
(4)在系统测试阶段,学校发现存在部分特定学生无法识别的现象,造成这种现象的原因不可能是_____(单选,填字母)
A.预先导入的图像数据分辨率较低 B.识别算法的阈值设置过高
C.背景人流密集导致误检 D. IOT模块停止工作
(5)为排查故障原因,管理人员将3月份第一周的考勤异常数据导出为“异常名单.xlsx”文件,如图b所示,并统计各班“未识别”的学生数量制作成图表,如图c所示,部分程序如下。
import pandas as pd
import matplotlib. pyplot as plt
plt. rcParams["font. sans-serif"]="SimHei" #绘制图表支持显示中文
df = pd. read_excel("异常名单. xlsx")
df1=
df2= df1. groupby("班级", as index= True). count( )
df2= df2. rename(columns={"学号":"未识别人数"})
df3= df2. sort values("未识别人数", ascending= False)
x =②____
y = df3["未识别人数"]
plt. bar(x,y)
plt title("三月第1周各班未识别人数")
plt. show()
①加框处代码应为:_____(单选,填字母)
A. df["考勤状态"]=="未识别" B. df["考勤状态"=="未识别"]
C. df[df["考勤状态"]=="未识别"] D. df[df["考勤状态"]]=="未识别"
②请在划线处填入合适的代码。
15. 某海鲜加工厂有若干种生鲜货物存储在冷库中,冷库中有n个超低温速冻柜(编号为0到n-1),每个速冻柜存放1件货物。入库出库操作数据存放在记事本文件data. txt中,如图a所示,每一行包含3个数据,分别是货物名称、操作类型和货物数量。在执行入库和出库操作时,遵循以下几条规则。
①考虑到货物的保质期,总是从最早入库的货物开始按序出库。
②考虑到速冻柜在完成出库工作后需要进行清理,最新腾出的空柜总是最后安排入库。
③在入库时,若遇到速冻柜都已存满但还有货物需要入库,则把需要入库的货物暂存在等候区,一旦有速冻柜空出优先将等候区的货物入库。
如有10个速冻柜,执行完data. txt文件中的操作后,冷库中各速冻柜存储货物的现状如下表所示。
0
1
2
3
4
5
6
7
8
9
d
空
a
a
d
d
c
c
c
d
(1)在当前状态下新增两条操作数据:“e, in, 3”,“c, out, 3”,执行完所有入库出库操作后,空闲速冻柜的号码是_____。
(2)定义如下insert_storage(name,length)函数,函数的功能是实现入库操作,参数name指待入库货物的名称,参数length指待入库货物的数量,列表cabinet_node存储了各个速冻柜之间的链式关系,例如cabinet_node[2]的值为5,说明2号速冻柜的后续速冻柜是5号。字典head存储了各类货物在冷库中存放起始速冻库编号和结束速冻柜编号,例如head["empty"]的值为[0,4],说明空闲速冻柜起始编号是0,结束编号是4。请在划线处填入合适的代码。
def insert_storage(name, length):
current = head["empty"][0]
prev = -1
count =0
while current != -1 and count < length:
①____
prev = current
current = cabinet_node[current]
if name not in head:
head[name] = [head["empty"][0], prev]
else:
cabinet node[head[name][1]] = head["empty"][0]
head[name][1] = prev
cabinet node[prev] =-1
head["empty"][0] =②____
if count< length:
waitdata. append([name, "in", length - count])
del head["empty"] #从字典中删除键为“empty”的键值对
(3)编写Python程序,实现读取data. txt中操作数据,实现入库和出库操作,输出各个速冻柜存放货物状态及还需等待存放的货物。程序运行结果如图b所示:
输入速冻柜的个数:8
还需等待存放的货物是:
d 1
当前速冻柜的状态是: ['d', 'd', 'a', 'a', 'c', 'd', 'c', 'c']
图b
部分程序代码如下,请在划线处填入合适的代码。
#定义函数pop_storage (name, length),函数的功能是实现出库操作,参数name是要出库货物的名称,参数length是要出库货物的数量,代码略。
#读取data. txt数据文件
with open("data. txt", encoding=" utf-8") as f:
data = [line. strip(). split("")for line in f if line. strip()]
n = int(input("输入速冻柜的个数:"))
#初始化速冻柜状态
cabinet_node= list(range(1, n)) + [-1]
cabinet_name = [""] * n
head = {"empty": [0, n -1]}
waitdata= []
i = j =0
while i < len(data) or (" empty" in head and j < len(waitdata)):
if③____:
insert_storage(waitdata[j][0], int(waitdata[j][2]))
j +=1
elif "empty" in head and data[i][1] == "in":
insert_storage(data[i][0], int(data[i][2]))
i +=1
elif data[i][1] == "out":
pop_storage(data[i][0] int(data[i][2]))
i +=1
else:
waitdata. append(data[i])
i +=1
print("还需等待存放的货物是:")
if j == len(waitdata):
print("无")
else:
while j < len(waitdata):
print(waitdata[j][0], waitdata[j][2])
j +=1
# 更新 cabinet name
for key in head:
if key == " empty":
continue
current = head[key][0]
while current != -1:
④____
current = cabinet_node[current]
print("当前速冻柜的状态是:", cabinet_name)
第1页/共1页
学科网(北京)股份有限公司
$$