浙江省湖州、衢州、丽水三地市2023届高三信息技术4月教学质量检测试卷
试卷更新日期:2023-05-25 类型:月考试卷
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
-
1. 下列关于数据、信息和知识的说法,正确的是( )A、机器学习训练的数据集可以是未经数字化的 B、数据的意义与其应用场景无关 C、知识由信息的积累、归纳、总结得出 D、借助网络搜索引擎可获得海量知识2. 下列有关大数据及其处理的说法,不正确的是 ( )A、大数据支持动态跟踪,提高了数据分析的即时性 B、大数据要分析的是全体数据,而不是抽样数据 C、非结构化的文本数据更利于大数据处理和分析 D、数据可视化可增强数据的解释力和吸引力3. 阅读以下材料,回答问题:
学校使用校园一卡通系统进行管理。校园卡基于RFID技术,可用于门禁开启、食堂消费、图书借阅等,建卡、挂失、充值及信息错误修正等工作由学校财务人员负责。
(1)、下列有关该信息系统的组成,说法正确的是( )A、该系统的硬件由校园卡和刷卡机组成 B、使用记录数据只存储在校园卡的芯片中 C、学校财务人员属于信息系统的用户 D、校园一卡通系统属于系统软件(2)、为了提升信息系统的安全性,下列做法不可行的是 ( )A、安装防火墙 B、为不同用户设置相同的数据库访问权限 C、对个人敏感信息进行加密处理 D、系统服务器使用磁盘阵列进行数据冗余备份4. 下列关于网络技术的说法,正确的是 ( )A、网络是由计算机系统和网络软件两部分组成 B、网络操作系统只负责网络中软件资源的管理 C、局域网通信不需要遵循TCP/IP协议 D、移动终端可通过公共网络设施访问互联网5. 某算法的部分流程图如图所示,执行这部分流程,若输入的 x 依次为 4,5,9,14,0,则输出 n 的值是( )A、1 B、2 C、3 D、46. 用数组表示二叉树的示意图如下所示,则该二叉树的中序遍历序列为( )A、BEDFAC B、ABDEFC C、DBEAFC D、BDAECF7. 有下列 Python 程序段:a=[[1,3],[1,0],[7,1],[4,5],[1,-1],[6,4]]
x=1 p=head=2
if x==a[p][0]:
head=a[p][1]
else:
while p!=-1:
if x==a[p][0]:
a[pre][1]=a[p][1]
else:
pre=p p=a[p][1]
运行该段程序后,a[2][1]的值为( )
A、-1 B、0 C、1 D、38. 约定:T操作是指在队列中1个元素出队后再入队,E操作是指将1个元素入队,P操作是指队列中1个元素出队,队首指针head和队尾指针tail初始值均为0。则经过EETPETEP系列操作后,队首指针head和队尾指针tail的值分别为( )A、3 4 B、3 5 C、4 5 D、4 69. 数组 a 包含10个互不相同的元素,即a[0],a[1],…,a[9],其中a[0],a[2],…,a[8]称为奇数位元素,a[1],a[3],…,a[9]称为偶数位元素。有如下Python程序段:n=len(a)
for i in range(n//2-1):
for j in range(n-2,2*i,-2):
if a[j]<a[j-2]:
a[j],a[j-2]=a[j-2],a[j]
该程序段实现的功能是( )
A、仅对奇数位元素升序排列 B、仅对偶数位元素升序排列 C、奇数位元素升序,偶数位元素降序排列 D、奇数位元素降序,偶数位元素升序排列10. 定义如下函数:def move(n,a,b,c):
if n==1:
print(a,"->",c) return
move(n-1,a,c,b)
move(1,a,b,c)
move(n-1,b,a,c)
执行语句 move(2,"A","B","C"),输出的第一行内容是( )
A、a -> c B、A -> C C、a -> b D、A -> B11. 有如下 Python 程序段:import random
s=[3,2,7,6,9] ; st=[0]*len(s) ; top=-1 ; i=0
while i<len(s):
op=random.randint(0,1)
if top==-1 or op==0 and s[i]>st[top]:
top+=1 ; st[top]=s[i]
elif top>=1 and op==1 and s[i]>st[top-1]:
st[top]=s[i]
i+=1
while top!=-1:
print(st[top] ,end=" ")
top-=1
执行该程序段后,输出的结果不可能是( )
A、3 B、9 6 2 C、9 6 3 D、9 7 3二、非选择题(本大题共 3 小题,8+9+9,共 26 分)
-
12. 小王搭建了鱼缸水质水位监测系统,基于 Python 的 Flask Web 框架进行开发,该系统结构示意图如图所示。(1)、客户端通过浏览器访问Web服务器,可获得水质、水位信息,这一方案设计环节属于信息系统搭建的 (单选,填字母。A .可行性分析 /B .开发模式选择)。(2)、系统定义water(act)函数用于发送操作指令,参数act为净水或注水,系统根据水质变量q、水位变量w的值发送指令。操作规则如表所示,下列Python程序段中符合要求的是 (多选,填字母)。
水质情况
水位情况
操作
水质差
任意水位
净水
水质中
水位<70
注水
水质优
水位<50
注水
其它情况都不进行操作
A、 B、 C、 D、(3)、系统的“净水”操作使用水质过滤器,该过滤器属于 (单选,填字母)。A、传感器 B、执行器 C、客户端(4)、该系统网站功能页面规划如表所示,当浏览器向Web服务器提交“净水”操作指令,服务器端应用实例app中,与该指令关联的路由设置语句是@app.route(" ")。序号
访问地址
功能说明
1
/
主页,显示水质、水位情况
2
/water?t=注水
t为注水(或净水),实现“注水”(或净水)操作
3
/get?id=2
获取传感器 id 为 2 的所有数据
4
/view?id=1
显示 id 为 1 的传感器数据折线图
(5)、系统数据库中的数据表wstatus存储鱼缸的水质、水位信息,整型字段level存储水位,字符型字段quality存储水质,当前获取的值分别存储在水质变量q、水位变量w中,系统存储数据时,执行的SQL语句是 (单选,填字母) 。A、INSERT INTO wstatus (level,quality) VALUES (w,q) B、INSERT INTO wstatus (level,quality) VALUES (w,"q") C、SELECT * FROM wstatus WHERE level=w and quality=q D、SELECT * FROM wstatus WHERE level=w and quality="q"13. 某学院投票评选学生会优秀干事,候选人共10人,选出3人,每张选票最多可勾选5人,超过5人则选票无效。经一轮投票后,若得票数前三的候选人超过3人,则需对得票数前三的候选人进行下一轮投票,直至投出结果。小洪用Python编写投票系统,第一轮投票数据经处理后,保存在"vote2023.xlsx"文件中,部分数据如图a所示,请回答下列问题。
图 a
(1)、定义 check 函数,功能为:读取 Excel 文件返回有效票数据。函数代码如下:def check(datafile):
df=pd.read_excel(datafile)
df["票数"]=df.sum(axis=1)-df["序号"] # 统计每张选票的票选数
df1=df[ ]
return df1
划线处应填入的代码为 (单选,填字母)。
A、df.票数<=5 B、df[票数]<5 C、df.票数==5 D、df["票数"]>5(2)、统计票数前三的候选人,若有并列也统计在内,并绘制的柱形图如图 b 所 示。部分 Python 程序如下,请在划线处填入合适的代码。df=check("vote2023.xlsx")
df2=df.drop(["序号","票数"],axis=1) # 删除序号列、票数列
s=[];st=[]
for i in df2.columns:
s.append([i,int(df2[i].sum())])
#统计每人选票数,格式如['李彤',377]
for i in range(len(s)):
num=1
for j in range(len(s)):
if :
num+=1
if :
st.append(s[i]) # 存储前三名数据
for i in range(len(st)):
plt.bar(st[i][0], ) # 绘制柱形图
# 设置图表的标题及图例数据并显示图表,代码略
图 b
(3)、若对图b中5人采用投票系统进行第二轮投票,最多可投3人,5人的票数结果分别为600,211,211,589,589,则投票结果的图表中显示的候选人有个。14. 某工厂在流水线上设立转盘缓冲装置,该装置示意图如图所示。转盘共有12个孔位作为产品缓存区,产品在转盘队列中等待开关打开,当未包装产品数量低于工人数的两倍时开关打开,产品出队进入包装区,否则开关关闭。工人包装产品的熟练度不同,熟练度是指工人包装一件产品所花的时间(单位:秒)。系统运行期间,工人包装完一件产品后立即包装下一件,直至该批次产品包装结束。现编写Python程序统计工人的包装件数,并从高到低输出。
(1)、若有3个工人熟练度分别为2、3、4,现需包装9件产品,则3个工人完成包装后,包装件数最多的工人完成了件。(2)、定义insort(status)函数,参数status每个元素由包装开始时间、持续时间和件数共3项组成。函数功能实现将status按包装件数由高到低排序,并返回status。def insort(status):
for i in range(1,len(status)):
current=status[i]
j=i-1
while
current[2]>status[j][2]: # 语句 1
status[j+1]=status[j] # 语句 2
j-=1
status[j+1]=current
return status
①调用insort(status)函数,若status=[[36,37,9],[32,37,4],[36,37,6],[33,36,11]],则函数体内语句2处代码执行次数为 次。
②若将函数体内语句1画框处代码删除,调用该函数后程序提示错误,则错误原因可能是(单选,填字母)。
A.变量未定义 B.索引超出范围 C.数据类型错误
(3)、某批次共有1000件产品,产品包装完成后,输出工人的包装件数,由高到低排列。实现该功能的部分Python程序如下,请在划线处填入合适的代码。def in_que(num):
points[1]+=1
num_index=(points[1]+1)%max_que-1
if num_index==-1:
num_index=max_que-1
queinfo[num_index]=num
def out_que():
num_index=points[0]%max_que
outdata=queinfo[num_index]
queinfo[num_index]=-1
return outdata
max_que=12 # 转盘容纳产品件数
packarea=[ ]
worker=[['A',3],['B',7],['C',2],['D',4]] # 每个工人编号及熟练度 packmax=len(worker)*2 # 未包装产品数量最大值
queinfo=[-1]*max_que
points=[1,1]
status=[[0,0,0]
for i in range(len(worker))]
i,n=0,1000
while i<n or len(packarea)>0:
if points[0]!=points[1] and len(packarea)<packmax:
packarea.append(out_que())
if i<n and points[1]-points[0]!=max_que:
in_que(i)
w=0
while len(packarea)>0 and w<len(worker):
if status[w][1]-status[w][0]>worker[w][1]: # 一件产品包装完成
status[w][2]+=1
packarea=packarea[1:]
status[w][1]+=1
w+=1
status=insort(status)
# 输出工人的包装件数,由高到低排列,代码略