内容正文:
诸暨市2024年12月高三诊断性考试试题
信息技术(共50分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,回答第1至3题:
智慧路灯照明管理系统融合物联网、云计算等技术,通过相关设备采集环境亮度、交通流量等数据,并传输至服务器。系统通过数据分析,实现路灯远程监控、智能调光等功能,还能在设备异常时及时发送消息给维护人员。
1.关于该照明管理系统中数据的描述,正确的是
A.系统采集到的数据不是大数据
B.系统采集到的数据是离散的模拟信号
C.不同格式的数据必须存储在不同的存储设备中
D.环境亮度数据需要数字化后才能被该系统分析利用
2.下列关于该系统组成与功能的说法,正确的是
A.传感器的使用是控制技术的表现 B.只有路上行人是该系统的用户
C.路灯属于该系统的硬件组成部分 D.该系统必须在局域网里才能正常使用
3.下列关于该系统安全的做法,不合理的是
A.定期备份数据 B.安装杀毒软件,定时升级
C.对服务器中的数据进行加密 D.所有用户使用同一账号登录系统
阅读下列材料,回答第4至6题:
某超市使用了“智能购物车”,顾客可以通过刷脸、扫码、手动输入等多种方式激活一辆购物车,这辆购物车可以实时同步会员信息,领取卖场、品牌商优惠券。购物时只需把商品放入购物车,该车通过商品图像获取名称与价格等数据,自助结算,并将相应数据传送至服务器的数据库中。
4.智能购物过程中所使用的人工智能技术,下列说法不正确的是
A.可以通过优化算法和有效训练提高识别效率
B.实现该技术主要用到的是符号主义方法
C.可以通过优化图像特征提取提高识别效率
D.顾客通过刷脸激活购物车使用了生物特征识别技术
5.顾客刷脸时采集到一张未经压缩的BMP图像,分辨率为1024*1080像素,图像容量约为3MB,则该图像的量化位数为
A. 24bit B. 16bit C. 8bit D. 4bit
6.下列关于该系统中网络技术的说法,正确的是
A.服务器不属于该系统的网络共享资源
B.系统采集的数据上传至服务器需使用相应的网络协议
C.购物车必须通过移动通信网络同步会员信息
D.服务器网络故障不影响商品信息获取与自助结算
7.正常人的心跳为每分钟 60 ~ 100次,低于60次/分钟属于心动过缓,高于100次/分钟属于心动过速。设 hb 存储某人的心跳数据,心率状态存储在变量state 中,下列程序段不符合要求的是
A.if 60<=hb<=100:
state="心率正常"
elif hb<60:
state="心动过缓"
else:
state="心动过速"
B.if hb<60:
state="心动过缓"
elif hb>100:
state="心动过速"
else:
state="心率正常"
C.state="心率正常"
if hb<60:
state="心动过缓"
else:
state="心动过速"
D.state="心率正常"
if hb<60:
state="心动过缓"
elif hb>100:
state="心动过速"
8.某栈中数据从栈底到栈顶实现降序排列,利用队列S将数据送入该栈。队列中原始数据依次为:4、2、1、3,若队首数据大于栈顶数据,可利用操作M(出栈后再入队)调整数据入栈顺序,为将数据按要求入栈,M的执行次数至少为多少?
A.1 B.2 C.3 D.4
9.有一个循环队列,长度为 15,头指针为 head,尾指针为 tail,则下列选项中队列元素个数与其他三项不同的是
A.head=3,tail=8 B.head=8,tail=13
C.head=10,tail=0 D.head=14,tail=9
10.定义如下Python函数:
def f(m,n):
if m >= n:
return m
else:
return f(m+m%2+1,n-1)+1
执行语句k = f(6,12)后,k的值为
A.11 B.12 C.13 D.14
11.某二分查找算法的 Python 程序段如下:
from random import randint
key,cnt = randint(5, 9)*2+1,0
i,j = 0,len(d)-1
while i <= j:
cnt += 1
m = (i+j)//2
if key == d[m]:
break
elif key < d[m]:
j = m-1
else:
i = m+1
当 d 为[8,10,12,14,16,17,18,19]时,变量 cnt 的值不可能是
A.1 B.2 C.3 D.4
12.n个整数保存在单向链表中,其中 head 指针所指节点不包含数据,后续节点均包含整数数据。以下程序完成了整数数据的降序排序:
n = 5; head = 0
a = [[None, 1], [60, 2], [30, 3], [8, 4], [20, 5], [40, -1]]
for i in range(n-1):
r = head
p = a[r][1]
q = a[p][1]
while q != -1:
if a[p][0] < a[q][0]:
①
a[p][1]=a[q][1]
a[q][1] = p
r = a[r][1]
②
q=a[p][1]
#从 head 指针的下一个节点开始输出链表,结果为有序序列,代码略
划线处应该填写的语句是
A.① a[r][1] = q ② p = a[r][1]
B.① a[r][1] = p ② p = q
C.① a[r][1] = a[p][1] ② p = a[r][1]
D.① a[r][1] = a[q][1] ② p = q
二、非选择题(本大题共3小题,其中第13题10分,第14题7分,第15题9分,共26分)
13.某校为每个教室安装了新风系统用于调节室内空气质量。系统从数据库中获取空气质量阈值,根据阈值和传感器采集的空气质量数据比对结果控制执行器,并将采集到的数据存储至数据库中。网络应用软件的实现架构是B/S架构,用户可通过浏览器查询实时和历史数据。该新风系统由智能终端、传感器和执行器等构成。请回答下列问题:
(1)在设计该系统时,为了存储采集到的数据,需设计一个合适的数据库。该过程属于 ▲ (单选题,填字母)。
A.需求分析 B.可行性分析 C.概要设计 D.详细设计
(2)关于该系统中数据的处理,下列说法正确的是 ▲ (单选,填字母)
A.用户可以通过浏览器查看智能终端的数据
B.该系统处理数据的程序必须存放在服务器端
C.智能终端可以从服务器端获取数据
(3)Web服务器根据采集的数据与阈值比对结果决定是否开启执行器。如采集到的数据连续两次大于阈值,且当前执行器处于关闭状态,则开启执行器;若数据连续两次低于阈值,则关闭执行器。
服务器端的部分代码如下:
@app.route("/disp")
def show():
#实现系统数据的查看,代码略
@app.route("/input")
def scanf():
#从数据库中获取阈值mco2、前一时刻的空气质量数据preco2和通风设备状态sta,代码略
#从智能终端获取当前空气质量数据newco2,代码略
#sta值:True表示设备开启,False表示设备关闭
if not sta:
if newco2>mco2 and preco2>mco2:
sta=True
else:
if ① :
sta=False
②
#将proco2的值保存到服务器数据库中,并向sta值发送给智能终端,代码略
app.run()
请在上述程序划线处填上合理的代码。
(4)下列关于该系统的说法正确的有 ▲ (多选,填字母)。(注:全部选对得2分,部分选对得1分,不选或有错选的得0分)
A.传感器与执行器必须连接到同一个智能终端
B.智能终端也可以进行数据处理
C.智能终端与服务器进行通讯只能通过无线方式
D.本系统所使用到的所有软件必须在搭建过程中开发
E.为提高系统的安全性,必须及时更新杀毒软件
(5)该系统正常运行一段时间后,系统管理人员使用浏览器查看系统相应数据,发现页面不能显示最新数据,页面刷新后仍没有改变。请简要说明系统产生这种情况可能的原因(分别从软件与硬件不同角度分析) ▲ 。
14.高三首考中,某校的每位学生均参加了4科考试(外语+选考)。成绩公布后,校教学部门将成绩整理到EXCEl文件“成绩.xlsx”中,如图A示。现需要统计各班各科目成绩优秀学生的人数与全校优秀学生的人数,用于下学期的教学任务调整。成绩优秀条件为:外语成绩120分及以上,选考成绩90分及以上。班级数据统计结果用数值呈现,若该班级无人选考该科目,则使用“-”表示。
第14题图A 第14题图B
(1)由于采集的数据是人工输入的,有可能输入有误。现编写python程序查找输入科目数不正确的学生,学生成绩数据读入后保存在DataFrame对象sscores中。下列方法中,可行的是 ▲ (单选,填字母)
A.使用count(axis=1, numeric_only=True)函数统计每个学生的科目成绩数,再筛选出科目成绩数为4的数据项
B.使用count(axis=0, numeric_only=True)函数统计每个学生的科目成绩数,再筛选出科目成绩数为4的数据项
C.使用count(axis=1, numeric_only=True)函数统计每个学生的科目成绩数,再筛选出科目成绩数不为4的数据项
D.使用count(axis=0, numeric_only=True)函数统计每个学生的科目成绩数,再筛选出科目成绩数不为4的数据项
(2)各班各科成绩优秀人数统计结果如图B所示。实现统计功能的部分Python如下:
import pandas as pd
sscores = pd.read_excel("成绩.xlsx")
sub = ["外语","物理","化学","生物","政治","历史","地理","技术"]
clname = sscores["班级"].unique()# 获取班级名称列表
# 用于存储最终DataFrame数据的字典
dict = {key:[]for key in ["班级","外语","物理","化学","生物","政治","历史","地理","技术"]}
# 按班级遍历并统计各科目满足条件的人数,同时填充最终字典
for cln in clname:
cld = ①
# 统计外语满足条件的人数
flanguage = len(cld[cld["外语"] > 120])
dict["外语"].append(flanguage)
# 遍历其他学科,统计满足条件的人数
for subject in sub[1:]:
if len(cld[cld[subject] > 0]) > 0:
count = len(cld[cld[subject] > 90])
dict[subject].append(count)
else:
dict[subject].append("-")
dict["班级"].append(cln)
final_df = pd.DataFrame( ② )
# 输出最终统计数据
print("高三各班级各科成绩优秀人数统计:")
print(final_df)
(3)按要求统计全校各科成绩优秀学生数量,其统计结果如图C所示,绘制柱形图如图D所示,实现该功能的部分Python程序如下:
14题图C 14题图D
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 读取存储学生成绩的Excel文件,按要求统计出各科成绩优秀学生人数,代码略
# 将统计出的数据转换为DataFrame,对象名为 res_df
print(res_df)①
res_df =
# 设置中文字体,确保柱形图中能显示中文,代码略②
plt.bar( ) # 绘制柱形图
plt.xlabel("科目")
plt.ylabel("人数")
plt.title("各科优秀生人数统计")
plt.xticks(rotation=45)
plt.show()
程序的方框处依次应填入的正确代码为 ▲ (单选,填字母)
A.①res_df.sort_values("人数",ascending=True) ②res_df.index,res_df["人数"]
B.①res_df.sort_values("人数",ascending=False) ②res_df["科目"],res_df["人数"]
C.①res_df.sort_values("人数", ascending=True) ②res_df["科目"],res_df["人数"]
D.①res_df.sort_values("人数", ascending=False)②res_df.index,res_df["人数"]
15.某工厂要生产一个产品,需要经过n个工序。每道工序之间有一定先后关系,一道工序可以有若干个前置工序,每道工序最多是某一道工序的前置工序。若n=6,表(1)表示工序间的依赖关系,从中可知:完成工序4必须先完成工序0与工序5,完成工序3必须先完成工序1与工序4。
现根据各道工序间的依赖关系,安排各道工序的可行的先后顺序:0→1→5→4→3→2。
前置工序
工序
前置工序
工序
0
4
4
0
1
3
2
3
5
4
5
4
4
3
3
4
3
2
1
5
表A
表B
(1)写出表B各道工序可行的先后顺序: ▲ 。
(2)实现该功能的部分Python程序如下,请在划线处填入合适的代码。
def preij(a,n): #统计各个工序前置工序的数量
pre=[0]*n
for i in range(len(a)):
①
return pre
def insersort(d): #按前置工序数量排序
index=[i for i in range(len(d))]
for i in range(len(d)):
key=index[i]
j=i-1
while j>=0 and d[index[j]]>d[key]:
index[j+1]=index[j]
j-=1
②
return index
'''获取工序关系存储到列表a中,如表A可表示为[[0,4],[1,3],[5,4],……],工序数量存入变量n中,代码略'''
pre=preij(a,n)
preindex=insersort(pre)
flag=[False]*n #标记某道工序是否已排列
que=[0]*n
head=tail=0
s=""
i=0
while i<len(pre) and pre[preindex[i]]==0:
que[tail]=preindex[i]
③
tail+=1
s=s+str(preindex[i])+"→"
i+=1
while head<tail:
p=que[head]
head+=1
for k in range(len(a)):
if ④ :
pre[a[k][1]]-=1
if pre[a[k][1]]==0:
que[tail]=a[k][1]
tail+=1
flag[a[k][1]]=True
s=s+str(a[k][1])+"→"
print("工序为:")
print(s[:-1])
学科网(北京)股份有限公司
$$诸暨市 2024 年 12 月高三适应性考试
信息技术 参考答案
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备
选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1 2 3 4 5 6 7 8 9 10 11 12
D C D B A B C C D D A A
二、非选择题(本大题共 3 小题,其中第 13 题 10 分,第 14 题 7 分,第 15 题
9 分,共 26 分)
13.
(1)D (1 分) (2)C (1分)
(3)①newco2<mco2 and preco2<mco2 (2 分)
②proco2= newco2 (2 分)
(4)BE (2 分)
(5) (2分)
①数据库已存满。
②智能终端连接异常。(其它合理原因)
14 题
(1)C (1分)
(2)①sscores[sscores['班级'] == cln] (2 分)
②dict (2 分)
(3)B (2分)
15 题
(1)1→2→5→3→4→0或其它可行方案 (1分)
(2)①pre[a[i][1]]+=1 (2 分)
②index[j+1]=key (2 分)
③flag[preindex[i]]=True (2 分)
④a[k][0]==p and not flag[a[k][1]] 或其它合理答案 (2分)