绝密★考试结束前
金华十校 2023 年 4 月高三模拟考试
技术试题
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题, 每小题 2 分,共 24 分。在每小题给出的四个选项中, 只 有一个符合题目要求)
1.关于数据与大数据的说法,正确的是( )
A.人类对于数据的利用不需要依赖载体
B.数据具有价值,且价值不会发生变化的
C.能用传统算法和数据库系统处理的海量数据不能算“大数据”
D.电商平台的“个性化推荐”是基于大数据精确分析了用户购买商品的原因
(
.
..
)2.下列关于人工智能的说法, 不正确的是( )
A.深度学习是需要人工构造知识库的人工智能方法
B.强化学习是问题引导下的人工智能学习方法
C.符号主义人工智能需要构建知识库和推理引擎, 需要对知识进行精确编码 D.跨领域人工智能依赖已有数据和规则, 举一反三、触类旁通,开展深度推理 阅读以下材料, 回答第 3-5 题
某智能家居系统—— 美居, 是基于鸿蒙的全场景智能家居操作软件。各种智能家居设备 连接到美居系统后, 家庭成员都可以在手机、平板、电脑上使用“美居 APP”登录美居系统, 远程实现“查询家中空调检测到实时温度、远程控制各类家居设备”等多种功能。 3.下列关于该信息系统的说法, 正确的是( )
A.“美居 APP”可控制家中智能设备属于系统软件
B.该系统中的用户包括“美居 APP”的开发人员
C.该系统的硬件设备是指安装有美居 APP 的手机
D.该系统的运行对外部环境不存在任何依赖
4.下列关于该系统中数据与数据传输的说法, 正确的是( )
A.该系统用于“智能家居操控”,系统本身无需数据存储功能
B.用户使用手机“美居 APP”控制智能家居, 所有数据都将保存在手机上 C.系统要实现“手机查询家中的实时温度”,可使用传感器获取环境温度
D.用户在手机上用“美居 APP”的控制家居设备, 数据传输过程无需连接因特网 5.为了提升智能家居系统的安全性, 下列说法正确的是( )
A.在该系统中为所有的用户设置相同的访问控制权限
B.建议用户将密码设置成由“数字、大小写字母和特殊符号”组成的强密码 C.在家人外出时,关闭家里的计算机网络,可确保系统的稳定运行
1
D.该系统可以用指纹识别登录系统,这是一种常用的访问控制策略
6.下列关于网络系统的说法,正确的是( )
A.将局域网接入互联网时,必须用交换机将私有地址转化为公有地址 B.路由器开启 DHCP 服务后,局域网中的设备联网可自动获取 IP 地址 C.网络由数据通信系统、网络软件、网络协议三部分组成
D.手机可以直接链接无线网络, 所以无线网络传输数据不需要传输介质 7.如第 7 题图所示的流程图 a 和b 的算法功能
相同(x,y 为不同的值) ,则图b 中①②③
处应填入的内容是( )
A.①m=y-x ②x
B.①m=x-y ②x>y ③m=y-x
C.①m=y-x ②x>y ③m=y-x
D.①m=x-y ②x8.下列 Python 表达式用于表示“一棵n
(n≥3,n为奇数) 个节点的二叉树的叶
子节点最大可能数量”,正确的是( )
A.n-1 B.n//2
C.n//2+1 D.n/2
9.下列关于线性表的描述,正确的是( )
A.链表在访问、插入、删除节点操作时, 算法效率比数组高
B.栈是一种“先进先出,后进后出”的线性表结构
C.循环队列是首尾相连的队列, 数据入队时无需考虑是否会“溢出”
D.字符串是元素个数有限的线性表结构
10.有如下 Python 程序:
a=[0,20,23,23,24,24,31,48,49,73,75]
key=int(input())
c=0
i,j=1,10
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
c+=1
print(c)
若程序运行后,输出的结果是 3,则输入的 key 可能是( )
A.20 或 73 B.24 或 49 C.23 或 24 D.23 或 49
2
(
while
:
) (
if
:
)11.计算“字符串 s1 在字符串 s2 中出现的次数”,是常见的字符串匹配问题。如下 Python 程序用于解决这一问题, 程序运行效果如第 11 题图所示。
3
s1=input()
s2=input()
n1,n2=len(s1),len(s2)
c,i=0,0
(1)
for j in range(n1):
(2)
break
else:
c+=1
print("第",c,"个在",i)
第 11 题图
(3)
i+=1
print("共有个数:",c)
上述程序段中方框处可选代码为:①i<=n2-n1 ②i<=n1-n2 ③s1[i+j]!=s2[j] ④s2[i+j]!=s1[j] ⑤i+=n1-1 ⑥i+=n1,则(1)(2)(3)处代码依次为( ) A.②③⑥ B.①③⑤ C.②④⑥ D.①④⑤
12.有如下 Python 程序段:
import random
q=["A","B","C","D","#"]
head,tail=0,4
s=[0]*5
top=-1
for i in range(5):
t=random.randint(0,1) #随机生成 0 或 1
if t==0 and headtop+=1;s[top]=q[head]
head+=1
elif t==1 and top!=-1:
s[top]=0;top-=1
执行该程序后, s 的值不可能的是( )
A.['A', 'B', 'C', 'D', 0] B.['D', 0, 0, 0, 0]
C.[0, 0, 0, 0, 0] D.['A', 'C', 'D', 0, 0]
二、非选择题 (本大题共 3 小题, 第 13 题 8 分,第 14 题 9 分, 第 15 题 9 分, 共 26 分。) 13.小单设计并搭建了一个智能鱼缸系统。此系统可以对照明时长、水温、水位等数据进行
监测与控制。小单搭建水位检测功能时, 采用水位传感器实现低于预设水位时报警并自 动加水,到达最高水位时停止加水的功能。系统支持远程访问, 结构如第 13-1 图所示。
第 13-1 图
(1)关于控制与反馈流程如第 13-2 图所示,①②③处填空正确的是 (单选,填字母)
第 13-2 图
A.传感器 控制器 执行器 B.控制器 执行器 传感器
C.传感器 执行器 控制器 D.控制器 传感器 执行器
(2)根据本系统网络应用的软件架构,编写程序时需要编写 的程序 (单选,填 字母:A.服务器端/ B.客户端/ C.服务器端与客户端)。
(3)用 Flask Web 框架编写网页实现“显示水位”,路由和视图函数如下所示,访问该网 页的 URL 是 。
app=Flask(_name_) server=Server(host="172.168.0.1",port=80,threaded=True) @app.route('/show') def get():
(4)鱼缸正常水位范围是 wmin~wmax,用 state=0,1,2 分别表示水位正常、偏低和偏高, 用程序实现根据当前水位 wl 设置相应的 state,符合要求的 。(多选,填字母。 注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)
4
A.if wl> wmax:
state=2 elif wl< wmin:
state=1
else:
state=0
B.if wl< wmin:
state=1 if wl> wmax:
state=2
else:
state=0
C.state=0
if wlwmax: state=2
D.if wlstate=1
else:
if wl>wmax:
state=2
else:
state=0
(5) 系统运行一段时间后,有一次发现水位到达 wmin 值时, 系统没有报警与自动加水。经 检查 WEB 服务器能访问数据库, Wi-Fi 也正常,原因可能是 。
(注: 回答两项,多答仅前两项有效。全对 2 分, 1 对 1 错或仅有 1 项正确得 1 分) 14.李老师收集了 2022 级学生“七选三”选课意愿数据,每个班的数据分别保存以’xk’+
班级为命名的 xlsx 文件中,如第 14-1 图所示,每个文件记录了该班每位学生的选考科 目选课情况,如第 14-2 图所示。
第 14-1 图 第 14-2 图
为统计分析全年级“七选三”选课意愿数据, 编写 Python 程序, 请回答下列问题: (1)读取各班 xlsx 文件, 并合并到一个 DataFrame 对象。程序代码如下,请在划线处填入
合适的代码。
def data(i):
i=i+1
if ① :
t='0'+str(i)
else:
t=str(i)
df_t=pd.read_excel ('xk'+t+'.xlsx')
return df_t
n=12
df=pd.DataFrame() 第 14-3 图
for i in range(n):
df=df.append( ② ,ignore_index=True) #在 df 末尾追加一个 DataFrame (2) 统计“技术”选课人数占总人数的比例, 并作出各个科目选课人数的柱形图。
km={'物理':0,'化学':0,'生物':0,'政治':0,'历史':0,'地理':0,'技术':0} for i in range(len(df)):
xk=df['选课'][i].split(',') #将'选课'字符串以逗号分割出来
for j in xk:
____①______
print('选考技术占比: '+str(round( ② *100,2))+'%')
df_km=pd.DataFrame({'科目':km.keys(),'人数':km.values()}) #转换为 DataFrame plt.title('选考各科目人数对比图')
plt.bar( ③ ,df_km['人数'],label='各科目人数')
plt.legend()
plt.show ()
(3)分析第 14-3 图可知, 选课人数最多的三门科目是_____________。
5
15.餐厅叫号系统是现代化餐厅常用的信息管理系统,小明设计了一款模拟餐厅叫号系统的 程序。该程序在读取当天就餐信息(数据格式如 15-1 图所示)后, 可以模拟餐厅叫号的顺 序,并计算出当天所有客人的等待时间。 餐厅共有 3 种不同类型座位, 数量分别是 30、 10、10。客人到达餐厅后,若对应类型的座位有空位,则直接安排客人点餐;若对应类 型的座位没有空余, 则需要排队等待其他客人离开后才能安排点餐。
小明将原始数据读取后将时间格式“HH:MM”换算成分钟,然后按分钟数升序排列,再 依次模拟餐厅叫号的过程, 同时计算客人的等待时间,程序运行结果如第 15-2 图所示。
6
第 15-1 图
第 15-2 图
(1)“data.csv”中的原始数据需要进行换算和排序后才能进一步处理, 读取与排序的程 序如下。
a=[]
def read_data(): #读取数据并排序
df=pd.read_csv ("data.csv")
for row in df.values:
s=row[1]
b,c=map(int,s.split(':'))
s=b*60+c
a.append([row[0],s,row[2]])
#逐行读取数据到列表row
#将时间数据赋值到 s
#以“:”分割小时到 b,分钟到 c
#将b 小时、 c 分钟换算成 s 分钟
#a 追加一个元素[row[0],s,row[2]]
n=len(a)
for i in range(n-1):
for j in range(n-1,i,-1):
if a[j][1]a[j],a[j-1]=a[j-1],a[j]
①若“data.csv”文件中有 10 条记录,则上述程序中语句“if a[j][1]②若将上述程序中的语句“s=b*60+c”删除, 仅以第 15-1 图可见的 6 条数据运行上述 程序后,列表 a 中元素依次为( )
(2)实现模拟叫号程序并统计所有客人等待时间的部分 Python 程序如下,请在划线处填 入合适的代码:
read_data() #调用 read_data()函数完成数据读取及排序
n=len(a)
b=[0,30,10,10] #初始 3 种类型的座位数分别是 30,10,10
h=[]
q=[]
for i in range(4):
h.append([-1,-1]) #h 末尾追加一个元素[-1,-1]
c=0
①
for i in range(n):
m=a[i][0]
if a[i][2]=="OUT":
b[m]+=1
if h[m][0]!=-1:
total+= ②
h[m][0]=q[h[m][0]][2]
b[m]-=1
print("类别为",m,"的客人在",a[i][1],"分点餐")
else:
if b[m]>0:
b[m]-=1
print("类别为",m,"的客人在",a[i][1],"分点餐")
else:
q.append([m,a[i][1],-1])
if h[m][0]==-1:
h[m][0]=c
if h[m][1]!=-1:
③
h[m][1]=c
c+=1
print("所有客人等待时间:",total,"分钟")
7