内容正文:
绝密★考试结束前
高三年级技术学科试题
考生须知:
1,本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,正确的是( )
A. 信息可以脱离其载体被存储和保留
B. 大数据技术可以处理非结构化数据
C. 自计算机诞生后才有了信息,信息与人类生活密切相关
D. 计算机中的数字以二进制的形式存储,汉字以十六进制的形式存储
【答案】B
【解析】
【详解】本题考查数据和信息。信息必须依赖于某种载体才能被存储和保留,A错误。信息早在计算机诞生之前就已经存在,它是自然界、人类社会和人类思维活动中普遍存在的一切物质和事物的属性。信息与人类生活密切相关,但在计算机诞生之前,人们就已经通过各种方式传递、存储和利用信息,C错误。在计算机中,无论是数字还是汉字(或其他字符),都是以二进制的形式存储的,D错误。故选择B。
2. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于该系统的组成,说法正确的是( )
A. 该系统由软件、硬件和用户三部分组成
B. 校园一卡通中内置的芯片会主动向读卡器发送射频信号
C. 用来管理库存等信息的商品监控管理软件是一款应用软件
D. 服务器端的主存包括RAM、ROM和硬盘
【答案】C
【解析】
【详解】本题考查的是系统组成。信息系统是由硬件、软件、数据、网络和人员组成的,选项A说法错误;校园一卡是无源电子标签不会主动向读卡器发送射频信号,选项B说法错误;用来管理库存等信息的商品监控管理软件是一款应用软件,选项C说法正确;硬盘是外存,选项D说法错误。故选C。
3. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于该信息系统功能和应用的说法,不正确的是( )
A. 该系统具有数据输出功能,但不具备数据输入功能
B. 商家可利用成交数据分析学生的喜好
C. 库存情况、商品信息等数据存储在数据库中,体现了该系统的数据存储功能
D. 该系统由于断电而无法正常使用,说明该信息系统对外部环境有依赖性
【答案】A
【解析】
【详解】本题考查信息系统。根据描述,学生可以在自动售卖机上选择水果,确认下单后通过刷卡支付,这些操作涉及到数据输入。因此,该系统不仅具有数据输出功能(显示选中水果信息),还具有数据输入功能(学生选择水果、支付)。其它选项正确,故选择A。
4. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于信息系统安全的说法,正确的是( )
A. 销售员通过指纹识别打开售卖机,体现了该系统的访问控制策略
B. 任何密码算法中的加密密钥与解密密钥必须相同
C. 在服务器上安装杀毒软件后,则无需再安装防火墙
D. 为增强该系统的安全性,建议为每位管理员设立一个单独账户,给予不同权限
【答案】D
【解析】
【详解】本题考查信息安全。选项A是实体的身份验证和授权,非访问控制策略。选项B,在对称加密算法中,加密密钥和解密密钥是相同的。但在非对称加密算法中,加密密钥和解密密钥是不同的。选项C,杀毒软件和防火墙是两个不同的安全工具,各自有不同的功能。杀毒软件用于检测和清除计算机中的病毒,而防火墙用于监控和控制网络流量,防止未经授权的访问。因此,在服务器上安装杀毒软件并不意味着不需要再安装防火墙。选项D,为每位管理员设立单独的账户可以更好地控制其权限,从而限制其对系统的访问和操作。这样可以降低系统被未授权人员滥用的风险,并提高系统的安全性。故选择D。
5. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于人工智能的说法,不正确的是( )
A. 符号主义难以构建完备的知识库和完善的推理方法
B. 指纹识别基于数据驱动,无需事先手工构造知识库
C. 强化学习是一种问题引导下的人工智能学习方法
D. 学生通过校园一卡通刷卡支付属于人工智能的应用
【答案】D
【解析】
【详解】本题考查的是人工智能。校园一卡通刷卡支付属于射频识别技术的应用,而不是人工智能的应用。其它选项正确,故选择D。
6. 下列关于网络的描述,说法正确的是( )
A. 目前覆盖面广、影响力大的三大网络分别是局域网、城域网和广域网
B. 移动终端访问服务器必须遵循网络协议
C. 网络具有资源共享功能,这里的资源仅指网络中的数据
D. DHCP负责将局域网的私有地址转换为公有地址
【答案】B
【解析】
【详解】本题考查网络。目前覆盖面广、影响力大的三大网络分别是局域网、城域网和广域网是错误的。目前最广泛使用的网络是互联网。网络具有资源共享功能,这里的资源不仅指网络中的数据,还包括硬件设备、软件等。DHCP(动态主机配置协议)负责为设备分配IP地址,而不是将局域网的私有地址转换为公有地址。故选择B。
7. 下面关于编码的说法,不正确的是( )
A. 一张未经压缩的1024×800像素、256色的位图,存储容量为800KB
B. 模拟信号的数字化一般需要经过采样、量化与编码
C. 量化值的取值范围是0到255时,量化位数至少为7位
D. 生成付款二维码的过程属于对信息的编码
【答案】C
【解析】
【详解】本题考查编码。量化值的取值范围是0到255时,至少需要8位二进制数(即1字节)来表示,因为8位二进制数可以表示的数值范围是0到255。所以,量化位数至少为8位,而不是7位。其它选项正确,故选择C。
8. 栈s的最大长度为3,初始为空,经过一系列入栈、出栈操作,若元素出栈的顺序是e,c,b,a,d,则可能的入栈序列为( )
A. a,b,c,d,e B. a,e,c,b,d C. e,b,a,c,d D. d,e,a,b,c
【答案】B
【解析】
【详解】本题考查栈。a和e入栈,e出栈,c入栈,c出栈,b入栈,b出栈,a出栈,d入栈,d出栈。故入栈顺序为a,e,c,b,d。故选择B。
9. 有如下Python程序段,若n的值为8,key的值为23,数组元素a[0]至a[n-1]依次存放13,17,20,23,23,24,39,43。
i=0;j=n-1;c=0
while i<=j:
m=(i+j)//2
c+=1
if a[m]<=key:
i=m+1
else:
j=m-1
执行该程序段后,下列说法正确的是( )
A. i的值为3 B. j的值为4 C. m的值为5 D. c的值为2
【答案】B
【解析】
【详解】本题考查的是二分查找。程序执行过程如下:
m
a[m]
i
j
c
初始
0
7
0
第一轮循环
3
23
4
7
1
第二轮循环
5
24
4
4
2
第三轮循环
4
23
5
4
3
执行该程序段后,i的值为5,j的值为4,m的值为4,c的值为3。故选B。
10. 有如下Python程序段:
a=[6,-9,-6,8,7,4,-3,-1]
n=len(a)
for i in range(n-1):
for j in range(n-1,i,-1):
if a[j]>a[j-1]:
a[j],a[j-1]=a[j-1],a[i]
if a[i]<0:
break
执行该程序段后,下面说法正确的是( )
A. a[0]到a[n-1]升序排序 B. a[0]到a[n-1]降序排序
C. 方框里的语句总共执行了4次 D. 变量i的值为4
【答案】D
【解析】
【详解】本题考查程序分析。该程序是个排序程序,当a[i]<0时候,停止排序。故不可能排列全部元素。排除选项A、B。方框里的语句执行了5次,故选项C错误。故选择D。
11. 定义如下函数:
def f(s):
if len(s)==1:
return s
elif "0"<=s[0]<="9":
return s[0]+f(s[1:])
else:
return f(s[1:])+s[0]
执行语句print(f("lab2"))后,输出结果为( )
A. 12ba B. 12ab C. 21ab D. 2bal
【答案】A
【解析】
【详解】本题考查递归。递归运行过程:
f('1ab2') return '1'+f('ab2')
f('ab2') return f('b2')+'a'
f('b2') return f('2')+'b'
f('2') return return '2'
故最后结果为选项A。
12. 使用列表a模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,head为头指针。链表中各节点已按数据区域中数值的绝对值由大到小排列,如图1所示。现要修改该链表各节点的链接关系,使链表各节点按数据区域中的数值由大到小排列,结果如图2所示。实现该功能的Python程序段如下:
图1 图2
flag=False;p=head
head=-1 #head作为新链表的头指针
while p!=-1:
k=a[p][1]
if flag==False:
a[p][1]=head;head=p
if ① :
flag=True;q=head
else:
a[p][1]=a[q][1];a[q][1]=p
if ② :
q=a[q][1]
p=k
划线处应填入的正确代码为( )
A. ①a[p][0]>0 ②a[p][0]>0 B. ①a[p][0]>0 ②a[p][0]<0 C. ①a[p][0]<0 ②a[p][0]<0 D. ①a[p][0]<0 ②a[p][0]>0
【答案】A
【解析】
【详解】本题考查程序分析。数据区域中数值的绝对值由大到小排列,若数据区域a[p][0]的数值为正数,则原链表节点关系不变,只需将各节点关系往下迭代即可。若数据区域d[p][0]的数值为负数,则原先的链表各节点关系需要重新指向,由于原数据是按照绝对值大小排序的,因此越往后面绝对值数越小,这样每一个当前节点p的负数肯定是当前链表中最小的数,因此该数应该变为最小的头节点,采用头插法可以实现,故本题选A。
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 提取数字字符串中以逗号分隔的数字并转换为整数存入数组,再将数组中的元素进行分类,第一类为“小于30”;第二类为“30-60";第三类为“大于60”。例如输入数字字符串为“34,23,45,99,24,56,9,87,”,输出结果为[23,9,24][34,45,56][87,99]。
(1)实现上述功能的Python程序段如下,请在划线处填入合适的代码。
s=input("请输入字符串(数字之间用逗号分隔):")
ch="";a=[]
for i in range(len(s)):
if s[i]!=",":
ch+=s[i]
if s[i]==","or i==len(s)-1:
a.append(int(ch))
①____
i=0;j=len(a)-1;k=0
while k<=j:
if ②____:
a[i],a[k]=a[k],a[i]
i+=1
elif a[k]>60:
a[k],a[j]=a[j],a[k]
j-=1
③____
k+=1
print(a[:i],a[i:j+1],a[j+1:])
(2)若两组输入的数据分别为"12,78,65,7,45,2,55,"、"12,78,65,7,45,2,55",则两组输出的结果____(单选,填字母:A.一致;B.不一致)
【答案】 ①. ch="" ②. a[k]<30 ③. k-=1或k=k-1 ④. A
【解析】
【详解】本题考查程序分析。(1)①循环遍历字符串,将字符串数字转换成数字,添加到列表中,处理完一个数字后,要将ch变量清空,处理下一个数字串。故填写ch=""。②循环遍历元素,索引为k,与记录小于30区间的索引i,进行数据交换。if语句条件判断,第一个区间小于30,故判断条件填写a[k]<30。③该if分支判断大于60的数据,与记录大于60区间的索引j进行数据换行。但是当交换完成,j要向前移动,k也要向前移动,因为交换后的数据没有比较,通过后续语句k需要加1移动,故需要先减1,保证交换后的数据需要比较一次。故k-=1或k=k-1。(2)由于这两组数据的内容是一样的(只是第二组没有末尾的逗号),并且我们的分类方法不依赖于输入字符串的具体格式(只关心其中的数字),所以两组输出的结果将是一致的。因此答案是A一致。
14. 小明要搭建一个空气质量监测系统,该系统能实现监测周围环境的PM2.5浓度值,当浓度值大于阈值时发出警报。用户通过浏览器查看实时监测的数据和历史数据。该系统结构示意图如图1所示,传感器采集的数据由智能终端经IOT模块发送给Web服务器,并存储在数据库中。执行器用于实现数据异常时的报警功能。请回答下列问题:
图1
(1)关于该空气质量监测系统及其搭建,下面说法不正确的是____(多选,填字母)。
A.该系统采集的实时数据可为用户的健康出行做参考,具有较好的社会意义
B.该系统采用B/S架构,用户需安装专门的程序才能访问该系统
C.该系统可以同时为多个用户提供数据查询服务
D.必须所有硬件搭建完成后,才能进行服务器端的程序编写
(2)服务器端获取来自智能终端提交的数据并进行相应处理,部分代码如下:
#导入相关模块,代码略
app=Flask(name_)
@app.route("/input")
def add_data():
#从数据库中获取阈值,保存在h中,代码略
pm_value=int(request.args.get("d"))
#将pm_value的值存入数据库,代码略
if pm_value>h:
return "0"
else:
return "1"
①智能终端将采集到的PM2.5浓度数据保存在变量data中,提交数据到Web服务器的URL为http://192.168.35.1:8000/input?d=data,则响应该URL请求的Web服务器IP地址为____,服务器中视图函数____(填写函数名称)的代码会被运行。
2智能终端在接收到来自服务器返回的数据“1”时,需要给执行器发送指令实现_________(单选,填字母:A.开启执行器发出警报;B.关闭执行器停止警报)
(3)系统正常运行一段时间后,用户通过浏览器查看到实时数据超过阈值时,系统却没有发出警报,造成这个问题的可能原因是(写两项):____。
(4)小明将系统中2023年的所有PM2.5浓度值导出,进行预处理后,得到如图2所示的数据(日期格式为“年-月-日”),编写程序分析每个月空气中PM2.5浓度为“合格”的情况(PM2.5浓度值不超过75表示“合格”,否则为“不合格”)。
图2 图3
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("2023年.xlsx")
df.insert(0,"月份","") #插入列
for i in df.index:
t=df.at[i,"日期"] #通过行标签和列标签选取单个值
df.at[i,"月份"]-t[5:7]
x=df2["月份"]
y-df2["PM2.5"]
plt.bar(x,y)#绘制柱形图
#设置绘图参数,显示如图3所示的柱形图,代码略
①方框处的代码实现统计每个月PM2.5指标为合格的总天数,下面代码能实现该功能的是____(单选,填字母)
A.dfl=df.groupby("月份",as_index=False).count()
df2=dfl[df1["PM2.5"]<=75]
B.dfl=df[df["PM2.5"]<=75]
df2=df.groupby("月份",as_index=False).count()
C.dfl=df[df["PM2.5"]<=75]
df2=dfl.groupby("月份",as_index=False).sum()
D.dfl=df[df["PM2.5"]<=75]
df2=dfi.groupby("月份",as_index=False).count()
②小明分析图3发现,PM2.5浓度值为“合格”的天数最少的是____月份,并建议公众在该月份做好健康防护工作。
【答案】 ①. BD ②. 192.168.35.1 ③. add_data或add_data() ④. B ⑤. 执行器有故障;执行器与智能终端之间的连接有故障; ⑥. D ⑦. 12
【解析】
【详解】本题考查程序分析。(1)B/S架构意味着用户只需要通过浏览器就可以访问系统,无需安装专门的程序。在软件开发中,通常采用的是迭代和增量的开发方法,这意味着服务器端的程序编写可以在硬件搭建完成之前就开始,并且可以根据硬件的实际情况进行调整和优化。故选择BD。(2)根据题目中的URL地址为http://192.168.35.1:8000/input?d=data,可知IP地址为192.168.35.1。(3)根据代码@app.route("/input")和def add_data()中的路由函数定义,可是视图函数为add_data。(4)根据代码 if pm_value>h: return '0' else: return '1' 当浓度值大于阈值时发出警报,小于等于就关闭。故选择B。(5)执行器执行报警,当不发出警报时,可能执行器本身有故障。智能终端发出信号控制执行器,当两者连接有故障时候,执行器收不到信号,也不会报警。(6)A选项错误,应该先筛选后分类统计。B选项错误,数据集对象有错,应该是df1分类统计,而不是df。C选项错误,应该调用count函数,而不是sum函数。故选择D。(7)根据图3,发现12月份的柱形图最低,说明合格天数最少,故为12。
15. 小明想研制一种药物,他采集了n种原料,现需要对每种原料的成分进行精密的分析。每种原料的分析都必须依次经过两个步骤:先进行放射试验,再进行加热试验。因为实验室里只有一台放射试验仪器和一台加热试验仪器,所以,同一时间最多只能做一个放射试验和一个加热试验。为尽早完成试验,小明将放射试验用时短的尽量排前面,加热试验时间用时短的尽量排后面。
例如:有A~E共5种原料,每种原料需要的试验时间如图1所示;最终各原料的试验安排如图2所示。
原料名称
放射试验时间
加热试验时间
A
8
5
B
4
2
C
4
10
D
16
7
E
3
5
图1
图2
图3
编写程序:给定各种原料所需试验的时间,根据上述方法安排试验顺序并计算所有原料完成试验的最早结束时间,输出结果如图3所示。
(1)自定义函数order(task,n)的功能是安排合理的试验顺序,使得试验尽早完成。其中参数task的每个元素由原料名称、放射时间和加热时间3个数据项构成,参数n为原料种类。
def order(task,n):
f=[False]*n
st=-1;ed=n
min=30000 #已知每个试验时间最多不超过30000
for j in range(n):
if f[j]==False:
for k in range(1,3):
if task[j][k] < min:
min=task[j][k]
bestj=j
bestk=k
if bestk==1:
st+=1;odr[st]=bestj
else:
ed-=1;odr[ed]=bestj
若task=[['A',5,2],['B',4,2],['C',1,8]],n=3,请回答下列问题。
①调用该函数后,st和ed的值分别为____,____。
②将实线框处代码改成for i in range(n-1,-1,-1),是否会影响原料试验的安排顺序?____(单选,填字母:A.会;B.不会)
③上述程序中,划线处应填入的正确代码是____
(2)实现程序功能的部分代码如下,请在划线处填上合适的代码。
def CalTime0:
tm=[0]*n#各原料完成放射试验的结束时间
tm[0]=task[odr[0]][1]
for i in range(1,n):
①____
tot=0
for i in range(n):
j=odr[i]
if tot>tm[i]:
②____
else:
tot=tm[i]+task[j][2]
return tot
`
读取原料试验数据,并存入列表task。task[i]包含3个数据项,task[i][0]、task[i][1]、task[i][2]分别存放该原料的名称、放射试验和加热试验的单位时间量,代码略
如task=[['A',8,5],['B',4,2],['C',4,10],['D',16,7],['E',3,5]]
`
n=len(task)
odr=[-1]*n
order(task,n)
#输出所有原料的试验顺序,如图3,代码略
print("结束试验的最早时间:",CalTime())
【答案】 ①. 0 ②. 1 ③. A ④. f[bestj]=True ⑤. tm[i]=tm[i-1]+task[odr[i]][1] ⑥. tot+=task[j][2]或tot=tot+task[j][2]或tot+=task[odr[i]][2]或tot=tot+task[odr[i]][2]
【解析】
【详解】本题考查程序分析。(1)①bestj存放着第几个任务的索引号。bestk存放着最短时间的放射索引或加热索引。第一次遍历后bestk为1,故st为0。第二次遍历bestk为2,ed为2。第三次遍历bestk为2,ed为1。故最后结果为st为0,ed为1。②虚线框的代码改为题干的语句后,安排实验的遍历索引为从后往前遍历。导致先遍历任务B,后遍历任务A。因为任务A和B的加热时间相同,则按照遍历的任务的顺序安排。故会影响实验安排。故选择A。③该语句表示第几个实验已经被合理安排。bestj变量存放着实验任务的索引。故填写f[bestj]=True(2)①tm列表存放各个原料放射实验的结束时间。当前原料放射的结束时间为前面原料放射的累计的完成时间加上当前原料的放射时间。故填写tm[i]=tm[i-1]+task[odr[i]][1]。②当最短实验完成时间大于当前原料放射结束时间时,则最短实验完成时间累加当前原料的加热时间。当最短实验完成时间小于等于当前原料放射结束时间时,则最短实验完成时间当前原料放射结束时间加上当前原料的加热时间。故填写tot+=task[j][2]或tot=tot+task[j][2]或tot+=task[odr[i]][2]或tot=tot+task[odr[i]][2]。
第1页/共1页
学科网(北京)股份有限公司
$
绝密★考试结束前
高三年级技术学科试题
考生须知:
1,本卷共12页满分100分,考试时间90分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4.考试结束后,只需上交答题纸。
第一部分信息技术
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据与信息的说法,正确的是( )
A. 信息可以脱离其载体被存储和保留
B. 大数据技术可以处理非结构化数据
C. 自计算机诞生后才有了信息,信息与人类生活密切相关
D. 计算机中的数字以二进制的形式存储,汉字以十六进制的形式存储
2. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于该系统的组成,说法正确的是( )
A. 该系统由软件、硬件和用户三部分组成
B. 校园一卡通中内置的芯片会主动向读卡器发送射频信号
C. 用来管理库存等信息的商品监控管理软件是一款应用软件
D. 服务器端的主存包括RAM、ROM和硬盘
3. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于该信息系统功能和应用的说法,不正确的是( )
A. 该系统具有数据输出功能,但不具备数据输入功能
B. 商家可利用成交数据分析学生的喜好
C. 库存情况、商品信息等数据存储在数据库中,体现了该系统的数据存储功能
D. 该系统由于断电而无法正常使用,说明该信息系统对外部环境有依赖性
4. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于信息系统安全的说法,正确的是( )
A. 销售员通过指纹识别打开售卖机,体现了该系统的访问控制策略
B. 任何密码算法中的加密密钥与解密密钥必须相同
C. 在服务器上安装杀毒软件后,则无需再安装防火墙
D. 为增强该系统的安全性,建议为每位管理员设立一个单独账户,给予不同权限
5. 学校引进的自动水果售卖系统有如下功能:学生在自动售卖机上根据需求选择水果,机器屏幕上显示选中水果的相关信息;确定下单后,学生通过校园一卡通(无源)刷卡支付;该售卖机通过联网模块将订单信息发送给服务器。商家可以通过手机端安装的商品监控管理软件,实时了解库存情况、成交信息,并根据这些信息及时调整水果的采购量,通过指纹识别打开售卖机及时补货。
下列关于人工智能的说法,不正确的是( )
A. 符号主义难以构建完备的知识库和完善的推理方法
B. 指纹识别基于数据驱动,无需事先手工构造知识库
C. 强化学习是一种问题引导下的人工智能学习方法
D. 学生通过校园一卡通刷卡支付属于人工智能的应用
6. 下列关于网络的描述,说法正确的是( )
A. 目前覆盖面广、影响力大的三大网络分别是局域网、城域网和广域网
B. 移动终端访问服务器必须遵循网络协议
C. 网络具有资源共享功能,这里的资源仅指网络中的数据
D. DHCP负责将局域网的私有地址转换为公有地址
7. 下面关于编码的说法,不正确的是( )
A. 一张未经压缩的1024×800像素、256色的位图,存储容量为800KB
B. 模拟信号的数字化一般需要经过采样、量化与编码
C. 量化值的取值范围是0到255时,量化位数至少为7位
D. 生成付款二维码的过程属于对信息的编码
8. 栈s的最大长度为3,初始为空,经过一系列入栈、出栈操作,若元素出栈的顺序是e,c,b,a,d,则可能的入栈序列为( )
A. a,b,c,d,e B. a,e,c,b,d C. e,b,a,c,d D. d,e,a,b,c
9. 有如下Python程序段,若n的值为8,key的值为23,数组元素a[0]至a[n-1]依次存放13,17,20,23,23,24,39,43。
i=0;j=n-1;c=0
while i<=j:
m=(i+j)//2
c+=1
if a[m]<=key:
i=m+1
else:
j=m-1
执行该程序段后,下列说法正确的是( )
A. i的值为3 B. j的值为4 C. m的值为5 D. c的值为2
10. 有如下Python程序段:
a=[6,-9,-6,8,7,4,-3,-1]
n=len(a)
for i in range(n-1):
for j in range(n-1,i,-1):
if a[j]>a[j-1]:
a[j],a[j-1]=a[j-1],a[i]
if a[i]<0:
break
执行该程序段后,下面说法正确的是( )
A. a[0]到a[n-1]升序排序 B. a[0]到a[n-1]降序排序
C. 方框里的语句总共执行了4次 D. 变量i的值为4
11. 定义如下函数:
def f(s):
if len(s)==1:
return s
elif "0"<=s[0]<="9":
return s[0]+f(s[1:])
else:
return f(s[1:])+s[0]
执行语句print(f("lab2"))后,输出结果为( )
A. 12ba B. 12ab C. 21ab D. 2bal
12. 使用列表a模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,head为头指针。链表中各节点已按数据区域中数值的绝对值由大到小排列,如图1所示。现要修改该链表各节点的链接关系,使链表各节点按数据区域中的数值由大到小排列,结果如图2所示。实现该功能的Python程序段如下:
图1 图2
flag=False;p=head
head=-1 #head作为新链表的头指针
while p!=-1:
k=a[p][1]
if flag==False:
a[p][1]=head;head=p
if ① :
flag=True;q=head
else:
a[p][1]=a[q][1];a[q][1]=p
if ② :
q=a[q][1]
p=k
划线处应填入的正确代码为( )
A. ①a[p][0]>0 ②a[p][0]>0 B. ①a[p][0]>0 ②a[p][0]<0 C. ①a[p][0]<0 ②a[p][0]<0 D. ①a[p][0]<0 ②a[p][0]>0
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13. 提取数字字符串中以逗号分隔的数字并转换为整数存入数组,再将数组中的元素进行分类,第一类为“小于30”;第二类为“30-60";第三类为“大于60”。例如输入数字字符串为“34,23,45,99,24,56,9,87,”,输出结果为[23,9,24][34,45,56][87,99]。
(1)实现上述功能的Python程序段如下,请在划线处填入合适的代码。
s=input("请输入字符串(数字之间用逗号分隔):")
ch="";a=[]
for i in range(len(s)):
if s[i]!=",":
ch+=s[i]
if s[i]==","or i==len(s)-1:
a.append(int(ch))
①____
i=0;j=len(a)-1;k=0
while k<=j:
if ②____:
a[i],a[k]=a[k],a[i]
i+=1
elif a[k]>60:
a[k],a[j]=a[j],a[k]
j-=1
③____
k+=1
print(a[:i],a[i:j+1],a[j+1:])
(2)若两组输入的数据分别为"12,78,65,7,45,2,55,"、"12,78,65,7,45,2,55",则两组输出的结果____(单选,填字母:A.一致;B.不一致)
14. 小明要搭建一个空气质量监测系统,该系统能实现监测周围环境的PM2.5浓度值,当浓度值大于阈值时发出警报。用户通过浏览器查看实时监测的数据和历史数据。该系统结构示意图如图1所示,传感器采集的数据由智能终端经IOT模块发送给Web服务器,并存储在数据库中。执行器用于实现数据异常时的报警功能。请回答下列问题:
图1
(1)关于该空气质量监测系统及其搭建,下面说法不正确的是____(多选,填字母)。
A.该系统采集的实时数据可为用户的健康出行做参考,具有较好的社会意义
B.该系统采用B/S架构,用户需安装专门的程序才能访问该系统
C.该系统可以同时为多个用户提供数据查询服务
D.必须所有硬件搭建完成后,才能进行服务器端的程序编写
(2)服务器端获取来自智能终端提交的数据并进行相应处理,部分代码如下:
#导入相关模块,代码略
app=Flask(name_)
@app.route("/input")
def add_data():
#从数据库中获取阈值,保存在h中,代码略
pm_value=int(request.args.get("d"))
#将pm_value的值存入数据库,代码略
if pm_value>h:
return "0"
else:
return "1"
①智能终端将采集到的PM2.5浓度数据保存在变量data中,提交数据到Web服务器的URL为http://192.168.35.1:8000/input?d=data,则响应该URL请求的Web服务器IP地址为____,服务器中视图函数____(填写函数名称)的代码会被运行。
2智能终端在接收到来自服务器返回的数据“1”时,需要给执行器发送指令实现_________(单选,填字母:A.开启执行器发出警报;B.关闭执行器停止警报)
(3)系统正常运行一段时间后,用户通过浏览器查看到实时数据超过阈值时,系统却没有发出警报,造成这个问题的可能原因是(写两项):____。
(4)小明将系统中2023年的所有PM2.5浓度值导出,进行预处理后,得到如图2所示的数据(日期格式为“年-月-日”),编写程序分析每个月空气中PM2.5浓度为“合格”的情况(PM2.5浓度值不超过75表示“合格”,否则为“不合格”)。
图2 图3
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("2023年.xlsx")
df.insert(0,"月份","") #插入列
for i in df.index:
t=df.at[i,"日期"] #通过行标签和列标签选取单个值
df.at[i,"月份"]-t[5:7]
x=df2["月份"]
y-df2["PM2.5"]
plt.bar(x,y)#绘制柱形图
#设置绘图参数,显示如图3所示的柱形图,代码略
①方框处的代码实现统计每个月PM2.5指标为合格的总天数,下面代码能实现该功能的是____(单选,填字母)
A.dfl=df.groupby("月份",as_index=False).count()
df2=dfl[df1["PM2.5"]<=75]
B.dfl=df[df["PM2.5"]<=75]
df2=df.groupby("月份",as_index=False).count()
C.dfl=df[df["PM2.5"]<=75]
df2=dfl.groupby("月份",as_index=False).sum()
D.dfl=df[df["PM2.5"]<=75]
df2=dfi.groupby("月份",as_index=False).count()
②小明分析图3发现,PM2.5浓度值为“合格”的天数最少的是____月份,并建议公众在该月份做好健康防护工作。
15. 小明想研制一种药物,他采集了n种原料,现需要对每种原料的成分进行精密的分析。每种原料的分析都必须依次经过两个步骤:先进行放射试验,再进行加热试验。因为实验室里只有一台放射试验仪器和一台加热试验仪器,所以,同一时间最多只能做一个放射试验和一个加热试验。为尽早完成试验,小明将放射试验用时短的尽量排前面,加热试验时间用时短的尽量排后面。
例如:有A~E共5种原料,每种原料需要的试验时间如图1所示;最终各原料的试验安排如图2所示。
原料名称
放射试验时间
加热试验时间
A
8
5
B
4
2
C
4
10
D
16
7
E
3
5
图1
图2
图3
编写程序:给定各种原料所需试验的时间,根据上述方法安排试验顺序并计算所有原料完成试验的最早结束时间,输出结果如图3所示。
(1)自定义函数order(task,n)的功能是安排合理的试验顺序,使得试验尽早完成。其中参数task的每个元素由原料名称、放射时间和加热时间3个数据项构成,参数n为原料种类。
def order(task,n):
f=[False]*n
st=-1;ed=n
min=30000 #已知每个试验时间最多不超过30000
for j in range(n):
if f[j]==False:
for k in range(1,3):
if task[j][k] < min:
min=task[j][k]
bestj=j
bestk=k
if bestk==1:
st+=1;odr[st]=bestj
else:
ed-=1;odr[ed]=bestj
若task=[['A',5,2],['B',4,2],['C',1,8]],n=3,请回答下列问题。
①调用该函数后,st和ed的值分别为____,____。
②将实线框处代码改成for i in range(n-1,-1,-1),是否会影响原料试验的安排顺序?____(单选,填字母:A.会;B.不会)
③上述程序中,划线处应填入的正确代码是____
(2)实现程序功能的部分代码如下,请在划线处填上合适的代码。
def CalTime0:
tm=[0]*n#各原料完成放射试验的结束时间
tm[0]=task[odr[0]][1]
for i in range(1,n):
①____
tot=0
for i in range(n):
j=odr[i]
if tot>tm[i]:
②____
else:
tot=tm[i]+task[j][2]
return tot
`
读取原料试验数据,并存入列表task。task[i]包含3个数据项,task[i][0]、task[i][1]、task[i][2]分别存放该原料的名称、放射试验和加热试验的单位时间量,代码略
如task=[['A',8,5],['B',4,2],['C',4,10],['D',16,7],['E',3,5]]
`
n=len(task)
odr=[-1]*n
order(task,n)
#输出所有原料的试验顺序,如图3,代码略
print("结束试验的最早时间:",CalTime())
第1页/共1页
学科网(北京)股份有限公司
$