内容正文:
绍兴市高三下学期三模信息技术试题
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 室外智能健身器材能提供多种健身方式,它通过语音识别实现人机交互,利用多个传感器采集用户运动数据,并向用户提供运动报告,引导用户进行科学、有效的锻炼。关于室外智能健身器材使用中的数据和信息,以下说法正确的是( )
A. 多个传感器采集到的数据表现形式一定相同 B. 运动报告是对用户运动数据进行处理、分析后获得
C. 同一用户多次使用器材时获得的运动报告是相同的 D. 单次运动报告对用户的锻炼具有长期引导意义
【答案】B
【解析】
【详解】本题考查数据和信息。 A 选项错误,多个传感器采集到的数据表现形式不一定相同。 B 选项正确,运动报告是对用户运动数据进行处理、分析后获得的,通过对采集到的各种数据进行综合分析,得出关于用户运动情况的总结和建议。 C 选项错误,同一用户多次使用器材时,由于每次运动的状态、强度等不同,获得的运动报告通常是不同的。 D 选项错误,单次运动报告主要反映当次运动的情况,对用户当次锻炼有指导意义,但对长期锻炼的引导意义相对有限,用户需要综合多次运动报告来调整长期的锻炼计划。 因此,本题选择 B 选项。
2. 室外智能健身器材能提供多种健身方式,它通过语音识别实现人机交互,利用多个传感器采集用户运动数据,并向用户提供运动报告,引导用户进行科学、有效的锻炼。室外智能健身器材使用过程中,涉及人工智能技术应用的是( )
A. 为用户提供多种健身方式 B. 利用传感器采集用户运动数据
C. 通过语音识别实现人机交互 D. 将运动报告发送给用户
【答案】C
【解析】
【详解】本题考查人工智能。 A 选项错误,为用户提供多种健身方式,这主要是基于健身器材的机械结构设计以及功能设置来实现的,不涉及人工智能的算法、机器学习等技术。 B 选项错误,利用传感器采集用户运动数据,传感器只是将用户运动的相关物理量转化为电信号等可处理的数据,属于数据采集范畴。 C 选项正确,通过语音识别实现人机交互,语音识别是人工智能领域的重要技术之一,它需要让计算机对人类的语音信号进行识别、理解,并做出相应的反应,涉及到模式识别、深度学习等人工智能相关技术。 D 选项错误,将运动报告发送给用户,这一过程主要是关于数据的传输和展示,把已经处理好的运动数据以报告的形式呈现给用户。 因此,本题选择 C 选项。
3. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。下列关于该信息系统功能的说法,正确的是( )
A. 让用户查看住宿、票务等信息,体现了数据收集功能
B. 让用户修改订单,体现了数据输出功能
C. 支持在线支付,体现了数据查询功能
D. 向用户个性化推荐,体现了数据加工处理功能
【答案】D
【解析】
【详解】本题考查信息系统功能。 A 选项错误,让用户查看住宿、票务等信息,体现的是数据输出功能,将存储在系统中的数据展示给用户,而不是数据收集功能。 B 选项错误,让用户修改订单,体现的是数据处理功能,用户修改订单后,系统需要对相关数据进行更新处理。 C 选项错误,支持在线支付,体现的是数据处理功能,系统需要处理支付相关的业务逻辑,如验证支付信息、更新订单状态等,而不是数据查询功能。 D 选项正确,向用户个性化推荐,是系统根据用户的历史搜索记录和偏好等数据进行分析、挖掘和处理,从而得出个性化的推荐结果,体现了数据加工处理功能。 因此,本题选择 D 选项。
4. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。为确保该系统信息安全,下列做法合理的是( )
A. 无需身份认证便捷登录账户 B. 共享包含用户订单内容的数据
C. 输入动态口令完成下单支付 D. 在订单评价中显示个人敏感信息
【答案】C
【解析】
【详解】本题考查信息安全。 A 选项错误,无需身份认证便捷登录账户会使系统存在安全风险,容易导致用户账户被他人冒用,无法保障用户信息安全。 B 选项错误,共享包含用户订单内容的数据会泄露用户的个人信息和消费记录,侵犯用户隐私,不符合信息安全要求。 C 选项正确,输入动态口令完成下单支付可以增加支付环节的安全性,有效防止支付信息被窃取或冒用,保障用户资金安全。 D 选项错误,在订单评价中显示个人敏感信息会导致用户敏感信息暴露,存在被不法分子利用的风险,不利于保护用户信息安全。 因此,本题选择 C 选项。
5. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。为了给用户提供更好的使用体验,下列做法不合理的是( )
A. 支持单一网络通信以提高访问速度 B. 提升系统服务器的硬件设备性能
C. 完善住宿、票务等数据 D. 检测更新系统网站和APP
【答案】A
【解析】
【详解】本题考查信息系统。 A 选项错误,支持单一网络通信存在较大风险,若该网络出现故障,用户将无法正常访问系统,会严重影响用户体验,并且单一网络通信不一定能提高访问速度,可能会因网络拥堵等问题导致访问缓慢,应支持多种网络通信方式以保障系统的可用性和稳定性。 B 选项正确,提升系统服务器的硬件设备性能,能够提高系统的响应速度,减少用户等待时间,处理更多的并发请求,从而为用户提供更流畅的使用体验。 C 选项正确,完善住宿、票务等数据,能为用户提供更准确、详细、丰富的信息,使用户在查询和预订时能更好地做出选择,满足用户需求,进而提升用户体验。 D 选项正确,检测更新系统网站和 APP,可以修复可能存在的漏洞,优化功能和界面,提升系统的安全性和稳定性,同时不断增加新的功能和特性,以适应市场变化和用户需求,给用户带来更好的使用感受。 因此,本题选择 A 选项。
6. 设定待发送的3位二进制数据为a0a1a2,则相应传输数据为h0a0a1a2h1,其中h0=a0a1,h1=h0a2,运算规则为:00=0,01=1,10=1,11=0,例如待发送数据为111,则传输数据为01111。现有某待发送的3位二进制数据,则相应传输数据发生错误的是( )
A. 11010 B. 01100 C. 10111 D. 00011
【答案】C
【解析】
【详解】本题考查二进制。 A 选项,对于传输数据 11010,假设待发送的 3 位二进制数据为 a0a1a2,即 a0 = 1,a1 = 0,a2 = 1。根据规则 h0 = a0 ⊕ a1 ,则 h0 = 1 ⊕ 0 = 1,h1 = h0 ⊕ a2 ,则 h1 = 1 ⊕ 1 = 0,原传输数据中 h0 为 1,h1 为 0,与计算结果相符,所以该传输数据正确。 B 选项,对于传输数据 01100,假设待发送的 3 位二进制数据为 a0a1a2,即 a0 = 1,a1 = 1,a2 = 0。根据规则 h0 = a0 ⊕ a1 ,则 h0 = 1 ⊕ 1 = 0,h1 = h0 ⊕ a2 ,则 h1 = 0 ⊕ 0 = 0,原传输数据中 h0 为 0,h1 为 0,与计算结果相符,所以该传输数据正确。 C 选项,对于传输数据 10111,假设待发送的 3 位二进制数据为 a0a1a2,即 a0 = 0,a1 = 1,a2 = 1。根据规则 h0 = a0 ⊕ a1 ,则 h0 = 0 ⊕ 1 = 1,h1 = h0 ⊕ a2 ,则 h1 = 1 ⊕ 1 = 0,原传输数据中 h1 为 1,与计算结果 h1 = 0 不相符,所以该传输数据发生错误。 D 选项,对于传输数据 00011,假设待发送的 3 位二进制数据为 a0a1a2,即 a0 = 0,a1 = 0,a2 =1。根据规则 h0 = a0 ⊕ a1 ,则 h0 = 0 ⊕ 0 = 0,h1 = h0 ⊕ a2 ,则 h1 = 0 ⊕1 = 1,原传输数据中 h0 为 0,h1 为 1,与计算结果相符,所以该传输数据正确。因此,本题选择 C 选项。
7. 计算数学表达式 s=1/2-2/3+3/5-5/8+8/13……的前n项之和。表示该算法的部分流程图如图所示,则框内语句正确的是( )
A. B. C. D.
【答案】D
【解析】
【详解】本题考查流程图。观察表达式s=1/2-2/3+3/5-5/8+8/13… ,可以发现:分子从第二项起,每一项的分子是前一项的分母。分母从第二项起,每一项的分母是前一项分子与分母之和。而分子是变量x,分母是变量y;框内语句是分子,分母的计算,所以正确表达式为“c←x ,x←y ,y←y+c”,先将 x 的值赋给 c 暂存,再将 y 的值赋给 x ,最后更新 y 的值为y与c之和 。因此,本题选择D选项。
8. 利用队列实现字符串换位加密,列表k中各元素依次为加密过程中的操作,p表示出队,q表示出队后入队。加密结果为出队元素顺序,若队列中元素从队首至队尾依次为“t”“r”“a”“i”“n”,k为[q,p,q,q,p,p,q,p,p],则加密后的出队结果为( )
A. “tanri” B. “niart” C. “ritan” D. “rntia”
【答案】D
【解析】
【详解】本题考查队列操作。根据给定的队列和操作序列进行逐步分析:
初始队列:队列中元素从队首至队尾依次为 “t”“r”“a”“i”“n” 。
第一次操作 “q”:队首元素 “t” 出队后再入队,此时队列变为 “r”“a”“i”“n”“t” 。
第二次操作 “p”:队首元素 “r” 出队,出队结果增加 “r” ,此时队列变为 “a”“i”“n”“t” 。
第三次操作 “q”:队首元素 “a” 出队后再入队,此时队列变为 “i”“n”“t”“a” 。
第四次操作 “q”:队首元素 “i” 出队后再入队,此时队列变为 “n”“t”“a”“i” 。
第五次操作 “p”:队首元素 “n” 出队,出队结果增加 “n” ,此时队列变为 “t”“a”“i”。
第六次操作 “p”:队首元素 “t” 出队,出队结果增加 “t” ,此时队列变为 “a”“i” 。
第七次操作 “q”:队首元素 “a” 出队后再入队,此时队列变为 “i”“a” 。
第八次操作 “p”:队首元素 “i” 出队,出队结果增加 “i” ,此时队列变为 “a” 。
第九次操作 “p”:队首元素 “a” 出队,出队结果增加 “a” 。
经过以上操作,出队结果为 “r”“n”“t”“i”“a” ,即 “rntia” 。
因此,本题选择D选项。
9. 某完全二叉树包含节点A、B、C、D、E、F,其中A为根节点,C、D、F为叶子节点,则该完全二叉树的前序遍历结果不可能为( )
A. ABDCEF B. AFBCDE C. AECDBF D. ABCFED
【答案】B
【解析】
【详解】本题考查二叉树。完全二叉树的特点是:除了最后一层外,每一层上的节点数都达到最大值;在最后一层上只缺少右边的若干节点。B选项不可能,某完全二叉树包含节点A、B、C、D、E、F,A为根节点,由于CDF为叶子节点,那么CDF一定在该二叉树的第三层;而根据前序遍历AFBCDE,那么A的左子节点为F,F在二叉树的第二层,这与题意矛盾。因此,本题选择B选项。
10. 定义如下函数:
def f(n,c):
if n<=c:
return 1
else:
return f(n//c,c)+2*c
执行语句rt=f(17,2),函数f被调用的次数是( )
A. 7 B. 6 C. 5 D. 4
【答案】D
【解析】
【详解】本题考查函数的递归调用。逐步分析函数f(n,c)的调用过程:
初始调用f(17,2): 此时n=17,c=2,因为17>2,不满足n<=c,所以执行returnf(n//c,c)+2∗c,即f(17//2,2)+2∗2=f(8,2)+4,这是第一次递归调用。
第一次递归调用f(8,2): 此时n=8,c=2,因为8>2,不满足n<=c,所以执行returnf(n//c,c)+2∗c,即f(8//2,2)+2∗2=f(4,2)+4,这是第二次递归调用。
第二次递归调用f(4,2): 此时n=4,c=2,因为4>2,不满足n<=c,所以执行returnf(n//c,c)+2∗c,即f(4//2,2)+2∗2=f(2,2)+4,这是第三次递归调用。
第三次递归调用f(2,2): 此时n=2,c=2,因为2=2,满足n<=c,所以执行return 1。
综上,函数f被调用了1+3=4次。
因此,本题选择D选项。
11. 数组元素s[0]~s[5]为随机正整数,执行如下Python程序段后,s[0]~s[5]的值可能为( )
for i in range(5):
for j in range(5, i, -1):
if s[j]%2<s[j-1]%2:
s[j],s[j-1]=s[j-1],s[j]
A. 6,2,1,3,7,7 B. 1,3,5,7,9,2 C. 10,8,6,3,2,1 D. 1,2,5,5,6,7
【答案】A
【解析】
【详解】本题考查数据排序。该程序是冒泡排序变式,交换位置的条件是元素的奇偶性比较,若前一个元素对2取余的结果大于后一个元素对2取余的结果,即前一个元素为奇数,后一个元素为偶数,则交换两数位置,因此,排序结束后,前面元素全为偶数,后面元素全为奇数;因此,本题选择A选项。
12. 给定长度为n的数组ts,为每个元素 ts[i]在其后寻找首个更大元素ts[j]。若找到,则将两者位置距离存入ans[i],否则,ans[i]的值为0。例如数组ts为[33,34,35,31,29,32,36,33],则数组 ans 为[1,1,4,2,1,1,0,0]。实现该功能的程序段如下,方框处应填入的代码是( )
ans=[0]*n
s=[0]*n
top=-1
for i in range(n):
t=ts[i]
while top >= 0 and t > ts[s[top]]:
j=s[top]
top-=1
top+=1
s[top]=i
A. ans[i]=j-i B. ans[i]+=1 C. ans[j]=i-j D. ans[i-j]+=1
【答案】C
【解析】
【详解】本题考查单调栈算法在寻找数组中首个更大元素问题中的应用。 程序通过维护一个栈s存储尚未找到后续更大元素的元素索引,当遍历到当前元素ts[i]时,若其值大于栈顶元素ts[s[top]],则说明栈顶元素的首个更大元素为当前元素,需弹出栈顶索引j并计算距离i-j存入ans[j](即ans[j] = i - j)。因此,本题选择C选项。
二、非选择题(本题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 某农科院将实验田自左往右分为m块地(编号依次为0~m-1),每块地配置一个喷灌装置。灌溉系统定期测量所有地块的水量值(非负整数),然后自左起地块开始检查:若某地块当前水量值小于1则开启喷灌:自身水量增加2、左右相邻地块水量各增加1,随后关闭喷灌装置;接着进行下去,直到m块地的水量值均不小于1。
(1)若m=12,灌溉系统某次测量中,编号0~11的各地块的水量值依次为0,0,1,2,1,0,1,0,2,1,1,0,则需开启喷灌装置的数量为______。
(2)模拟上述功能部分Python程序如下,请在划线处填入合适的代码。
while True:
#定期测量编号为0~m-1的各块地的水量值,依次存入a[0]~a[m-1]
i=0
while i<m:
if ______:
#开启灌溉装置,代码略
if i==0:
a[i+1]+=1
elif i<m-1:
a[i-1]+=1
a[i+1]+=1
else:
a[i-1]+=1
_______
#关闭喷灌装置,代码略
i=i+2
else:
______
【答案】 ①. 4 ②. a[i]==0 ③. a[i]=a[i]+2 ④. i=i+1
【解析】
【详解】本题考查Python程序设计综合。
(1)检查地块0:水量0,开启喷灌,更新后水量值变为 [2, 1, 1, 2, 1, 0, 1, 0, 2, 1, 1, 0];检查地块5:水量0,开启喷灌,更新后水量值变为[2, 1, 1, 2, 2, 2, 2, 0, 2, 1, 1, 0];检查地块7:水量0,开启喷灌,更新后水量值变为[2, 1, 1, 2, 2, 2, 3, 2,3, 1, 1, 0];检查地块11:水量0,开启喷灌,更新后水量值变为 [2, 1, 1, 2, 2, 2, 3, 2,3, 1, 2, 1]。故正确答案为:4。
(2)程序中if条件为当该地块需要水量值(非负整数)小于1则开启喷灌,条件为a[i]==0。根据程序可知,当相邻地块的水量更新后,需要更新自身地块水量,故a[i]=a[i]+2。else条件语句块为while循环遍历后,检测下一个地块,故为i=i+1。
14. 某研究小组为学校化学实验搭建了实验环境监测系统,分别为实验组和对照组各设置了1个监测点。监测点的温度、气压传感器与智能终端连接,每间隔10分钟采集一次数据,并通过网络传输至服务器,服务器根据阈值判断环境是否满足实验要求,若出现异常则通过智能终端控制执行器改善环境,并给客户端发送提示信息。请回答下列问题:
(1)对该系统中数据进行处理时,以下做法不正确的是______(单选,填字母)。
A.为每个监测点配备一个智能终端
B.将温度、气压数据只存储于客户端设备中
C.在服务器中编写处理温度、气压数据的程序
(2)研究小组确定系统的开发模式为B/S架构,并基于Flask Web编写该系统服务器程序。
①系统采用B/S架构的优势不包括______(单选,填字母)
A.网络应用程序维护便捷 B.系统服务器负荷量轻 C.便于数据集中管理
②智能终端通过URL向服务器传输监测数据时,需要______(多选)
A.传感器与智能终端型号 B.服务器IP地址 C.对应页面的路由名称 D.服务器中数据库文件名
(3)对不同化学实验进行环境监测时,试从硬件和软件的角度考虑,该系统可能需要进行哪些修改______?
(4)将系统中某天实验监测数据导出到文件ex_data.xlsx中,部分数据如图a所示。实验要求每间隔10分钟采集一次温度、气压数据,因此每个组别每小时含有6个时间点数据(已经按时间先后有序)。现要分别输出当天实验中,实验组和对照组的平均温度、气压值;绘制线形图观察实验组在第1个小时中的温度变化情况(如图b所示)。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt
df-pd.read excel("ex_data.xlsx")
dfl=①______
df2=df1mean() #求平均值
#显示实验组和对照组的平均温度、气压值,代码略
df3=②______
df4=③______
x=④______
y=df4["温度T(℃)"]
plt.plot(x,y)
plt.title("实验组第一个小时的温度变化情况图")
plt.show()
①②③④处可选代码有:
A.df.groupby("类别",as_index=False) #分组统计
B.df1[df1.类别=="实验组"]
C.df3.head(6) #获取前6条记录
D.df.groupby("时间点", as_index=False)
E.df4["时间点"]
F.df4.index
G.df[df.类别=="实验组"]
【答案】 ①. B ②. B ③. BC ④. 更换传感器,修改阈值,更换执行器等 ⑤. A ⑥. G ⑦. C ⑧. E
【解析】
【详解】本题考查Python程序设计。
(1)数据只存储于客户端设备中是不合理的,因为题目明确说通过网络传输至服务器,说明数据需要存储在服务器上,客户端只是接收提示信息。故正确答案为:选项B。
(2)①B/S架构的服务器需要处理所有客户端的请求,负荷较重(相比C/S架构)。因此正确答案为:选项B。②选项A传感器与智能终端型号:URL不涉及硬件信息。选项D数据库文件名:URL不直接暴露数据库信息。故正确答案为:选项BC。
(3)硬件:可能需要增加传感器类型(如湿度、光照等);调整监测点数量(如更多实验组/对照组);升级智能终端或服务器性能(如数据量增大时)。软件:修改阈值判断逻辑(不同实验的环境要求不同);调整数据采集频率(如更频繁或更稀疏);扩展数据处理程序(支持新传感器数据);更新客户端界面(显示更多信息)。
(4)①需计算实验组和对照组的平均值,因此需要按类别分组。故正确答案为:选项A。②需筛选实验组数据,直接从原始数据df中筛选。故正确答案为:选项G。③取实验组前6条记录(第1个小时)。故正确答案为:选项C。④x轴为时间点,可直接用df4["时间点"]。故正确答案为:选项E。
15. 某软件对用户先后两次的运动状况进行评估,两次评估总分之差为其成长分数。针对某次评估,用户的总分由基础分和等级分相加得到。基础分根据用户成绩(0~100之间的整数)所处的成绩区间对应取得,如图所示:等级分由公式(f1+0.5×f2)/n×100计算后向下取整得到,其中,f1为该区间内低于该用户成绩的人数,f2为该区间内等于该用户成绩的人数,n为该区间内的总人数(不包含仅参加一次评估的用户)。
请回答下列问题:
(1)某次评估中,若用户成绩为50,其中,fl为10,f2为4,n为20,则该用户总分为______。
(2)定义如下intersection (lst1,lst2)函数,列表lst1、lst2为先后两次评估的用户成绩数据表,lst1、lst2中的每个元素依次由用户的编号和成绩2个数据项组成,列表均已按用户编号升序排列。函数的功能是筛选出参与了两次评估的用户的索引,结果存lst并返回。
def intersection(lst1, lst2):
lst=[]
i,j=0,0
m1 m2=len(lst1),len(lst2)
while i<m1 and j<m2:
n1,n2=lst1[i][0],lst2[j][0]
if n1==n2: #同一用户在lst1、lst2中的编号保持不变
#为列表lst追加元素[i,j]
i+=1
j+=1
elif n1<n2:
i+=1
else:
j+=1
return lst
若lst1[[1,95],[2,95],[3,78],[4,100],[5,99],[6,100]],lst2为[[2,86],[3,88],[4,99],[5,87],[6,77],[7,65]],执行语句lst=intersection(lst1,lst2)后,请回答问题:
①加框处语句执行的次数是______。
②lst[0]的值为______。
(3)实现计算用户成长分数功能的部分程序如下,请在程序中划线处填入合适的代码。
def proc(lst, ilst, v):
#创建score列表,共101个元素,每个元素的值均为[0,0,-1],代码略
#如果ilst值为lst1,则v=0;如果ilst值为lst2,则v=1
for c in lst:
m=c[v]
_______
score[r][0]+=1
heads=[-1,-1,-1,-1,-1]
w,i=20,0
for j in range(101):
if j>w:
i+=1
w+=20
if score[j][0]!=0:
if heads[i]!=-1:
score[j][0]+=score[heads[i]][0]
_______
heads[i]=j
for i in range(5):
p=heads[i]
if p!=-1:
n=score[p][0]
while p!=-1:
q=score[p][2]
f1=0
if q!=-1:
________
f2=score[p][0]-f1
score[p][1]=i*20+int((f1+0.5 *f2)/n*100)
p=q
return score
’’’
读取先后两次评估的用户成绩数据表数据分别存入lst1、lst2。lst1 和 lst2 的每个元素依次由用户编号和成绩2个数据项组成,lst1、lst2均已按用户编号升序排列,且同一用户在lst1、lst2中的编号保持一致。代码略
’’’
lst=intersection(lst1,lst2)
score1=proc(lst,lst1,0)
score2=proc(lst,lst2,1)
for c in lst:
s=lst1[c[0]][0] #取出用户编号
a=lst1[c[0]][1] #取出先一次评估的用户成绩
b=lst2[c[1]][1] #取出后一次评估的用户成绩
print("用户编号:",s,"用户成长分数:",score2[b][1]-score1[a][1])
【答案】 ①. 100 ②. 5 ③. [1,0] ④. r=ilst[m][1] ⑤. score[j][2]=heads[i] ⑥. f1=score[q][0]
【解析】
【详解】本题考查链表,算法的综合应用。
(1)用户成绩 50,根据成绩区间对应基础分,50 在 41−60 区间,基础分为 40。 等级分计算:(10+0.5*4/)20*100=60(向下取整后仍为 60)。 总分为基础分与等级分之和:40+60=100。
(2)①,加框处语句执行次数: 逐一对比 lst1 和 lst2 中的用户编号,编号 2、3、4、5、6 均匹配,共执行 5 次。②,lst[0] 的值: 第一次匹配时,lst1 中编号 2 的索引 i=1,lst2 中编号 2 的索引 j=0,所以 lst[0]=[1,0]。
(3)①处,在 proc 函数中,m = c[v] 取出了用户在 ilst(lst1 或 lst2)中的索引。ilst 中每个元素由用户编号和成绩组成,ilst[m][1] 表示该用户的成绩。此处需要将成绩赋值给 r,以便后续根据成绩 r 对 score 列表进行操作,该空答案为 r = ilst[m][1]。
②处,程序中 heads 数组用于记录每个成绩区间(如 0−20,21−40 等)的 “头节点”。当处理到成绩 j 时,若该区间已有其他成绩节点(heads[i] != -1),需要构建类似链表的结构。此处需要将当前成绩 j 的后继指针指向该区间原来的头节点(heads[i]),从而实现同一区间内成绩节点的链接,便于后续遍历计算等级分,该空答案为score[j][2] = heads[i] 。
③处,f1 表示该区间内低于当前用户成绩的人数。q = score[p][2] 表示 q 是当前成绩节点 p 的前驱节点(链表中前一个成绩节点)。score[q][0] 记录了前驱节点 q 对应的人数累计(包含低于 q 成绩的人数),此处需要正确获取到低于当前成绩 p 的人数,为计算等级分提供数据支持,因此该空答案为f1 = score[q][0]。
第1页/共1页
学科网(北京)股份有限公司
$$
绍兴市高三下学期三模信息技术试题
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 室外智能健身器材能提供多种健身方式,它通过语音识别实现人机交互,利用多个传感器采集用户运动数据,并向用户提供运动报告,引导用户进行科学、有效的锻炼。关于室外智能健身器材使用中的数据和信息,以下说法正确的是( )
A. 多个传感器采集到的数据表现形式一定相同 B. 运动报告是对用户运动数据进行处理、分析后获得
C. 同一用户多次使用器材时获得的运动报告是相同的 D. 单次运动报告对用户的锻炼具有长期引导意义
2. 室外智能健身器材能提供多种健身方式,它通过语音识别实现人机交互,利用多个传感器采集用户运动数据,并向用户提供运动报告,引导用户进行科学、有效的锻炼。室外智能健身器材使用过程中,涉及人工智能技术应用的是( )
A. 为用户提供多种健身方式 B. 利用传感器采集用户运动数据
C. 通过语音识别实现人机交互 D. 将运动报告发送给用户
3. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。下列关于该信息系统功能的说法,正确的是( )
A. 让用户查看住宿、票务等信息,体现了数据收集功能
B. 让用户修改订单,体现了数据输出功能
C. 支持在线支付,体现了数据查询功能
D. 向用户个性化推荐,体现了数据加工处理功能
4. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。为确保该系统信息安全,下列做法合理的是( )
A. 无需身份认证便捷登录账户 B. 共享包含用户订单内容的数据
C. 输入动态口令完成下单支付 D. 在订单评价中显示个人敏感信息
5. 在线旅游预订系统为用户提供与旅游相关的预订服务,如住宿、票务等。用户可以通过网站或APP查询相关信息,登录个人账户后可以下单、查看记录、修改或取消预订。该系统支持多种在线支付方式,并根据用户的历史搜索记录和偏好进行个性化推荐。为了给用户提供更好的使用体验,下列做法不合理的是( )
A. 支持单一网络通信以提高访问速度 B. 提升系统服务器的硬件设备性能
C. 完善住宿、票务等数据 D. 检测更新系统网站和APP
6. 设定待发送的3位二进制数据为a0a1a2,则相应传输数据为h0a0a1a2h1,其中h0=a0a1,h1=h0a2,运算规则为:00=0,01=1,10=1,11=0,例如待发送数据为111,则传输数据为01111。现有某待发送的3位二进制数据,则相应传输数据发生错误的是( )
A. 11010 B. 01100 C. 10111 D. 00011
7. 计算数学表达式 s=1/2-2/3+3/5-5/8+8/13……的前n项之和。表示该算法的部分流程图如图所示,则框内语句正确的是( )
A. B. C. D.
8. 利用队列实现字符串换位加密,列表k中各元素依次为加密过程中的操作,p表示出队,q表示出队后入队。加密结果为出队元素顺序,若队列中元素从队首至队尾依次为“t”“r”“a”“i”“n”,k为[q,p,q,q,p,p,q,p,p],则加密后的出队结果为( )
A. “tanri” B. “niart” C. “ritan” D. “rntia”
9. 某完全二叉树包含节点A、B、C、D、E、F,其中A为根节点,C、D、F为叶子节点,则该完全二叉树的前序遍历结果不可能为( )
A. ABDCEF B. AFBCDE C. AECDBF D. ABCFED
10. 定义如下函数:
def f(n,c):
if n<=c:
return 1
else:
return f(n//c,c)+2*c
执行语句rt=f(17,2),函数f被调用的次数是( )
A 7 B. 6 C. 5 D. 4
11. 数组元素s[0]~s[5]为随机正整数,执行如下Python程序段后,s[0]~s[5]的值可能为( )
for i in range(5):
for j in range(5, i, -1):
if s[j]%2<s[j-1]%2:
s[j],s[j-1]=s[j-1],s[j]
A. 62,1,3,7,7 B. 1,3,5,7,9,2 C. 10,8,6,3,2,1 D. 1,2,5,5,6,7
12. 给定长度为n的数组ts,为每个元素 ts[i]在其后寻找首个更大元素ts[j]。若找到,则将两者位置距离存入ans[i],否则,ans[i]的值为0。例如数组ts为[33,34,35,31,29,32,36,33],则数组 ans 为[1,1,4,2,1,1,0,0]。实现该功能的程序段如下,方框处应填入的代码是( )
ans=[0]*n
s=[0]*n
top=-1
for i in range(n):
t=ts[i]
while top >= 0 and t > ts[s[top]]:
j=s[top]
top-=1
top+=1
s[top]=i
A. ans[i]=j-i B. ans[i]+=1 C. ans[j]=i-j D. ans[i-j]+=1
二、非选择题(本题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 某农科院将实验田自左往右分为m块地(编号依次为0~m-1),每块地配置一个喷灌装置。灌溉系统定期测量所有地块的水量值(非负整数),然后自左起地块开始检查:若某地块当前水量值小于1则开启喷灌:自身水量增加2、左右相邻地块水量各增加1,随后关闭喷灌装置;接着进行下去,直到m块地的水量值均不小于1。
(1)若m=12,灌溉系统某次测量中,编号0~11的各地块的水量值依次为0,0,1,2,1,0,1,0,2,1,1,0,则需开启喷灌装置的数量为______。
(2)模拟上述功能的部分Python程序如下,请在划线处填入合适的代码。
while True:
#定期测量编号为0~m-1的各块地的水量值,依次存入a[0]~a[m-1]
i=0
while i<m:
if ______:
#开启灌溉装置,代码略
if i==0:
a[i+1]+=1
elif i<m-1:
a[i-1]+=1
a[i+1]+=1
else:
a[i-1]+=1
_______
#关闭喷灌装置,代码略
i=i+2
else:
______
14. 某研究小组为学校化学实验搭建了实验环境监测系统,分别为实验组和对照组各设置了1个监测点。监测点温度、气压传感器与智能终端连接,每间隔10分钟采集一次数据,并通过网络传输至服务器,服务器根据阈值判断环境是否满足实验要求,若出现异常则通过智能终端控制执行器改善环境,并给客户端发送提示信息。请回答下列问题:
(1)对该系统中数据进行处理时,以下做法不正确的是______(单选,填字母)。
A.为每个监测点配备一个智能终端
B.将温度、气压数据只存储于客户端设备中
C.在服务器中编写处理温度、气压数据的程序
(2)研究小组确定系统的开发模式为B/S架构,并基于Flask Web编写该系统服务器程序。
①系统采用B/S架构的优势不包括______(单选,填字母)
A.网络应用程序维护便捷 B.系统服务器负荷量轻 C.便于数据集中管理
②智能终端通过URL向服务器传输监测数据时,需要______(多选)
A.传感器与智能终端型号 B.服务器IP地址 C.对应页面的路由名称 D.服务器中数据库文件名
(3)对不同化学实验进行环境监测时,试从硬件和软件的角度考虑,该系统可能需要进行哪些修改______?
(4)将系统中某天实验监测数据导出到文件ex_data.xlsx中,部分数据如图a所示。实验要求每间隔10分钟采集一次温度、气压数据,因此每个组别每小时含有6个时间点数据(已经按时间先后有序)。现要分别输出当天实验中,实验组和对照组的平均温度、气压值;绘制线形图观察实验组在第1个小时中的温度变化情况(如图b所示)。
实现上述功能的部分Python程序如下,请选择合适的代码填入划线处(填字母)。
import pandas as pd
import matplotlib.pyplot as plt
df-pd.read excel("ex_data.xlsx")
dfl=①______
df2=df1.mean() #求平均值
#显示实验组和对照组平均温度、气压值,代码略
df3=②______
df4=③______
x=④______
y=df4["温度T(℃)"]
plt.plot(x,y)
plt.title("实验组第一个小时的温度变化情况图")
plt.show()
①②③④处可选代码有:
A.df.groupby("类别"as_index=False) #分组统计
B.df1[df1.类别=="实验组"]
C.df3.head(6) #获取前6条记录
D.df.groupby("时间点", as_index=False)
E.df4["时间点"]
F.df4.index
G.df[df.类别=="实验组"]
15. 某软件对用户先后两次的运动状况进行评估,两次评估总分之差为其成长分数。针对某次评估,用户的总分由基础分和等级分相加得到。基础分根据用户成绩(0~100之间的整数)所处的成绩区间对应取得,如图所示:等级分由公式(f1+0.5×f2)/n×100计算后向下取整得到,其中,f1为该区间内低于该用户成绩的人数,f2为该区间内等于该用户成绩的人数,n为该区间内的总人数(不包含仅参加一次评估的用户)。
请回答下列问题:
(1)某次评估中,若用户成绩为50,其中,fl为10,f2为4,n为20,则该用户总分为______。
(2)定义如下intersection (lst1,lst2)函数,列表lst1、lst2为先后两次评估的用户成绩数据表,lst1、lst2中的每个元素依次由用户的编号和成绩2个数据项组成,列表均已按用户编号升序排列。函数的功能是筛选出参与了两次评估的用户的索引,结果存lst并返回。
def intersection(lst1, lst2):
lst=[]
i,j=0,0
m1, m2=len(lst1),len(lst2)
while i<m1 and j<m2:
n1,n2=lst1[i][0],lst2[j][0]
if n1==n2: #同一用户在lst1、lst2中的编号保持不变
#为列表lst追加元素[i,j]
i+=1
j+=1
elif n1<n2:
i+=1
else:
j+=1
return lst
若lst1为[[1,95],[2,95],[3,78],[4,100],[5,99],[6,100]],lst2为[[2,86],[3,88],[4,99],[5,87],[6,77],[7,65]],执行语句lst=intersection(lst1,lst2)后,请回答问题:
①加框处语句执行的次数是______。
②lst[0]的值为______。
(3)实现计算用户成长分数功能的部分程序如下,请在程序中划线处填入合适的代码。
def proc(lst, ilst, v):
#创建score列表,共101个元素,每个元素的值均为[0,0,-1],代码略
#如果ilst值为lst1,则v=0;如果ilst值为lst2,则v=1
for c in lst:
m=c[v]
_______
score[r][0]+=1
heads=[-1,-1,-1,-1,-1]
w,i=20,0
for j in range(101):
if j>w:
i+=1
w+=20
if score[j][0]!=0:
if heads[i]!=-1:
score[j][0]+=score[heads[i]][0]
_______
heads[i]=j
for i in range(5):
p=heads[i]
if p!=-1:
n=score[p][0]
while p!=-1:
q=score[p][2]
f1=0
if q!=-1:
________
f2=score[p][0]-f1
score[p][1]=i*20+int((f1+0.5 *f2)/n*100)
p=q
return score
’’’
读取先后两次评估的用户成绩数据表数据分别存入lst1、lst2。lst1 和 lst2 的每个元素依次由用户编号和成绩2个数据项组成,lst1、lst2均已按用户编号升序排列,且同一用户在lst1、lst2中的编号保持一致。代码略
’’’
lst=intersection(lst1,lst2)
score1=proc(lst,lst1,0)
score2=proc(lst,lst2,1)
for c in lst:
s=lst1[c[0]][0] #取出用户编号
a=lst1[c[0]][1] #取出先一次评估的用户成绩
b=lst2[c[1]][1] #取出后一次评估的用户成绩
print("用户编号:",s,"用户成长分数:",score2[b][1]-score1[a][1])
第1页/共1页
学科网(北京)股份有限公司
$$