2024 学年高三教学测试
技术 参考答案及评分标准
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中,只有
一个是符合题目要求的,不选、多选、错选均不得分)
1 2 3 4 5 6 7 8 9 10 11 12
B A D D C C D B B C C A
二、非选择题(本大题共 3 小题,其中第 13 小题 7 分,第 14 小题 10 分,第 15 小题 9 分,
共 26 分)
13.
(1)A 1分
(2)C 2 分
(3)CD 2 分
(4)abs(h[i]-h[i+1]) 或 abs(h[i+1]-h[i]) 2 分
14.
(1) 6 或 6 分 1 分
(2) ① data[i]=="1" and temp==0 2分
② temp=2*temp 或 temp*=2 2分
(3) df1.at[i,'投球情况'] 或 df1['投球情况'][i] 或其他正确答案 2 分
(4) ① mean() 1 分
② CD 2 分
15.
(1) sumi+=j 或 sumi=sumi+j 1 分
(2) ① dataw[i][1]>maxw 2 分
② id,lst1,tot 2 分
(3) ① lst[j][-1]*key>lst[j-1][-1]*key 2 分
② temp-grouplist[i][-1] 2 分
命题组:孙军卫 计东平 胡 华 郭立峰 余李
审 稿:孙军卫 计东平 徐建强 何海源2024 学年嘉兴高三教学测试
技术 试题卷 (2024.04)
注意事项 :
1. 本试题卷分信息技术与通用技术两部分。满分 100分,考试时间 90分钟。
2. 选择题的答案须用 2B铅笔将答题纸上对应的题目标号涂黑,非选择题的答案须用黑色字迹的
签字笔或钢笔写在答题纸上相应区域内。作图时可先使用 2B铅笔,确定后须用黑色字迹的签
字笔或钢笔描黑。答案写在试题卷上无效。
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个备选项中只有一个是
符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据和信息的说法,正确的是
A. 人们在利用数据的同时,不会产生新的数据
B. 存储在计算机中的数据采用二进制方式编码
C. 同一信息在不同的时间,其价值还是相同的
D. 信息不能独立存在,一种信息只能依附一种载体
2. 下列关于人工智能的说法,不.正.确.的是
A. 人工智能应用不会威胁到公共信息安全
B. 深度学习是数据驱动人工智能方法之一
C. 符号主义人工智能包含知识库和推理引擎两个部分
D. AlphaGo从围棋跨界到电力控制领域属于跨领域人工智能
阅读下列材料,回答第 3至第 5题:
某超市智能管理系统的部分功能是:系统可以实时更新商品库存信息,预测未来一段时间内
的销售趋势,帮助超市调整进货策略;同时智能推送信息到客户端 APP,顾客可通过客户端购
买商品。为保障系统的安全与稳定,该系统配置了硬件防火墙和不间断电源。
3. 下列关于该信息系统的说法,正确的是
A. 该系统的用户只有顾客和店员
B. 该系统的客户端软件属于系统软件
C. 该系统软件开发架构一定是 B/S架构
D. 该系统配置的不间断电源属于信息系统硬件
4. 下列关于该系统中数据的说法,正确的是
A. 该系统中存储的数据是大数据
B. 商品的库存数据都存储在客户端中
C. 该系统预测的销售趋势一定是准确的
D. 查询某商品的库存数量属于数据查询功能
5. 下列关于该信息系统安全的说法,正确的是
A. 为所有员工设置相同的权限
B. 该信息系统采用了软件防火墙技术
C. 定期备份服务器中的数据,可以提高系统的安全性
第 1 页(共 7 页)
D. 为了方便后期的升级和维护,可以给系统设置后门
6. 下列关于网络技术说法,正确的是
A. 移动设备接入局域网不需要传输介质 B. 网络的最基本功能是资源共享
C. TCP协议的功能是管理传送内容的完整性 D. 移动通信是指移动设备之间的通信
7. x为实型数据,下列表达式能实现“四舍五入,保留 2位小数”功能的语句是
A. y=int(x*100)/100 B. y=int(x)*100+0.5
C. y=(x*100+0.5)//100 D. y=int(x*100+0.5)/100
8. 某完全二叉树共有 300个节点,该二叉树的高度是
A. 8 B. 9 C. 10 D. 11
9. 队列 q中队首至队尾元素依次为“A,B,C,D,E,F”,约定:S为出队操作,U为出队再
入队操作,若要使队列 q队首至队尾元素依次为“B,D,E”,下列操作可实现的是
A.USUSSU B.SUSUUS C.SSSUUU D.SUUSUS
10. 定义如下函数:
def fac(n):
if n==1:
return 1
else:
return 1/n+fac(n-1)
执行语句 f=fac(5),f的值与调用下列函数 ite(5)返回结果相同的是
A. B.
def ite(n): def ite(n):
s=0;t=0 s=0;t=0
for i in range(1,n): for i in range(1,n):
t=1/i s=s+t
s=s+t t=1/i
return s return s
C. D.
def ite(n): def ite(n):
s=0;t=0 s=0;t=0
for i in range(1,n+1): for i in range(1,n+1):
t=1/i s=s+t
s=s+t t=1/i
return s return s
11. 有如下程序段:
s=["A","B","C","D"]
m=[1,3,0,2]
st=[""]*4
top=-1
j=0
for i in range(len(s)):
第 2 页(共 7 页)
top+=1
st[top]=s[i]
while top!=-1 and ord(st[top])-ord("A")==m[j]:
top-=1
j+=1
print(st[:top+1])
执行该程序段后,输出内容是
A. [] B. ['A'] C. ['A', 'C'] D. ['A', 'C', 'E']
12. 使用列表 d 模拟链表结构(节点数大于 0),每个节点包含数据区域和指针区域,head为头
指针。现要删除链表中数据值在[begin,end]范围的节点,实现该功能的部分程序段如下,方
框中应填入的正确代码为:
d=[[4, 5], [10, 2], [12, 4], [1, 0], [16, -1], [7, 1]]
head=3
q=head;p=head
while p!=-1:
if d[p][0]end:
q=p
p=d[p][1]
else:
A. B. C. D.
if head!=p: if head==p: if head!=p: if head==p:
d[q][1]=d[p][1] d[q][1]=d[p][1] p=d[p][1] p=d[p][1]
else: else: else: else:
head=d[p][1] head=d[p][1] head=d[p][1] head=d[p][1]
p=d[p][1] p=d[p][1] p=d[p][1] p=d[p][1]
二、非选择题(本大题共 3 小题,其中第 13 小题 7 分,第 14 小题 10 分,第 15 小题 9 分,共
26分)
13. 某室内环境监控系统采用 Flask Web框架开发。传感器每分钟采集 1次湿度数据(0~100),
智能终端通过 IoT模块将采集到的数据传输至Web服务器并存储,系统根据采集到的数据与
设定的阈值控制除湿机。客户端可通过浏览器查询实时和历史数据。请回答下列问题:
(1)该网络应用软件的实现架构是_______(单选,填字母:A. B/S架构 / B. C/S架构)。
(2)系统正常工作一段时间后,发现当前湿度值超过了阈值但除湿机未启动,下列解决问
题的方法合理的是_______(单选,填字母)。
A. 调整湿度阈值,查看除湿机是否正常工作
B. 更换湿度传感器,判断是否是湿度传感器故障
C. 更换除湿机,判断是否是除湿机故障
(3)下列关于该系统支撑技术的说法,正确的有__________(多选,填字母)。(注:全部
第 3 页(共 7 页)
选对的得 2分,选对但不全的得 1分,不选或有选错的得 0分)
A. 智能终端中的接口只能用于连接传感器
B. 信息系统只能通过串口从传感器获取信息
C. 在 Flask中,一个路由只能绑定一个视图函数
D. 开发完毕后,布署到生产环境中使用时应关闭调试模式
(4)收集一个月的湿度数据处理后得到该月的日平均湿度值,存储在列表 h 中,例如:列
表 h中的值为[98, 88, 84, 96, 95, 93, 97,……,83],现要找出相邻两天最大湿度差,部
分 Python程序如下,请在程序中划线处填入合适的代码。
def findmax():
n=len(h)
imax=0
i=0
while ich= _______________
if ch>imax:
imax=ch
i=i+1
return imax
14. 某学校高二年级举办投篮比赛,每人投球 5 次,比赛数据存储在“scores.csv”文件中,“投
球情况”中 1表示投中,0表示投失,如图第 14题图 a所示。计分规则为:投中得 1分,投
失不得分;若连续投中,该球得分为前一球得分的 2倍。请回答下列问题:
(1)若某同学投球情况是“11011”,则得分是_______分。
(2)自定义函数 fcount功能是根据计分规则计算投球得分。
实现上述功能的程序代码如下,请在划线处填入合适
的代码。
def fcount(data):
total=0
temp=0
for i in range(len(data)):
if _________①____________:
temp=1
elif data[i]=='1': 第 14题图 a
_____②_______
else:
temp=0
total+=temp
return total
(3)读取数据,计算各人得分。请在划线处填入适合的代码。
df1=pd.read_csv('scores.csv',converters={'投球情况':str})
for i in df1.index:
cj=fcount(__________________)
第 4 页(共 7 页)
df1.at[i,'分数']=cj
(4)统计班级平均分,根据班级平均分前 5名的数据绘制柱形
图,如第 14题图 b所示。请在划线处填入适合的代码。
df2 = dfl.groupby("班级",as_index=False).____①______
#设置绘图参数,代码略
第 14题图 b
plt.bar(x,y) #绘制柱形图
方框中应填入的正确代码为 ② (多选,填字母)(注:全部选对的得 2分,选
对但不全的得 1分,不选或有选错的得 0分)
A.
dfs=df2.sort_values('分数').tail(5)
x = df2["班级"]
y = df2["分数"]
B.
dfs=df2.sort_values('分数',ascending=True)[0:5]
x = dfs.index
y = dfs["分数"]
C.
dfs=df2.sort_values('分数',ascending=False).head(5)
x = dfs["班级"]
y = dfs["分数"]
D.
dfs=df2.sort_values('分数',ascending=False)[0:5]
x = dfs["班级"]
y = dfs["分数"]
15. 某旅行团有若干个家庭组成,现要乘船浏览某景点,每艘游船的
最大负载重量为 maxw,在分配游船时同一家庭尽量安排在同一游
船上。家庭数据存放在列表 data中(家庭成员已按体重降序排序),
如第 15题图 a所示:
解决该问题的思路:计算各家庭总体重;依次对各家庭进行分组,
若家庭总体重超重,则把该家庭拆分为不超重的小组,否则直接
划为一个小组;最后依次对各小组安排游船。
(1)计算各家庭的总体重存入 dataw中,程序代码如下,请在划线
处填入合适的代码: 第 15题图 b
def weight(data,dataw):
for i in data:
sumi=0
for j in i[1]:
_______________
dataw.append([i[0],sumi])
第 5 页(共 7 页)
(2)对各家庭分组。对于超重家庭,在不超过载重量下,优先安排体重大的进入同一小组,
结果保存在 grouplist中,结构如第 15题图 b所示。请在划线处填入合适的代码。
第 15题图 b
def group(data,dataw,maxw,grouplist):
for i in range(len(dataw)):
if ________①_________:
fgroup(data[i][0],data[i][1],maxw,grouplist)
else:
grouplist.append([data[i][0],data[i][1],dataw[i][1]])
def fgroup(id,lst,maxw,grouplist): #对超重家庭分组
while sum(lst)>maxw:
tot=0;lst1=[];lst2=[]
for i in range(len(lst)):
if tot+lst[i]<=maxw:
tot+=lst[i]
lst1.append(lst[i])
else:
lst2.append(lst[i])
grouplist.append([________②__________])
lst=lst2
grouplist.append([id,lst,sum(lst)])
(3)依次对各小组安排游船。优先安排体重大的小组上船,在不超重情况下,安排其他小
组上同一艘船。boat结构如第 15题图 c所示。请在划线处填入合适的代码。
第 15题图 c
def sort1(lst,key): #按 lst中的最后一项排序,key=1:降序 -1:升序
for i in range(len(lst)-1):
for j in range(len(lst)-1,i,-1):
if _____________①_____________:
lst[j],lst[j-1]=lst[j-1],lst[j]
def check(wt,boat): #根据小组总体重 wt在 boat中寻找可以乘坐的游船
n=0
while n第 6 页(共 7 页)
if wt<=boat[n][-1]: #boat[n][-1]为游船剩余载重量
return n
n+=1
return n
def allocate(grouplist,boat,maxw): #分配游船
for i in range(len(grouplist)): #遍历各小组
n=check(grouplist[i][-1],boat)
if ntemp=boat[n].pop()
boat[n].append(grouplist[i][0:2])
boat[n].append(_________②____________)
else: #分配新的游船
boat.append([grouplist[i][0:2],maxw-grouplist[i][-1]])
sort1(boat,-1)
#主程序
data=[[1,[100,75,74,65,54,53,49,40,35]],
[2,[60,48,30]],
[3,[65,44]],
[4,[45]],
[5,[100,80,64,50,43,15]]]
maxw=300 #最大载重量
dataw=[] #各家庭总体重
boat=[] #各游船上分配的家庭及成员
grouplist=[] #各家庭分组
weight(data,dataw) #计算家庭总体重
group(data,dataw,maxw,grouplist) #分组
sort1(grouplist,1) #对列表排序,参数 1为降序,-1为升序;
allocate(grouplist,boat,maxw) #分配游船
print(boat)
备注:
函数和方法 功能
w.append(x) 在列表 w末尾添加元素 x
x=w.pop(n) 将列表 w中序号为 n的元素赋值给 w,并将其从 w 中删除
x=sum(w) 将列表 w中所有元素的累加值赋值给 x
第 7 页(共 7 页)