内容正文:
金丽衢十二校 2024学年高三第一次联考
技 术 试 题
考生须知:
1.本卷满分100分,考试时间90分钟。
2.答题前,在试卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效;考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据和信息的说法,正确的是( )
A. 计算机只能处理数字信号 B. 同一信息只能依附于同一载体
C. 某高校招生录取结果属于大数据 D. 为节省存储空间,将图片保存为BMP格式
【答案】A
【解析】
【详解】本题考查数据和信息。A选项正确,计算机只能处理数字化后的信号,即数字信号。B选项错误,同一信息可以依附于不同的载体。C选项错误,大数据的特点是数据量大、数据类型繁多、速度快、价值密度低。而某高校招生录取结果不符合价值密度低这个特点。D选项错误,BMP 格式是没有压缩过的,这使得 BMP 格式的图片文件相对较大,占用较多的存储空间。因此,本题选择A。
2. 下列关于信息系统安全与信息社会责任的说法,正确的是( )
A. 动态口令的安全性比静态口令低
B. 在公用电脑上使用浏览器自动记住密码的功能
C 无人驾驶技术不断采集环境数据可能导致敏感数据泄露
D. 用户登陆系统但无法查看全部资源,是因为未通过系统的身份认证
【答案】C
【解析】
【详解】本题考查信息系统安全与信息社会责任。A选项,动态口令安全性比静态口令高,动态口令是随时变化的,不易被破解,所以A错误;B选项,在公用电脑上使用浏览器自动记住密码功能是不安全的做法,容易导致密码泄露,所以B错误;C选项,无人驾驶技术不断采集环境数据,这些数据可能包含敏感信息,如果保护不当就可能导致敏感数据泄露,该说法正确;D选项,用户登录系统但无法查看全部资源,可能是权限设置问题,而非未通过身份认证,所以D错误。故答案为:C。
3. 下列关于人工智能的说法,正确的是( )
A. 强化学习需要学习者事先知道最终答案 B. 人脸识别技术不需要事先手工构造知识库
C. 可以通过图灵测试测试机器智能水平的高低 D. 有人参与的人工智能一定属于混合增强智能
【答案】B
【解析】
【详解】本题考查人工智能。B选项正确,现代人脸识别技术主要基于深度学习算法,通过对大量人脸图像数据的学习,自动提取人脸的特征,构建模型,而不需要人工手动去构造知识库。A选项错误,强化学习中,学习者(智能体)通过与环境进行交互,根据环境反馈来学习,事先不知道最终答案。C选项错误,图灵测试是一种用于测试机器是否具有智能的方法,不能测试机器智能水平的高低。D选项错误,混合增强智能是将人的作用或人的认知模型引入人工智能系统,协同工作,以实现更强大的智能能力。但如果人的参与只是简单的操作或监督,而没有实现人与机器智能的深度融合和协同优化,就不一定属于混合增强智能。因此,本题选择B。
4. 某小区无人零售智慧柜可通过刷脸、扫码等方式进行身份验证和支付,身份验证成功后,消费者可以自由选购所需商品。选购完成后,系统能自动识别商品并进行结算。当商品不足时,系统通知工作人员及时补货。消费者可通过手机 APP 查看本人交易记录。下列关于该系统组成的说法,正确的是( )
A. 消费者、补货工作人员等都属于该系统的用户 B. 服务器的内存容量不会影响系统性能
C. 消费者的手机上无需安装系统软件 D. 传感器、手机APP 均属于该系统的硬件
【答案】A
【解析】
【详解】本题考查信息系统的组成。A选项正确,消费者、补货工作人员等都属于该系统的用户。B选项错误,服务器的内存容量会影响系统性能。C选项错误,消费者的手机上需要安装系统软件,因为手机 APP (应用软件)是基于系统软件运行的。D选项错误,手机APP 属于该系统的软件。因此,本题选择A。
5. 某小区无人零售智慧柜可通过刷脸、扫码等方式进行身份验证和支付,身份验证成功后,消费者可以自由选购所需商品。选购完成后,系统能自动识别商品并进行结算。当商品不足时,系统通知工作人员及时补货。消费者可通过手机APP查看本人交易记录。下列关于该系统功能与应用的说法,不正确的是( )
A. 自动结算消费金额属于数据加工处理功能 B. 可利用消费数据分析用户的购买喜好
C. 智慧柜对部分老年人购物造成不便,加剧了数字鸿沟 D. 消费者的交易记录存储在消费者的手机中
【答案】D
【解析】
【详解】本题考查信息技术系统功能。A选项,自动结算消费金额是对商品数据进行加工处理从而得出消费金额,属于数据加工处理功能;B选项,根据消费数据可以分析用户购买喜好,这是数据分析在实际中的应用;C选项,无人零售智慧柜需要刷脸、扫码等操作,部分老年人可能不熟悉这些操作,对他们购物造成不便,会加剧数字鸿沟;D选项,消费者可通过手机APP查看本人交易记录,但交易记录是存储在智慧柜系统中的,而不是消费者的手机中。故答案为:D。
6. 下列关于网络技术的说法,正确的是( )
A. 个人计算机不能作为服务器使用 B. 客户端访问服务器必须通过网关
C. 手机通过5G上网使用的是计算机网络 D. 网络中的数据、硬件和软件资源等都可以被共享
【答案】D
【解析】
【详解】本题考查网络技术基本概念。A选项,个人计算机可以作为服务器使用,如在一些小型局域网环境中;B选项,客户端访问服务器不一定必须通过网关,例如在同一局域网内可以直接访问;C选项,手机通过5G上网属于移动网络通信,虽然与计算机网络有联系,但不完全等同于计算机网络;D选项,网络中的数据、硬件和软件资源等都可以被共享,这是网络技术的一个重要特性。故答案为:D。
7. 定义一种新运算“※”:s=a※b,其运算流程图如图所示,则式子6※3+3※4计算结果为( )
A. 9 B. 9.75 C. 10 D. 21
【答案】A
【解析】
【详解】本题考查流程图。A选项正确,先计算6※3,a=6,b=3,a%2==0成立 ,执行 s=a+b ,s=9 ;再计算3※4,a=3,b=4,a%2==0 不成立, b%2==1不成立,因此,s=3//4=0 ;最后计算两者之和为 9+0=9。因此,本题选择A。
8. 某二叉树的中序遍历结果是DGBAECF,后序遍历结果是GDBEFCA,下列关于该二叉树的说法中不正确的是( )
A. 该二叉树前序遍历结果是ABDGCEF B. 该二叉树是满二叉树
C. 该二叉树有3个叶子节点 D. 节点D 是节点G的父节点
【答案】B
【解析】
【详解】本题考查二叉树。根据后序遍历的特点(先左子树,再右子树,最后根节点),可知A是根节点。 结合中序遍历(先左子树,再根节点,最后右子树),可以确定DGB是左子树,ECF是右子树 ;对于左子树,根据后序遍历GDB,可知B是左子树的根节点,再由中序遍历DGB,可得DG是B的左子树,而D是G的父节点,G是D的右子节点。 对于右子树,根据后序遍历EFC,可知C是右子树的根节点,再由中序遍历ECF,可得E是C的左子节点,F是C的右子节点。因此,画出该二叉树如下图所示:该树不是满二叉树,本题选择B。
9. 栈s的最大深度为3,初始为空,经过一系列入栈、出栈操作后,栈仍为空。若入栈序列为“梅”“兰”“竹”“菊”,所有出栈序列中以“梅”为开头和以“梅”为结尾的序列个数分别为x、y,则x-y的值为( )
A. 0 B. 1 C. 2 D. 3
【答案】B
【解析】
【详解】本题考查栈操作相关内容。栈的特点是后进先出。栈s的最大深度为3,初始为空,在所有出栈序列中,以“梅”为开头的序列有:梅兰竹菊、梅兰菊竹、梅竹兰菊、梅竹菊兰、梅菊竹兰,共5种,即x=5。以“梅”为结尾的序列有:兰竹菊梅、兰菊竹梅、竹菊兰梅、竹兰菊梅,共4种,即y=4。所以x-y的值为1。故本题答案是B选项。
10. 某对分查找算法的python程序段如下:
d=[7,12,18,25,39,58,61,72,86]
key= int(input())
i,j,n=0,8,0
f=[0]*9
while i <= j:
m=(i+j)//2
n+=1
if d[m] == key:
break #表示退出循环
if key < d[m]:
j=m-1;f[m]=-1
else:
i=m+1;f[m]=1
print(n,sum(f))
执行上述程序段后,下列说法正确的是( )
A. 若输入的key为58,则sum(f)的值为1 B. 若n的值为4,则key可能的值是[40,45]
C. sum(f)的最大值可能为3 D. f[0]到f[8]各元素值可能的是0,0,0,0,1,0,1,-1,0
【答案】D
【解析】
【详解】本题考查Python程序。首先分析选项A,若输入key为58,第一次比较中间值d[4]=39,key>39,i变为5,f[4]=1;第二次比较中间值d[6]=61,key<61,j变为5,f[6]=-1;第三次比较中间值d[5]=58,找到,sum(f)=1-1=0,所以A错误。对于选项B,n=4说明进行了4次查找,若key在39到58之间,例如40,第一次比较中间值d[4]=39,key>39,i变为5;第二次比较中间值d[6]=61,key<61,j变为5;第三次比较中间值d[5]=58,key<58,j变为4;第四次比较中间值d[4]=39,不符合,所以key不可能在[40,45],B错误。选项C,每次查找要么f[m]=1要么f[m]=-1,当key=100时,sum(f)的值为4,C错误。选项D,根据对分查找算法,每次查找未找到时会标记当前中间位置的比较情况,0表示未比较,1表示key大于中间值,-1表示key小于中间值,当key>=62并且key<=71时,f[0]到f[8]各元素值是0,0,0,0,1,0,1,-1,0。故答案为:D。
11. 如下python程序段实现对数组元素a[0]到a[5]升序排序:
a=[27,34,53,54,55,42]
n= len(a)
start=0
while start != n-1:#语句①
last=n-1
for j in range(n-1,start,-1):
if a[j] < a[j-1]: #语句②
a[j],a[j-1]=a[j-1],a[j]#语句③
last=j
start= last
print(a)
下列关于运行该程序段后的说法不正确的是( )
A. 加框处代码第一次执行结束后start的值为3 B. 语句①可以修改为while start<n-1:
C. 语句②执行了6次 D. 语句③执行了3 次
【答案】C
【解析】
【详解】本题考查冒泡排序。C选项,语句②执行次数为元素的比较次数,第一趟排序,比较了5次;第二趟排序;比较了2次,一共执行了7次。A选项,加框处代码第一次执行结束后,即第一趟排序结束,此时,a=[27,34,42,53,54,55];最后一次if语句成立时,j-1=2;j=3;因此last=3;start=3。B选项,while循环控制排序趟数,当循环结束时start==n-1;因此语句①可以修改为while start<n-1:。D选项,语句3执行次数为交换元素的次数,在第一趟排序中,元素交换了3次;在第二趟排序中,元素交换0次,因此,共交换3次。因此,本题选择C。
12. 列表a[1]到a[n]中存储了一个1到n的排列p(即1到n中每个数在p中出现了恰好一次),令right[i]为i号位置之后第一个比a[i]值更小的位置,如果不存在这样的位置,则right[i]=n+1。举例来说,若a=[",5,4,1,3,2],则right[1]到right[5]分别为2,3,6,5,6,实现该功能的程序如下:
a=[",5,4,1,3,2]
n= len(a)
b=[-1]*(n+1)
left=[-1]*(n+1)
right=[-1]*(n+1)
for i in range(1,n):
b[(1)]=i
for i in range(1,n):
left[i]=i-1
right[i]=i+1
for i in range(n-1,0,-1):
left[(2)]= left[b[i]]
right[(3)]= right[b[i]]
for i in range(1,n):
print(right[i],end='')
上述程序中划线处可选语句为:①a[i] ②i ③right[a[i]] ④left[a[i]] ⑤right[b[i]] ⑥left[b[i]]
则(1)、(2)、(3)处语句依次是( )
A. ①③④ B. ②③④ C. ①⑤⑥ D. ②⑤⑥
【答案】C
【解析】
【详解】本题考查Python程序。对于第一个空所在的循环“for i in range(1,n):b[(1)]=i”,整个逻辑是想以数组a中的元素值作为索引,来记录对应元素所在的位置序号i。例如给定示例中a=[5,4,1,3,2],当i=1时,a[1]=5,就希望把1这个位置序号存到以5为索引对应的b列表位置中,以此类推,所以此处必然是要填①a[i],这样就能构建起a中元素值与对应位置序号之间的索引关系。对于第二个空所在的循环“for i in range(n-1,0,-1):left[(2)]=right[b[i]]”,这里的核心是根据之前构建的b列表以及right列表来更新left列表。前面已经通过第一个循环用a中的元素值作为索引将位置序号存入了b中,那么此时当遍历到某个位置i时,b[i]就代表了对应元素相关的一个索引值,要去获取该索引对应的right列表中的值来更新当前位置的left,所以此处应该填⑤right[b[i]],以此来按照题目设定的规则准确更新left列表元素,使其符合后续查找i号位置之后第一个比a[i]值更小的位置等逻辑要求。对于第三个空所在的循环“for i in range(n-1,0,-1):right[(3)]=right[b[i]]”,和更新left列表的逻辑类似,同样是基于b列表作为中间索引,去获取对应索引位置在right列表中的值,进而更新当前位置的right列表元素,所以此处需要填⑥left[b[i]],这样才能完整地根据既定规则,利用各列表之间的关联准确调整right列表元素,最终实现得到每个位置i之后第一个比a[i]值更小的位置(若不存在则为n+1)这一功能要求。故答案为:C。
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分)
13. 有一个农田作物生长环境监测系统。该系统的智能终端通过传感器获取数据,并通过IOT模块以无线方式将数据上传到 Web服务器。服务器实时对数据进行处理,判断出异常时,通过智能终端控制执行器发出预警信号并打开环境调控设备。用户可通过浏览器查询实时和历史数据。请回答下列问题:
(1)下列环节中不属于信息系统搭建的是____
A.软件开发 B.硬件搭建 C.系统测试
(2)下列关于该信息系统的说法,正确的有____
A.智能终端和服务器、执行器之间的数据传输均是双向的
B.若IOT模块损坏,则用户无法通过浏览器查看实时监测数据
C.不同传感器采集的数据可以通过同一智能终端传输至Web服务器
D.该系统采集到的数据可以存储在数据库中
(3)该系统正常运行一段时间后,发现数据异常时系统能发出预警信号但不能打开环境调控设备,简要说明系统中可能造成上述问题的原因(写一点即可)。____
(4)基于FalskWeb框架编写服务器端的程序,为避免数据库数据冗余,需要对某传感器提交的数据进行预处理,当数据库中读取不到该传感器的数据或最近两次采集数据的变化值大于限定差值时,才将该传感器提交的数据写入数据库,部分代码如下:
#导入 Falsk框架模块及其他相关模块,代码略
app= Flask(_name_)
@ app.route("/ input",methods=["GET"])
def add_data(): #用于传感器提交的数据处理
sensorid= request.args.get("id").
sensorvalue= float(request.args.get("h"))
#从数据库中读取编号为sensorid传感器最近一次采集的数据,并存储在实型变量last中,若读取不到数据则last的值设为-1,代码略
#从数据库中读取对应编号传感器的限定差值x(x>0),代码略
if :
#将传感器提交的数据写入数据库,代码略
#服务器其他功能,代码略
if _name_=="_main_":
app.run(host="10.196.22.100"port=8000)
①若某时刻传感器的编号id为s1,采集数据h为50,提交数据到Web服务器的URL为http://10.196.22.100:8000/____。
②请在划线处填入合适代码。____
【答案】 ①. C ②. BCD ③. 环境调控设备故障或环境调控设备与智能终端连接故障或其它等价答案 ④. input?id=s1&h=50或input?h=50&id=s1 ⑤. last==-1 or abs(sensorvalue-last) > x
【解析】
【详解】本题考查信息系统的搭建。
(1)信息系统的搭建主要包括硬件搭建和软件开发,系统测试是对已经完成的系统进行验证和调试的过程,属于系统开发后的测试阶段,而不是搭建阶段。故答案为:C。
(2)A错误。通常情况下,智能终端和服务器之间是单向传输数据(上传数据),而执行器由智能终端发出指令触发动作。执行器向智能终端或服务器发送数据的情况不多。B正确。IOT模块负责将数据从传感器传输到Web服务器,如果IOT模块损坏,数据无法上传至服务器,用户就无法通过浏览器查看实时数据。C.正确。多个传感器的数据可以由同一个智能终端采集并通过IOT模块上传至Web服务器。D正确。数据通常会存储在数据库中,供后续分析、查询和存档。故答案为:BCD。
(3)这个问题通常是因为环境调控设备本身出现故障,或者环境调控设备与智能终端之间的连接出现问题(例如通信故障、接口问题)。系统能够发出预警信号,但由于无法控制执行器(环境调控设备),导致无法打开设备。
(4)URL中的查询字符串应该包含传感器编号和传感器值,常见的格式是key=value对形式,多个参数通过&连接。在这种情况下,id对应传感器编号,h对应传感器采集数据。故答案为:input?id=s1&h=50或input?h=50&id=s1。last==-1代表第一次读取该传感器的数据时,数据库中没有该传感器的数据(即数据库为空),此时需要将新数据写入数据库。abs(sensorvalue-last)>x代表如果当前采集的数据与上次数据的差值大于限定的差值x,则认为数据发生了明显变化,也需要将当前数据写入数据库。故答案为:last==-1 or abs(sensorvalue-last) > x。
14. 某校有两个学生食堂,分别为食堂A和食堂B,现要进行9月份食堂收入情况和学生消费情况分析,部分数据如图a所示。请回答下列问题:
图a 图b
(1)在对表格进行数据整理时发现,关于“毛*华”同学的记录可能存在的数据问题是____(单选,填字母:A.数据缺失/B.数据异常/C.逻辑错误/D.数据格式不一致)。
(2)统计两个食堂9月份收入总额并绘制如图b所示的柱形图,部分Python程序如下:
#导入相关库、设置字体,代码略
#读取如图a所示数据,保存到DataFrame对象df中,代码略
df.insert(0,"食堂名称","") #插入食堂名称列
for i in range(len(df)):
df.at[i,"食堂名称"]= df.at[i,"数据来源"][0:3]
plt.show()
方框中应填入的语句依次为____(选2项,填数字序列)
①df1= df.groupby("食堂名称",as_index= False).实付价格.sum()
②df1= df.groupby("食堂名称").实付价格.sum()
③plt.bar(df1.index,df1.values)
④plt.bar(df1.index,df1.实付价格)
⑤plt.bar(df1.食堂名称,df1.实付价格)
(3)观察图b可知,9月份两个食堂的收入总额差距明显,现要筛选出食堂B数据以便进一步分析,可在第(2)小题的基础上,再运行如下语句,请在划线处填入合适的代码。
df2= df[____]
(4)为统计分析学生9月份午餐平均消费水平,筛选出午餐平均消费金额最低的50人数据,编写 Python代码如下,请在划线处①②填入合适的代码。
#导入相关库、读取数据,代码略
#筛选出午餐数据,结果保存到DataFrame对象df1中,代码略
dfg=df1.groupby("学生姓名",as_index= False).实付价格.①____
dfg= dfg.rename(columns={"实付价格":"午餐平均消费"})#修改列名
dfs= dfg.sort_values(②____).head(50)
print(dfs)
【答案】 ①. D ②. ①⑤或②③ ③. df["食堂名称"]=="食堂B" ④. mean() ⑤. "午餐平均消费"(写"午餐平均消费",ascending=True也对)
【解析】
【详解】本题考查编程处理数据。
①根据图a可知,该同学用餐日期数据和该列其他数据格式不一致,本空选择D。
②要统计两个食堂 9 月份收入总额并绘制柱形图, df1=df.groupby("食堂名称",as_index=False).实付价格.sum() 可以得到各食堂的收入总额,由于食堂名称并不为index,此时,绘图时需要用 plt.bar(df1.食堂名称,df1.实付价格),答案是①⑤。 另外,df1=df.groupby("食堂名称").实付价格.sum() 可以得到各食堂的收入总额,此时结果为 Series 对象, 因此绘图时用 plt.bar (df1.index ,df1.values),答案是②③。因此该空为①⑤或②③。
③要筛选出食堂 B 数据进一步分析,根据前面插入的 “食堂名称” 列,筛选条件为 df["食堂名称"]=="食堂B"。
④筛选出午餐数据后,要计算每个学生的午餐平均消费金额,使用mean()函数求平均值,因此该空为mean()。
⑤head(50)选择了前 50 条记录得到的是午餐平均消费金额最低的50人数据,因此需要对 dfg 以 "午餐平均消费"为关键字进行升序排序。该空为:"午餐平均消费"或"午餐平均消费",ascending=True 。
15. 使用某浏览器浏览网页时高速缓存(cache)的存储机制如下:
①在内存中只会保留最近浏览过的k个网页。
②当连续浏览的网页数达到k个时,会将最近k个网页中访问频率最高的网页存入cache。
③当网页第一次存入cache或存入cache新网页与已存网页不同时,称为改写一次cache。现获取了某天按序浏览过的n个网页信息并存储在page中,输入k的值,求当天网页浏览过程中cache被改写的次数。
设n为6,k为3,按序浏览的各网页信息如图a所示;当连续浏览网页数达到3个时,开始将最近3个网页中访问频率最高的网页存入cache,存入情况如图b所示;其中改写两次cache的过程如图c所示。
图a 图b 图c
编写程序:给出当天浏览的各网页信息及内存存储网页的容量k,求cache改写的次数。请回答下列问题。
(1)由题意可知,若仅将图a中网页名称为p4的网页访问频率改为5,则网页浏览过程中cache改写的次数为____。
(2)定义如下count(result)函数,参数result的每个元素是依序加入cache的最近k个网页中访问频率最高的网页名称。函数的功能是根据result返回cache的改写次数。请在程序中划线处填入合适的代码。
def count(result):
ans=1
tmp= result[0]
for i in range(1,len(result)):
if result[i] != tmp:
ans+=1
____
return ans
(3)实现求改写cache次数的部分Python程序如下,程序中用到的列表函数与方法如图d所示,请在程序中划线处填入合适的代码。
函数与方法
功能
w.append(x)
在列表w末尾添加元素x
图d
def find(data,k):
result=[] # 依序存储最近浏览的k个网页中访问频率最高的网页名称
que=[-1]*100
head= tail=0
for i in range(len(data)):
while ①____:
head+=1
while tail > head and data[que[tail-1]][1] < data[i][1]:
tail= tail-1
que[tail]=②____
tail+=1
if i >= k-1:
result.append(data[que[head]][0])
return result
'''
读取内存存储网页数的上限并存入变量k;读取当天浏览的网页数并存入变量n;依序读取当天浏览的n个网页信息并存入列表page的page[0]至page[n-1]中。
page[i]包含2个数据项,page[i][0],page[i][1]分别存放网页名称及网页访问频率,代码略
'''
result= find(page,k)
ans=③____
print(ans)#输出改写cache的次数
【答案】 ①. 3 ②. tmp=result[i] ③. tail > head and que[head] <= i–k ④. i ⑤. count(result)
【解析】
【详解】本题考查队列,算法的综合应用。
①若仅将图a中网页名称为p4的网页访问频率改为5,则网页浏览过程中cache改写过程为,第一次p1改写,第二次p1保持,第三次p4改写,第四次p5改写。因此,改写次数为3次。
②if条件成立时,需要改写新的网页,因此,需要将 tmp 更新为改写后的值,该空为tmp=result[i]。
③根据题意“当连续浏览的网页数达到k个时,会将最近k个网页中访问频率最高的网页存入cache。”因此,最近k个网页之前的页面是不在比较范围的,需要将最近k个网页之前的页面出队,当然,还需满足队列不为空;因此该空为tail>head and que[head] <= i–k。
④第二个while循环的功能是队内排序并删除频率较低的元素,当i节点的访问频率大于队尾元素则不断覆盖队列中的元素,最后,将最新的i节点下标存入合适位置,因此该空为:i。
⑤本处调用 count 函数,计算改写次数。因此该空为:count(result)。
第1页/共1页
学科网(北京)股份有限公司
$$
金丽衢十二校 2024学年高三第一次联考
技 术 试 题
考生须知:
1.本卷满分100分,考试时间90分钟。
2.答题前,在试卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效;考试结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据和信息的说法,正确的是( )
A. 计算机只能处理数字信号 B. 同一信息只能依附于同一载体
C. 某高校招生录取结果属于大数据 D. 为节省存储空间,将图片保存为BMP格式
2. 下列关于信息系统安全与信息社会责任的说法,正确的是( )
A. 动态口令的安全性比静态口令低
B. 在公用电脑上使用浏览器自动记住密码的功能
C. 无人驾驶技术不断采集环境数据可能导致敏感数据泄露
D. 用户登陆系统但无法查看全部资源,是因为未通过系统的身份认证
3. 下列关于人工智能的说法,正确的是( )
A. 强化学习需要学习者事先知道最终答案 B. 人脸识别技术不需要事先手工构造知识库
C. 可以通过图灵测试测试机器智能水平的高低 D. 有人参与的人工智能一定属于混合增强智能
4. 某小区无人零售智慧柜可通过刷脸、扫码等方式进行身份验证和支付,身份验证成功后,消费者可以自由选购所需商品。选购完成后,系统能自动识别商品并进行结算。当商品不足时,系统通知工作人员及时补货。消费者可通过手机 APP 查看本人交易记录。下列关于该系统组成的说法,正确的是( )
A. 消费者、补货工作人员等都属于该系统的用户 B. 服务器的内存容量不会影响系统性能
C. 消费者的手机上无需安装系统软件 D. 传感器、手机APP 均属于该系统的硬件
5. 某小区无人零售智慧柜可通过刷脸、扫码等方式进行身份验证和支付,身份验证成功后,消费者可以自由选购所需商品。选购完成后,系统能自动识别商品并进行结算。当商品不足时,系统通知工作人员及时补货。消费者可通过手机APP查看本人交易记录。下列关于该系统功能与应用的说法,不正确的是( )
A. 自动结算消费金额属于数据加工处理功能 B. 可利用消费数据分析用户的购买喜好
C. 智慧柜对部分老年人购物造成不便,加剧了数字鸿沟 D. 消费者的交易记录存储在消费者的手机中
6. 下列关于网络技术的说法,正确的是( )
A. 个人计算机不能作为服务器使用 B. 客户端访问服务器必须通过网关
C. 手机通过5G上网使用的是计算机网络 D. 网络中的数据、硬件和软件资源等都可以被共享
7. 定义一种新运算“※”:s=a※b,其运算流程图如图所示,则式子6※3+3※4的计算结果为( )
A. 9 B. 9.75 C. 10 D. 21
8. 某二叉树的中序遍历结果是DGBAECF,后序遍历结果是GDBEFCA,下列关于该二叉树的说法中不正确的是( )
A. 该二叉树前序遍历结果是ABDGCEF B. 该二叉树是满二叉树
C. 该二叉树有3个叶子节点 D. 节点D 是节点G父节点
9. 栈s的最大深度为3,初始为空,经过一系列入栈、出栈操作后,栈仍为空。若入栈序列为“梅”“兰”“竹”“菊”,所有出栈序列中以“梅”为开头和以“梅”为结尾的序列个数分别为x、y,则x-y的值为( )
A. 0 B. 1 C. 2 D. 3
10. 某对分查找算法的python程序段如下:
d=[7,12,18,25,39,58,61,72,86]
key= int(input())
i,j,n=0,8,0
f=[0]*9
while i <= j:
m=(i+j)//2
n+=1
if d[m] == key:
break #表示退出循环
if key < d[m]:
j=m-1;f[m]=-1
else:
i=m+1;f[m]=1
print(n,sum(f))
执行上述程序段后,下列说法正确的是( )
A. 若输入的key为58,则sum(f)的值为1 B. 若n的值为4,则key可能的值是[40,45]
C. sum(f)的最大值可能为3 D. f[0]到f[8]各元素值可能的是0,0,0,0,1,0,1,-1,0
11. 如下python程序段实现对数组元素a[0]到a[5]升序排序:
a=[27,34,53,54,55,42]
n= len(a)
start=0
while start != n-1:#语句①
last=n-1
for j in range(n-1,start,-1):
if a[j] < a[j-1]: #语句②
a[j],a[j-1]=a[j-1],a[j]#语句③
last=j
start= last
print(a)
下列关于运行该程序段后的说法不正确的是( )
A. 加框处代码第一次执行结束后start的值为3 B. 语句①可以修改为while start<n-1:
C. 语句②执行了6次 D. 语句③执行了3 次
12. 列表a[1]到a[n]中存储了一个1到n排列p(即1到n中每个数在p中出现了恰好一次),令right[i]为i号位置之后第一个比a[i]值更小的位置,如果不存在这样的位置,则right[i]=n+1。举例来说,若a=[",5,4,1,3,2],则right[1]到right[5]分别为2,3,6,5,6,实现该功能的程序如下:
a=[",5,4,1,3,2]
n= len(a)
b=[-1]*(n+1)
left=[-1]*(n+1)
right=[-1]*(n+1)
for i in range(1n):
b[(1)]=i
for i in range(1n):
left[i]=i-1
right[i]=i+1
for i in range(n-1,0,-1):
left[(2)]= left[b[i]]
right[(3)]= right[b[i]]
for i in range(1,n):
print(right[i],end='')
上述程序中划线处可选语句为:①a[i] ②i ③right[a[i]] ④left[a[i]] ⑤right[b[i]] ⑥left[b[i]]
则(1)、(2)、(3)处语句依次是( )
A. ①③④ B. ②③④ C. ①⑤⑥ D. ②⑤⑥
二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分)
13. 有一个农田作物生长环境监测系统。该系统的智能终端通过传感器获取数据,并通过IOT模块以无线方式将数据上传到 Web服务器。服务器实时对数据进行处理,判断出异常时,通过智能终端控制执行器发出预警信号并打开环境调控设备。用户可通过浏览器查询实时和历史数据。请回答下列问题:
(1)下列环节中不属于信息系统搭建的是____
A.软件开发 B.硬件搭建 C.系统测试
(2)下列关于该信息系统的说法,正确的有____
A.智能终端和服务器、执行器之间的数据传输均是双向的
B.若IOT模块损坏,则用户无法通过浏览器查看实时监测数据
C.不同传感器采集的数据可以通过同一智能终端传输至Web服务器
D.该系统采集到的数据可以存储在数据库中
(3)该系统正常运行一段时间后,发现数据异常时系统能发出预警信号但不能打开环境调控设备,简要说明系统中可能造成上述问题的原因(写一点即可)。____
(4)基于FalskWeb框架编写服务器端的程序,为避免数据库数据冗余,需要对某传感器提交的数据进行预处理,当数据库中读取不到该传感器的数据或最近两次采集数据的变化值大于限定差值时,才将该传感器提交的数据写入数据库,部分代码如下:
#导入 Falsk框架模块及其他相关模块,代码略
app= Flask(_name_)
@ app.route("/ input",methods=["GET"])
def add_data(): #用于传感器提交的数据处理
sensorid= request.args.get("id").
sensorvalue= float(request.args.get("h"))
#从数据库中读取编号为sensorid传感器最近一次采集的数据,并存储在实型变量last中,若读取不到数据则last的值设为-1,代码略
#从数据库中读取对应编号传感器的限定差值x(x>0),代码略
if :
#将传感器提交的数据写入数据库,代码略
#服务器其他功能,代码略
if _name_=="_main_":
app.run(host="10.196.22.100",port=8000)
①若某时刻传感器的编号id为s1,采集数据h为50,提交数据到Web服务器的URL为http://10.196.22.100:8000/____。
②请在划线处填入合适的代码。____
14. 某校有两个学生食堂,分别为食堂A和食堂B,现要进行9月份食堂收入情况和学生消费情况分析,部分数据如图a所示。请回答下列问题:
图a 图b
(1)在对表格进行数据整理时发现,关于“毛*华”同学的记录可能存在的数据问题是____(单选,填字母:A.数据缺失/B.数据异常/C.逻辑错误/D.数据格式不一致)。
(2)统计两个食堂9月份收入总额并绘制如图b所示的柱形图,部分Python程序如下:
#导入相关库、设置字体,代码略
#读取如图a所示数据,保存到DataFrame对象df中,代码略
df.insert(0,"食堂名称","") #插入食堂名称列
for i in range(len(df)):
df.at[i,"食堂名称"]= df.at[i,"数据来源"][0:3]
plt.show()
方框中应填入语句依次为____(选2项,填数字序列)
①df1= df.groupby("食堂名称",as_index= False).实付价格.sum()
②df1= df.groupby("食堂名称").实付价格.sum()
③plt.bar(df1.index,df1.values)
④plt.bar(df1.index,df1.实付价格)
⑤plt.bar(df1.食堂名称,df1.实付价格)
(3)观察图b可知,9月份两个食堂的收入总额差距明显,现要筛选出食堂B数据以便进一步分析,可在第(2)小题的基础上,再运行如下语句,请在划线处填入合适的代码。
df2= df[____]
(4)为统计分析学生9月份午餐平均消费水平,筛选出午餐平均消费金额最低的50人数据,编写 Python代码如下,请在划线处①②填入合适的代码。
#导入相关库、读取数据,代码略
#筛选出午餐数据,结果保存到DataFrame对象df1中,代码略
dfg=df1.groupby("学生姓名",as_index= False).实付价格.①____
dfg= dfg.rename(columns={"实付价格":"午餐平均消费"})#修改列名
dfs= dfg.sort_values(②____).head(50)
print(dfs)
15. 使用某浏览器浏览网页时高速缓存(cache)的存储机制如下:
①在内存中只会保留最近浏览过的k个网页。
②当连续浏览的网页数达到k个时,会将最近k个网页中访问频率最高的网页存入cache。
③当网页第一次存入cache或存入cache新网页与已存网页不同时,称为改写一次cache。现获取了某天按序浏览过的n个网页信息并存储在page中,输入k的值,求当天网页浏览过程中cache被改写的次数。
设n为6,k为3,按序浏览的各网页信息如图a所示;当连续浏览网页数达到3个时,开始将最近3个网页中访问频率最高的网页存入cache,存入情况如图b所示;其中改写两次cache的过程如图c所示。
图a 图b 图c
编写程序:给出当天浏览的各网页信息及内存存储网页的容量k,求cache改写的次数。请回答下列问题。
(1)由题意可知,若仅将图a中网页名称为p4的网页访问频率改为5,则网页浏览过程中cache改写的次数为____。
(2)定义如下count(result)函数,参数result的每个元素是依序加入cache的最近k个网页中访问频率最高的网页名称。函数的功能是根据result返回cache的改写次数。请在程序中划线处填入合适的代码。
def count(result):
ans=1
tmp= result[0]
for i in range(1,len(result)):
if result[i] != tmp:
ans+=1
____
return ans
(3)实现求改写cache次数的部分Python程序如下,程序中用到的列表函数与方法如图d所示,请在程序中划线处填入合适的代码。
函数与方法
功能
w.append(x)
在列表w末尾添加元素x
图d
def find(data,k):
result=[] # 依序存储最近浏览的k个网页中访问频率最高的网页名称
que=[-1]*100
head= tail=0
for i in range(len(data)):
while ①____:
head+=1
while tail > head and data[que[tail-1]][1] < data[i][1]:
tail= tail-1
que[tail]=②____
tail+=1
if i >= k-1:
result.append(data[que[head]][0])
return result
'''
读取内存存储网页数的上限并存入变量k;读取当天浏览的网页数并存入变量n;依序读取当天浏览的n个网页信息并存入列表page的page[0]至page[n-1]中。
page[i]包含2个数据项,page[i][0],page[i][1]分别存放网页名称及网页访问频率,代码略
'''
result= find(page,k)
ans=③____
print(ans)#输出改写cache的次数
第1页/共1页
学科网(北京)股份有限公司
$$