绝密★考试结束前
Z20名校联盟(浙江省名校新高考研究联盟)2023届高三第三次联考
技术试题卷
考生须知:
1.本卷满分 100分,考试时间 90分钟。
2.答题前,在试卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号。
3.所有答案必须写在答题卷上,写在试卷上无效;考试结束后,只需上交答题卷。
第一部分:信息技术解析(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符
合题目要求的,不选、错选、多选均不得分)
1.下列关于数据和信息的说法,正确的是
A.只有计算机才能处理数据
B.文本、图像、声音、视频等都是信息
C.信息经过加工、处理、分析后可以更好地被人们使用
D.信息的价值对于不同的人群是相同的
【答案】C
【解析】
本题考察信息、数据等相关基础概念区分
A.只有数字化的信息才能被计算机处理,人脑也可以处理数据,错误
B.文本、图像、声音、视频等都是数据,错误
D.信息具有价值性,对于不同的人群其价值可能有所不同,错误。
2.下列关于大数据的说法,不.正.确.的是
A.大数据处理数据一般采用分治思想
B.文本数据处理是大数据处理的重要分支之一
C.大数据技术可以处理非结构化数据
D.大数据处理的数据整体价值密度高
【答案】D
【解析】
本题考察大数据相关概念
大数据处理采用分治思想,具有数据规模大、处理速度快、数据类型多、价值密度低等特征。
阅读下列材料,回答 3-7 题
体脂秤不仅可以测量体重,还可以利用生物电阻抗法测得体脂率。人光脚站在秤上的时候,通过
电极片发出微弱的电流,与人体内部形成一个闭合电路。因为人体肌肉和脂肪的电阻率不同,以电
流通过的难易程度就能判断出人体的脂肪和肌肉含量,从而测得体脂率。Keep体脂秤能精确测得体
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 1 页 共 11 页
脂率,全方位分析 15项身体成分指标,并通过蓝牙模块将数据传输给 Keep App。系统根据身体数
据和变化趋势,基于 Keep的海量运动大数据,通过 AI算法,推荐饮食和训练。
3.根据阅读材料,下列说法正确的是
A.Keep App属于系统软件 B.Keep App只有通过Wi-Fi才能采集到体脂数据
C.本信息系统中的用户是体脂秤的使用者 D.体脂秤可以使用压力传感器测量体重
【答案】D
【解析】
本题考察信息系统相关概念
Keep App是一款应用软件,可以通过蓝牙或者通信网络将数据传到 Keep App 服务器,使用这
款软件的用户都是该系统的用户。故选 D。
4.通过 AI算法推荐饮食和训练,主要体现的人工智能方法是
A.符号主义 B.联结主义 C.行为主义 D.建构主义
【答案】B
【解析】
根据材料可知推荐饮食和训练是该软件根据海量运动大数据计算得到,典型的数据驱动的人工智能,
属于联结主义。
5.信息系统广泛使用不但给人们带来诸多便利,同时也产生了许多安全隐患。下列关于信息安全的
描述,不.正.确.的是
A.手机在安装 App时,慎重开放软件使用权限
B.重要数据可以通过加密提升安全性,无需再备份
C.通信过程中通过数据校验,可以保障数据的完整性
D.保护存储介质的安全,可以提升数据的安全性
【答案】B
【解析】
本题考察信息系统安全与保护
再安全的防护也需要做好备份,以防数据丢失。
6.小明根据 Keep App 的推荐,每周进行跑步训练。某次跑步后的数
据如第 6题图所示。下列说法不.正.确.的是
A.手机中的 GPS模块可以帮助 APP实时获取小明的位置
B.App界面中呈现的跑步距离是系统自动采集
C.图中显示小明的跑步轨迹是数据的一种可视化效果
D.Keep App实时记录的跑步数据是静态数据
第 6题图
【答案】D
【解析】
本题考查传感器和数据可视化及数据处理的类型。
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 2 页 共 11 页
A选项 GPS 模块是一种传感器,可以获取地理位置信息。B 选项 Keep 体脂秤还集成距离传感
器,获取实时的位移数据。C选项以图表的形式体现数据,是数据可视化的一种。D选项跑步数据
是不间断地、持续地到达的实时流数据。
7.根据第 6题图,假设用变量 s表示跑步里程(公里),t表示跑步时长(秒),v表示配速(x分 y
秒/公里)。则根据 s和 t求得 x和 y的 Python表达式分别为
A.int(t/s//60)和 int(t/s%60) B.int(s/t//60)和 int(s/t%60)
C.int(t/s%60)和 int(t/s//60) D.int(s/t%60)和 int(s/t//60)
【答案】A
【解析】
本题考查 Python表达式的表示。
从配速的单位(x分 y秒/公里)来看,是每公里跑步所需的时间,图中用时 26:45分,跑步 4.87
公里,配速 5分 26秒。因此用时 t除以跑步里程 s的结果为配速,整数部分为分,余数部分为秒。
8.有四个元素 A,B,C,D按顺序入栈。约定:P操作是指一个元素入栈,O操作是指一个元素出栈。
经过一系列操作后,四个元素的出栈顺序为 C,D,B,A,则经过的操作是
A.PPPOOPOO B.PPPOPOOO C.PPOOPPOO D.PPPPOOOO
【答案】B
【解析】
本题考查栈的性质。
栈是一种先进后出的数据结构,C要出栈,则 A,B,C分别入栈,D入栈后再出栈,最后将栈中
B和 A分别出栈。
9.采用冒泡排序算法对数据序列“7,3,8,2,1,9”进行排序,第一轮排序后的结果为“3,7,2,1,8,9”,则完成
整个排序需要交换的次数是
A.6次 B.7次 C.8次 D.9次
【答案】C
【解析】
本题考查冒泡排序的算法思想。
从第一轮排序后的结果来看,实现从前往后升序排列,只要找出序列中的逆序对,就可以判断
交换次数。7和后面的 3,2,1是逆序对,3和 2,1是逆序对,8和 2,1是逆序对,2和 1是逆序对,共
有 8组逆序对。
10.列表 a包含 n个互不相等的正整数,即 a[0],a[1],……,a[n-1],求其中任意两个元素之和的最大值
的程序段如下:
s=0
b=a[0]
for i in range(1,n):
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 3 页 共 11 页
print(s)
划线处应选填的代码顺序是
①b=max(a[i],a[i-1]) ②b=max(b,a[i])
③s=max(s,a[i]+b) ④s=max(s,a[i]+a[i-1])
A.③② B.③① C.④② D.④①
【答案】A
【解析】
本题考查最值问题及迭代算法知识。
由代码可知,程序中重要变量主要有 s 和 b,且最后输出的两个元素(都是正数)和的最大值
被保存在变量 s 中。观察可选项可知,变量 b 本身需要迭代的思想,即在原来的变量 b 和列表元素
a[i]之间选出新的较大值 b,因此在①②中选择②,从而排除选项 BD。另外,两个元素和的最大值
s 也必须体现迭代算法思想,即在原先的 s 和新的两个元素和之间选择最大值并更新 s,故在③④中
选择③,故本题选 A。
11.有如下 Python程序段:
def tra(head,a):
if head==-1:
return " "
tra(a[head][1],a)
print(a[head][0],end=" ")
a=[["A",3],["C",2],["D",4],["B",1],["E",-1]]
head=0
tra(head,a)
运行该程序段后,输出的结果是
A.E D C BA B.A B C D E C.E B D CA D.A C D B E
【答案】A
【解析】
本题考查链表访问及递归和自定义函数知识。
自定义函数 tra()属于递归函数,其递归结束条件是 head=-1,其递归公式是 tra(a[head][1],a)。
因此结合列表 a,可以根据递归函数 tra()和初始条件 head=0,模拟出其输出值为 E、D、C、B、A。
故选 A。
12.有如下 Python程序段
from random import randint
k=randint(0,2)*2
i=0;j=6;cnt=0
while i<=j:
cnt=cnt+1
m=(i+j)//2
if a[m]==a[k]:
break
if a[m]
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 4 页 共 11 页
i=m+1
else:
j=m-1
数组元素 a[0]到 a[6]各不相同且按升序排列,执行该程序段,下列说法不.正.确.的是
A.m 的值不可能为 6 B.cnt 的值一定为 3
C.变量 i、j 的值一定相同 D.i 的值可能小于 m
【答案】D
【解析】
本题考查随机数及二分查找知识。
由代码可知,变量 k值的取值范围是 0、2、4,cnt记录查找次数,m为中值。且数组元素 a[0]
到 a[6]各不相同且按升序排列,要查找的 key相当于就是数据 a[k]。按照 k的取值,列出如下二分查
找的表格,用于模拟查找过程中的各种可能:
k key 二分查找次数 i j m cnt 程序状态(是否找到)
1 0 6 3 1
0 a[0] 2 0 2 1 2
3 0 0 0 3 找到,break退出
1 0 6 3 1
2 a[2] 2 0 2 1 2
3 2 2 2 3 找到,break退出
1 0 6 3 1
4 a[4] 2 4 6 5 2
3 4 4 4 3 找到,break退出
综上所述,可知执行该程序段后,选项 ABC均正确,且 i的终值都等于 m,故选项 D错误。
二、非选择题(本大题共 3小题,其中第 13小题 8分,第 14小题 9分,第 15小题 9分,共 26分)
13.小朱是校图书馆的一名志愿者,他与同学们计划搭建一个智慧校内图书管理系统。该系统服务
器端程序采用 Flask Web框架编写。所有图书已经设置了相应的电子标签,当学生借阅图书时,
系统识别图书上的电子标签,采集的数据发送到Web服务器。
(1)搭建智慧图书借阅管理系统前正确的准备步骤是 ▲ 。
①确定系统应具备的功能模块、系统物理配置和数据库管理系统选择;
②调查所有师生和管理员对图书管理系统的需求;
③明确系统“先干什么,后干什么”,进行输入、输出设计,人机界面设计等;
④分析学校的经济、技术、环境等方面的可行性;
⑤选择图书管理系统的开发模式。
A.②①⑤④③ B.①④⑤②③ C.②④⑤①③ D.①②⑤④③
(2)系统读取电子标签信息的过程采用 ▲ 技术。(单选,填字母:A.红外线识别 / B.射
频识别 / C.图像识别)
(3)小朱在图书管理系统中设计了一个查询剩余天数的功能,网页部分效果如第 13题图所示。
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 5 页 共 11 页
第 13题图
实现上述功能部分代码如下:
def getbook(bh):#查询并返回数据库中的指定编号的记录
conn=sqlite3.connect('library.db')#连接数据库
cur=conn.cursor()#生成一个游标
cur.execute('select * from books where book_no=%s'%bh)
book=cur.fetchall()
cur.close()#关闭游标
conn.close()#关闭数据库连接
return book
def daydelta(a,b): #计算两个日期间隔的天数
代码略
@app.route(' ① ',methods=['GET','POST'])
def cal():
if request.method=='POST':
bh=request.form.get('bh') #获取图书编号
book= ② #查询该编号的图书记录
today=datetime.now().strftime('%Y-%m-%d') #将时间转成字符型数据并保存
passdays=daydelta(book[0][4],today) #计算出借日至今的天数
ds=14-passdays
#渲染模板,代码略
else:
return redirect('/')
观察上述代码可知,存储相关数据的数据表名称是 ▲ ,服务器端采用 ▲ (选
填:GET / POST)方式获取图书编号。
(4)结合上述代码,通过 http://192.168.1.7:5000/cal_days访问服务器能实现查询剩余天数的功
能,请在划线处填入合适的代码。
(5)学校图书馆借阅规定:前 14天为正常借阅期,第 15天起为逾期。上述程序加框处的功能
为“正常借阅期内输出剩余天数,逾期后输出逾期天数”,已知 passdays为借出天数,则加
框处代码为 ▲ (多选,填字母)。
A. if ds<0: B. if ds<0:
tips="图书已逾期,逾期天数为"+str(ds) ds=-ds
else: tips="图书已逾期,逾期天数为"+str(ds)
tips="图书借阅剩余天数为" + str(ds) else:
tips="图书借阅剩余天数为" + str(ds)
C. if ds>=0: D. if ds<0:
tips="图书借阅剩余天数为" + str(ds) ds=-ds
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 6 页 共 11 页
if ds<0: tips="图书已逾期,逾期天数为"+str(ds)
ds=-ds if ds>0:
tips="图书已逾期,逾期天数为"+str(ds) tips="图书借阅剩余天数为" + str(ds)
【答案】
(1)(1 分)C
(2)(1 分)B
(3)(1 分)books (1 分)POST
(4)(1 分)/cal_days (1 分)getbook(bh)
(5)(2 分)BC
【解析】
本题考查信息系统综合知识。
(1)搭建信息系统顺序为:需求分析--可行性分析--开发模式选择--概要设计--详细设计、
①为概要设计,②为需求分析,③为详细设计,④为可行性分析,⑤为开发模式选择,故顺序为②
④⑤①③,选 C
(2)读取电子标签信息的过程采用射频识别技术,选 B
(3)从查询语句:'select * from books where book_no=%s'%bh
可以看出,查询的数据表名为:books,而从语句 bh=request.form.get('bh') #获取图书编号
可以看出,变量 bh的值通过 POST方式获取。
(4)从截图地址栏可以看出,实现查询功能的路由是/cal_days ,bh的图书记录可以能过 getbook(bh)
函数获取,填:getbook(bh)
(5)从赋值可知,若 ds<0 说明已逾期,逾期天数为-ds,若 ds>=0,还剩下 ds 天。综合以上,选
BC。
14.游老师统计了 2013年至 2021年每年专科、本科、硕士和博士的毕业人数(单位:万人),数
据保存在“Graduate.csv”中,如第 14题图 a所示。
第 14题图a
(1)统计每年的毕业总人数并绘制柱状图,请在划线处填写合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei']
df=pd.read_csv("Graduate.csv")
df.共计= ①
x=df["年份"]
y= ②
plt.bar(x,y)
#设置绘图参数,绘制线型图,代码略
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 7 页 共 11 页
(2)游老师编写如下代码用来统计毕业人数增长率最高的年份,增.长.率.相.同.的.年.份.同.时.输.出.。
请在划线处填写合适的代码。输出结果如图 b所示
注:2014 年增长率=(2014 年毕业人数-2013 年毕业人数)/2013 年毕业人数
data=df["共计"].values.tolist() #将每年毕业总人数数据转换成列表
year=["2014年","2015年","2016年","2017年","2018年","2019年","2020年","2021年"]
rate=[];imax=[0]
for i in range(1,len(data)):
rate.append(round( ① ,4))
for i in range(len(rate)):
print(year[i],"增长率为:",rate[i])
for i in range(1,len(rate)):
if ② :
imax=[i]
elif rate[imax[0]]==rate[i]:
imax.append(i)
print("毕业人数增长率最高的年份是:",end="") 第 14题图 b
for i in range(len(imax)):
print( ③ )
【答案】
(1)
①df.sum(axis=1) (2 分)
或 df["专科"]+df["本科"]+df["硕士"]+df["博士"]或 df.专科+df.本科+df.硕士+df.博士
②df["共计"] 或 df.共计 (2 分)
(2)
①(data[i]-data[i-1])/data[i-1] (1 分)
②rate[imax[0]]③year[imax[i]] (2 分)
【解析】
考查 pandas模块、数据处理
(1)
① 每年的毕业生汇总,水平方向的求和:df.sum(axis=1)
或 df["专科"]+df["本科"]+df["硕士"]+df["博士"]
或 df.专科+df.本科+df.硕士+df.博士
其实最新版本的 pandans,还要增加一个参数,否则报错:df.sum(numeric_only=True, axis=1)
②柱状图的 y轴数据:df["共计"] 或 df.共计
(2)
①根据给出的公式,对应的代码:(data[i]-data[i-1])/data[i-1]
②根据下面代码 rate[imax[0]]==rate[i],不难得出对应代码:rate[imax[0]]③根据图 b,这里要输出对应的年份,代码:year[imax[i]]
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 8 页 共 11 页
15.某办事处每天都有客户来办理业务,每位客户信息包括客户编号、到达时间、办理业务所需时
长和客户等级(1代表是 VIP,0代表不是 VIP),如第 15题图 a所示。已将当天所有客户信息,
按照到达时间的先后顺序存储在文件中。该办事处共有 2.个.窗.口.,初.始.时.仅.开.通.1.个.窗.口.,.当.
排.队.人.数.到.达.m.时.,.增.开.1.个.窗.口.,.增.开.窗.口.后.,.不.再.关.闭.。所有客户按照到达时间排成一队
办理业务,V..IP.客.户.优.先.。
客户 到达 办理业务所 客户
编号 时间 需时长(分) 等级
1 07:53 8 0
2 07:54 6 0
3 07:57 7 0
4 08:02 8 1
5 08:12 10 1
... ... ... ...
第 15题图 a 第 15题图 b
从文件中读取当天客户信息,根据上述规则,按办理业务顺序输出办理结果,如第 15题图
b所示。
(1)以第 15题图 a为例,若只开 1个窗口,第 4个办理业务的客户编号为 ▲ 。
(2)实现上述功能的 Python程序段如下,请在划线处填入合适的代码。
'''从文件中读取客户信息存入 data中(到达时间已转换为分钟,如 07:53转换为 473),其
中 data[0]存储第 1个客户信息,data[0][0]、data[0][1]、data[0][2]、data[0][3]为分别表示第
1个客户的客户编号、到达时间、办理业务所需时长(分)和客户等级,代码略。'''
def mt(x):
#将分钟转换为时间格式,如 473转换为 07:53,代码略
def gs(x):
#格式化输出,代码略
t=[[9999,9999],[9999,9999]]#t[0]代表第一个窗口的开始时间和结束时间,t[1]代表第二个窗
口的开始时间和结束时间
m=int(input("请输入 m的值:"))
n=len(data)
t[0][0]=data[0][1]
t[0][1]=data[0][1]+data[0][2]
print("办理序号","客户编号","开始时间","结束时间","窗口编号")
print(gs(1),gs(data[0][0]),gs(mt(t[0][0])),gs(mt(t[0][1])),gs(0))
waitnum=0
full=False #full为 True表示 2个窗口办理业务
openwin=False #openwin为 True表示增开 1个窗口
i=1;q=1;head=1;tail=1 #第一个人已经在办理业务,队伍为空
while ① :
while itail+=1
waitnum+=1
tmp=data[tail-1]
j=tail-2
while ② : #根据优先级调整排队次序
data[j+1]=data[j]
j-=1
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 9 页 共 11 页
data[j+1]=tmp
i+=1
if waitnum==m and not full:
full=True
openwin=True
break
x=0 #办理业务的窗口编号
if openwin or full and t[1][1]x=1
if openwin==True: #新开一个窗口
t[x][1]= ③
openwin=False
if waitnum>0:
t[x][0]=t[x][1]
t[x][1]=t[x][1]+data[head][2]
waitnum-=1
q+=1
print(gs(q),gs(data[head][0]),gs(mt(t[x][0])),gs(mt(t[x][1])),gs(x))
④
else:
t[x][0]=data[i][1]
t[x][1]=data[i][1]+data[i][2]
q+=1
print(gs(q),gs(data[i][0]),gs(mt(t[x][0])),gs(mt(t[x][1])),gs(x))
i+=1
head=tail=i
【答案】
(1)(1 分) 5
(2) ①(2 分)q0
②(2 分)j>=head and tmp[3]>data[j][3]或者 j>=head and tmp[3]==1 and data[j][3]==O
③(2 分)tmp[1]
③(2 分)head+=1
【解析】
(1)根据题意,并结合图 a,在只开一个窗口的前提下:首先给编号为 1的客户办理业务,开始时
间和结束时间分别为 7:53-8:01;在业务办理期间,编号 2、3的客户也已经到达,第二个办理业务的
是编号为 2的客户,开始和结束时间分别为:8:01-8:07,在此期间编号 4的 VIP客户已经到达,
所以第三个办理业务的是编号 4客户,开始和结束时间分别为 8:07-8:15,在此期间编号 5客户已经
到达,所以第四个办理业务的是编号 5客户,办理时间为 8:15-8:25。
(2)本题是一个银行排队模拟程序,用于模拟银行窗口的客户排队情况和窗口的办理业务情况:
程序从文件中读取客户信息,包括客户编号、到达时间、办理业务所需时长和客户等级。然后
将到达时间转换为分钟,并将其存储在一个列表中。
接下来,程序初始化了一个二维列表 t,其中 t[0]代表第一个窗口的开始时间和结束时间,t[1]
代表第二个窗口的开始时间和结束时间。然后程序根据第一个客户的信息初始化了第一个窗口的开
始时间和结束时间,并输出了第一个客户的办理情况。
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 10 页 共 11 页
程序通过 while循环来模拟客户排队和窗口的办理业务。循环遍历 q表示已经在办理业务的人
数,n表示办理业务的总人数,所以第 空为答案为:q在每次循环中,如果客户到达时刚好有其他客户在办理,即当前客户将到达时间早于当前窗口
结束时间,将新客户加入队列中,需要根据新客户的等级调整队列顺序。此空考察插入排序,tmp
表示新客户的信息,从队尾往队首遍历,当新客户的等级大于队伍中其他客户的等级时,将 data[j]
后移一位,所以第 空的答案为:j>=head and tmp[3]>data[j][3]或其它等效答案。
当有新用户入队,若队列长度达到了设定的最大值 m,且当前没有两个窗口同时办理业务,则
需要增开一个窗口。此时,新用户的到达时间 tmp[1]即为新窗口服务的开始时间,如果此时队伍中
仍然有客户在等待,则让排在队首的客户优先去新窗口办理业务,该客户办理业务的开始时间即为
tmp[1]。分析后续的代码段:
if waitnum>0:
t[x][0]=t[x][1]
t[x][1]=t[x][1]+data[head][2]
……..
当开启新窗口(x=1)且队伍中还有客户时,t[x][0]表示新窗口的服务的开始时间。而 t[x][0]=t[x][1]
则可以反推出上述第 空所在代码中 t[x][1]需要记录新用户的到达时间。所以第 空答案为:tmp[1]
或者 data[j+1][1]。
第 空所在的代码段表示将队首客户分配到相应窗口办理业务,同时更新相应业务办理窗口的
开始时间和结束时间,需要进行出队的操作,所以答案为:head+=1。
如果没有客户在等待,则直接将下一个客户分配给一个窗口办理业务,并更新该窗口的开始时
间和结束时间。
Z20 名校联盟(浙江省名校新高考研究联盟)2023 届高三第三次联考 技术试题卷 第 11 页 共 11 页