内容正文:
浙江省名校协作体2027届高三上9月开学考
技术试题
考生须知:
1.本练习满分100分,练习时长90分钟;
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号;
3.所有答案必须写在答题卷上,写在练习纸上的无效;
4.练习结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某农业示范基地采用智能水肥一体化灌溉系统。系统部署了土壤湿度传感器和pH传感器,数据经网络上传至云服务器,服务器根据阈值自动控制灌溉。管理员可通过浏览器或微信小程序查看数据、手动控制灌溉。系统每日生成水肥消耗报表,还可利用历史数据训练神经网络模型来预测最佳灌溉量,并采用知识库与推理引擎实现异常诊断。
1. 下列关于该系统中数据的说法,正确的是( )
A. 该系统中数据表现形式并非单一的
B. 管理员手动切换灌溉模式的过程中不会产生新数据
C. 降雨量数据只能通过传感器获取
D. 该系统的所有数据均为大数据
2. 下列关于该系统组成的说法,正确的是( )
A. 传感器属于系统的输出设备
B. 云服务器是该系统数据处理的核心部分
C. 微信小程序的运行不需要操作系统的支持
D. 该系统的用户是管理员
3. 下列关于该系统中人工智能技术的说法,正确的是( )
A. 神经网络训练模型属于行为主义方法
B. 利用模型预测的最佳灌溉量是准确无误的
C. 新生成的数据不可以再作为数据源进行训练
D. 采用知识库和推理引擎进行异常诊断体现了符号主义的核心思想
4. 下列关于该系统网络技术的分析,正确的是( )
A. 微信小程序查看数据无需遵循任何协议
B. 通过浏览器查看数据体现了网络资源共享
C. 所有数据传输都使用移动通信技术
D. 云服务器必须部署在基地内部的局域网中
5. 下列关于该系统安全与防护的做法,不合理的是( )
A. 为不同管理员分配不同的操作权限
B. 定期对系统漏洞进行一次扫描并修复
C. 该系统所有数据可以未经加密传输
D. 对传感器和线路等进行定期检查
【答案】1. A 2. B 3. D 4. B 5. C
【解析】
【详解】1. 本题考查信息系统中数据的特征与来源相关知识。A选项正确,该系统包含传感器数值数据、水肥消耗报表、神经网络模型、知识库等多种形式,数据表现形式并非单一。B选项错误,管理员手动切换灌溉模式会产生操作日志等新数据。C选项错误,降雨量数据还可通过气象部门接口等渠道获取,并非只能靠传感器。D选项错误,单一基地的数据规模有限,并非所有数据都属于大数据。因此,本题选择A选项。
2. 本题考查信息系统的组成与硬件设备分类相关知识。A选项错误,传感器负责采集数据,属于输入设备而非输出设备。B选项正确,云服务器承担数据存储、阈值判断、模型运算与控制指令下发,是数据处理的核心部分。C选项错误,微信小程序运行于微信客户端之上,仍需手机操作系统支持。D选项错误,系统用户不仅包括管理员,表述过于绝对。因此,本题选择B选项。
3. 本题考查人工智能主要流派及应用特点相关知识。A选项错误,神经网络属于连接主义方法而非行为主义。B选项错误,模型预测结果存在误差,并非准确无误。C选项错误,新生成的数据可以作为增量数据继续参与模型训练。D选项正确,知识库与推理引擎通过符号表示和逻辑推理进行异常诊断,体现了符号主义的核心思想。因此,本题选择D选项。
4. 本题考查网络技术在信息系统中的应用相关知识。A选项错误,微信小程序通过网络访问数据必须遵循HTTP/HTTPS等协议。B选项正确,通过浏览器远程查看服务器数据体现了网络中的数据资源共享。C选项错误,数据传输可使用Wi-Fi、有线网络等多种方式,并非全部使用移动通信技术。D选项错误,云服务器部署在云端,并非必须在基地内部局域网中。因此,本题选择B选项。
5. 本题考查信息系统的安全与防护措施相关知识。A选项合理,为不同管理员分配不同操作权限符合最小权限原则。B选项合理,定期扫描并修复系统漏洞是常规安全维护。C选项不合理,该系统涉及灌溉控制等敏感操作,所有数据未经加密传输存在被窃取和篡改的风险。D选项合理,定期检查传感器和线路属于物理与运行维护。因此,本题选择C选项。
6. 下列关于图像数字化的说法,正确的是( )
A. 图像在计算机内部是以二进制或十六进制方式进行存储和处理
B. 降低图像分辨率不会改变图像文件的大小
C. 分辨率3840×2160的24位色图像数据量约为23.73MB
D. 图像数字化过程依次是采样、编码和量化三个步骤
【答案】C
【解析】
【详解】本题考查图像数字化的基本概念与数据量计算。A选项错误,计算机内部一切数据均以二进制存储处理,十六进制只是便于阅读的表示形式而非存储方式;B选项错误,降低分辨率意味着像素总数减少,通常会使图像文件变小;C选项正确,3840×2160的24位色图像数据量为3840×2160×24÷8÷1024÷1024≈23.73MB;D选项错误,图像数字化的正确顺序为采样、量化、编码,而非采样、编码、量化。因此,本题选择C选项。
7. 已知一棵完全二叉树有6个节点,其后序遍历结果为DEBFCA,下面说法正确的是( )
A. 该二叉树的高度为4
B. 该二叉树只有一个度为2的节点
C. 该二叉树的前序遍历是ABDEFC
D. 在该二叉树的基础上添加一个叶子节点使其变成非完全二叉树的可能性有6种
【答案】D
【解析】
【详解】本题考查完全二叉树性质与遍历。根据后序DEBFCA,6节点完全二叉树形状固定:根A,左子B,右子C,B左D、右E,C左F。高度为3(根层1计),故A错误;度为2的节点有A、B两个,故B错误;前序遍历为ABDECF,不是ABDEFC,故C错误;添加一个叶子节点使其非完全,原树有7个空位(C右、D左右、E左右、F左右),其中仅C右添加仍为完全,其余6种添加后为非完全,故D正确。因此,本题选择D选项。
8. 某算法的部分流程图如图所示。若输入n为200,k为128,执行这部分流程后,s的值为( )
A. 11001000 B. 00110111 C. 1001000 D. 0110111
【答案】A
【解析】
【详解】本题考查流程图模拟与进制转换。初始n=200,k=128,s为空。每次判断k>0,若n≥k则s加"1",否则s加"0",然后且n=n%k,k=k//2。模拟过程:200≥128,s="1",n=72,k=64;72≥64,s="11",n=8,k=32;8<32,s="110",k=16;8<16,s="1100",k=8;8≥8,s="11001",n=0,k=4;0<4,s="110010",k=2;0<2,s="1100100",k=1;0<1,s="11001000",k=0。最终s="11001000"。因此,本题选择A选项。
9. 某栈初始为空,若元素入栈的顺序是“东”、“南”、“西”、“北”、“中”,则以“南”为第一个出栈,“中”为最后一个出栈的出栈序列个数为( )
A. 3 B. 4 C. 5 D. 6
【答案】C
【解析】
【详解】本题考查栈的出栈序列计数。入栈顺序为东、南、西、北、中,要求第一个出栈为南,最后一个出栈为中。固定首尾后,中间三个元素(东、西、北)的排列有6种,其中只有[东、西、北](即出栈序列南、东、西、北、中)等5种合法,非法序列为南、西、东、北、中(无法实现)。因此合法序列个数为5。本题选择C选项。
10. 有Python程序如下:
s= "Aaa24A2566a"; f=[0]*len(s); ss= ""
for i in range(len(s)):
k=i
if f[k]==0:
for j in range(i+1, len(s)):
if s[k]==s[j]:
f[k]=1; f[j]=2; k=j
if k==i and f[k]!=1:
ss+=s[k]
print(ss)
程序运行后,输出的结果是( )
A. 4A256a B. Aa2456 C. a4A256a D. Aa4256a
【答案】A
【解析】
【详解】本题考查Python循环结构与列表标记法的程序执行分析。程序用f数组标记字符:对每个未标记位置i,向后查找相同字符,找到则将首个匹配位置标为1、后续重复位置标为2;最终将未重复字符(f仍为0)和被标记为2的重复字符加入ss,即去掉每个重复字符的首次出现、保留其余。字符串"Aaa24A2566a"中,A、a、2、6均有重复,其首次出现(位置0、1、3、8)被去除,其余字符依次为4、A、2、5、6、a,输出"4A256a"。因此,本题选择A选项。
11. 对于任意字符串s,甲、乙程序段输出结果相同,请在乙程序段划线处填入合适的代码( )
def f1(s): #甲程序段
if len(s)==0:
return 0
elif s[0]==s[-1]:
return 1+f1(s[1:-1])
else:
return f1(s[1: -1])
print(f1(s))
def f2(s): #乙程序段
n=len(s)
c=0
for i in range( ):
if s[i]==s[n-i-1]:
c+=1
print(c)
A. n B. n//2 C. n//2+1 D. (n+1)//2
【答案】D
【解析】
【详解】本题考查递归算法与迭代算法的等价转换。甲程序递归地从字符串两端向中间比较,每轮比较s[0]与s[-1],相等则计数加1并去掉两端继续递归;当字符串长度为奇数时,中间单个字符s[0]==s[-1]恒成立也会计数1。乙程序用循环实现相同功能,需依次比较s[i]与s[n-i-1],循环次数应为向上取整的n/2,即(n+1)//2:偶数长度时比较n/2对,奇数长度时比较(n-1)/2对并加上中间字符自身比较。因此,本题选择D选项。
12. 有如下Python程序段:
import random
n=6;q= [1]*n;head, tail =0,1
while head< tail:
s= q[head]
elif tail<n:
q[tail] =s+1;tail +=1
#③
运行程序后,下列说法正确的是( )
A. 变量q的值可能是[1,1,2,2,3,4]
B. 若①处条件改为int(random.random())==1,q的值可能为[1,2,3,4,5,1]
C. 若变量q的值为[1,2,2,3,1,1],则②处语句head+=1执行了3次
D. 若删除③处矩形框内的代码,q的值可能为[1,2,3,4,4,4]
【答案】D
【解析】
【详解】本题考查Python循环结构、随机函数特性与队列类模拟程序的运行逻辑分析。第一个选项:数组q的初始值全为1,后续通过tail增长生成的新元素值是前一个head指向元素值加1,q中所有非初始1的元素都满足值为前序元素+1的递增逻辑,不可能出现两个连续的1之后直接出现2、2、3、4的情况,[1,1,2,2,3,4]不符合程序的生成规则,该选项错误。第二个选项:random.random()生成的是[0,1)区间的实数,int转换后结果只能是0,永远不可能等于1,因此①处修改后条件永远不成立,head的值始终为0,无法生成[1,2,3,4,5,1]这样的序列,该选项错误。第三个选项:若q的值为[1,2,2,3,1,1],统计head+=1的执行次数,实际执行次数为4次而非3次,该选项错误。第四个选项:删除③处的break代码后,程序不会提前跳出循环,当tail增长到n=6之后,仍可以通过head不断自增,基于已有的元素生成后续值,完全可以得到[1,2,3,4,4,4]的结果,该选项正确。故答案为:D。
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某市园林部门搭建了古树智慧保护系统。系统在每棵古树周围布设了土壤水分传感器、空气温湿度传感器和微渗灌装置,通过智能终端每30分钟获取传感器的数据并上传至服务器。服务器对数据进行分析处理:当土壤相对含水量连续72小时低于25%时,自动启动微渗灌补水;当气温≥38℃、光照强度≥800001ux时,向管理员APP推送遮阳喷雾建议。请回答下列问题。
(1)该系统中能长期保存历史环境数据的设备是_________
A. 传感器 B. 智能终端 C. 服务器
(2)微渗灌装置接收到启动信号,该信号在系统中的传输路径是_________
A. 传感器→智能终端→服务器→微渗灌装置
B. 服务器→智能终端→微渗灌装置
C. 智能终端→传感器→服务器→微渗灌装置
D. 服务器→微渗灌装置→智能终端
(3)某智能终端因电源供电不稳定而频繁自动重启, 可能会导致_________
A. 部分时段的土壤湿度数据无法上传至服务器
B. 服务器下发的喷灌控制指令可能未被智能终端接收
C. 管理员APP延迟收到甚至无法收到遮阳提醒
D. 服务器数据库中所有历史数据自动清空
(4)现计划增加一项功能:当光照强度超过古树耐受上限时,除了向管理员APP推送提醒,还需让古树旁的声音报警器(已连接在智能终端上)发出提示音。请从软件修改的角度,选择服务器端或智能终端,写出其中一端程序的一处修改建议。
(5)系统导出了一年内某监测点的土壤湿度数据,存于“soil.csv”文件中,部分数据如图a所示。现要统计每个月中土壤湿度低于干旱警戒值30的总次数,并找出总次数最多的前3个月,绘制如图b所示的柱形图,实现该功能的Python程序如下。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("soil.csv")
for i in range(len(df))
df.at[i, "月"]=str(df["采集时间"] [i] [5:7])
df1=________________
plt.bar(df_top3["月"],df_top3["土壤湿度"])
#设置绘图参数,显示如图b所示的柱形图,代码略
请在划线处填入合适的代码。
②请在加框处选择正确的代码__________。
A.df2=df1.sort_values("土壤湿度") #升序排序
B.df2=dfl.sort_values("土壤湿度",ascending=False)
C.dfl=df1.groupby("月",as_ index=False).count()
D.dfl=df1.groupby("月",as_index=False).sum()
E.df_top3=df2.tail(3)
F.df_ top3=df2[:3]
【答案】(1)C (2)B (3)ABC
(4)服务器端:增加向智能终端发送“启动报警器”指令的代码:
智能终端:增加接受服务器发送的“启动报警器”指令的程序或增加控制声音报警器的启动的程序。
(5) ①. df[df["土壤湿度"]<30] ②. CBF
【解析】
【小问1详解】
本题考查的是物联网设备。传感器仅负责采集环境数据,智能终端仅负责临时中转数据,只有服务器具备大容量持久化存储能力,可以长期保存历史环境数据。故选C。
【小问2详解】
本题考查的是物联网的信号传输。服务器完成数据分析后生成微渗灌启动指令,需要将指令下发给现场的智能终端,再由智能终端直接控制本地连接的微渗灌装置执行补水操作,符合系统的控制逻辑。故选B。
【小问3详解】
本题考查的是信息系统的功能。智能终端频繁重启会导致数据上传、指令接收、数据中转的过程中断,因此会出现部分时段土壤湿度数据无法上传、服务器下发的喷灌指令未被接收、管理员APP延迟或收不到遮阳提醒的情况,服务器的历史数据存储不受终端故障影响,不会自动清空。故选ABC。
【小问4详解】
本题考查的是物联网的搭建。选择服务器端修改的话,可在服务器检测到光照强度超过古树耐受上限时,除了向管理员APP推送提醒,额外向对应绑定的智能终端下发声光报警触发指令;选择智能终端端修改的话,可在智能终端接收到服务器推送的光照超阈值提醒指令时,同步向本地连接的声音报警器输出高电平触发信号,驱动报警器发出提示音。
【小问5详解】
本题考查的是数据分析。划线处1需要先筛选出土壤湿度低于干旱警戒值30的所有记录,后续加框处先按月份分组统计符合条件的记录数量得到各月干旱次数,再按干旱次数降序排序,最后取排序后的前3条记录得到干旱次数最多的前3个月,对应正确的代码组合。故答案为:①df[df["土壤湿度"]<30] ②C、B、F
14. 某校举行田径赛事活动,3组(每组共8人)选手已完成预赛,现计划根据预赛的成绩挑选8名选手参加决赛。成绩位列所在小组前2名的选手直接入选,剩余名额按成绩由高到低依次挑选,选手的成绩各不相同。
现给定所有选手的预赛成绩数据表(已按成绩由高到低排列),每位选手的数据包含小组编号(0~2)、选手编号、成绩。编写程序,挑选出8名选手,并按照成绩排名确定决赛道次,如表a所示。
成绩名次
第1名
第2名
第3名
第4名
第5名
第6名
第7名
第8名
决赛道次
第4道
第5道
第3道
第6道
第2道
第7道
第1道
第8道
表a
小组编号
2
2
1
2
0
2
2
1
2
0
2
1
选手编号
0102
2011
2022
0032
0162
1071
0126
0015
0086
2007
2003
2000
成绩
198
185
183
182
182
177
177
176
175
163
161
161
表b
请回答下列问题:
(1)对于表b所示数据,决赛道次第1道的选手编号为___________。
(2)实现根据选手成绩挑选决赛选手,并分配决赛道次功能的Python程序如下,请在划线处填入合适的代码。
""
读取选手成绩数据表存入data列表,每个元素包含小组编号、选手编号、成绩3个数据数据项,代码略
""
count=[0,0,0]
b=[["", -1] for i in range(8)]
________________
num=0
i=0
while num<8 and i<len(data):
if count[data[i][0]]<2 or m>0:
if _______________:
b[3-num//2]=[data[i]][1],data[i][2]
else:
b[4+num//2]=[data[i][1], data[i][2]]
num+=1
_______________
if count[data[i][0]]>2:
m-=1
i+=1
for j in range(8):
print("决赛第", j+1, "道的选手编号:", b[j][0], "成绩:", b[j][1])
【答案】(1)0015或“0015”
(2) ①. m=2 ②. num%2==0或num%2!=1 ③. count[data[i][0]]+=1
【解析】
【详解】本题主要考查根据预赛成绩挑选决赛选手并分配道次,涉及分组计数、补选逻辑及道次映射。
(1)根据规则,每组前2名直接入选,剩余2个名额按成绩高到低补充。表b数据已按成绩降序排列,先找出每组的前两名:小组2:0102(198)、2011(185);小组1:2022(183)、0015(176);小组0:0162(182)、2007(163) 这6人直接入选。剩余选手中成绩最高的是0032(182,小组2第三)和1071(177,小组2第四),补选两人。因此决赛8人为:0102、2011、2022、0015、0162、2007、0032、1071。 按成绩降序排列:198(0102)、185(2011)、183(2022)、182(0162)、182(0032)、177(1071)、176(0015)、163(2007)。决赛道次第1道对应成绩第7名,即176分的0015。
(2)①处需初始化剩余补选名额,因为8个决赛名额,每组前2共6人,还需补选2人,故m = 2。②处判断当前选手是否直接入选,条件是其所在小组已入选人数少于2,即num%2==0或num%2!=1。③处当选手入选后,需更新其小组的入选计数,即count[data[i][0]] += 1。
15. 小明家墙上出现了一个矩形坑洞,他找来了一些矩形木板,希望使用最少数量的木板完全覆盖这个坑洞。要求:所有使用的木板的两边都必须与坑洞边界平行,任一木板的四个角都必须严格位于坑洞边界之外,不能恰好位于边界上。例如,如果坑洞的大小为weight=6,height=4,有3块可用的木板,其边长分别为[[8,2],[8,3],[5,3]],那么选用1、2号木板和2、3号木板都可以修补这个坑洞,如图a、图b所示(虚线方框代表坑洞)。小明发现,最优方案中所有被选中的木板一定满足要么能够完全横跨坑洞的左右边界,通过垂直方向上的拼接覆盖坑洞;要么能完全横跨坑洞上下边界,通过水平方向上的拼接覆盖坑洞(即图a、图b分别所对应的情况)。请回答下列问题。
(1)如果坑洞的大小为weight=7,height=5,有5块木板,边长分别为[[8,2],[3,2],[6,4],[9,3],[2,8]]。则完全覆盖坑洞至少需要_________块木板。
(2)定义insertboard(head, id)函数,功能是将木板列表boards中索引为id的木板插入到头指针为head的链表当中,其中boards[id][0],boards[id][1]分别表示索引为id的木板的两边边长。插入时需保证链表中所有木板按照boards[id][1]的值降序排序。请在划线处填入合适的代码。
def insertboard(head, id):
if head == -1 or boards[id][1]>=boards[head][1]:
boards[id][2]=head
head =id
else:
cur =head
while cur !=-1:
if boards[cur][2]==-1 or boards[id][1]>=boards[boards[cur][2]][1]:
_______________
boards[cur][2]=id
break
cur=boards[cur][2]
return head
(3)check(h, w)函数实现求解假设选取的木板都能够横跨长度为的边对应的坑洞边界,将所有木板沿着长度为h的边进行拼接,所需的最少木板数量,如无法实现则返回-1。该函数与主程序的部分代码如下。
def check(h, w):
n=len(boards); head = -1
for i in range(n):
if boards[i][0]>boards[i][1]:
boards[i][0], boards[i][1]=boards[i][1], boards[i][0]
if>w:
head=insertboard(head, i)
elif> w:
boards[i][0], boards[i][1]=boards[i][1], boards[i][0]
head = insertboard(head, i)
cnt, sum = 0, 0
cur =head
while______________________:
cnt +=1
sum += boards[cur][1]
cur=boards[cur][2]
if sum< h:
cnt=-1
return cnt
‘‘‘
输入weight,height,boards,代码略
weight,height是两个整数,为矩形坑洞的两边边长。
列表boards记录了输入的每一块木板的边长,其中第i个元素boards[i]包含两个元素:
boards[i][0]、boards[i][1],分别表示输入的第块木板的两边长度。
’’’
for i in range(len(boards)):
boards[i].append(-1)
answ = check(height, weight)
ansh = check(weight, height)
if answ!=-1 and ansh!=-1:
ans=min(answ, ansh)
else:
____________________
if ans==-1:
print("无法完全覆盖坑洞!")
else:
print(ans)
Ⅰ.请在划线处填写合适的代码。
Ⅱ.为实现函数功能,方框(a)和(b)可填写的代码为:____________
A. (a)boards[i][0]; (b)boards[i][1]
B. (a)boards[i][1]; (b)boards[i][0]
C.A或B均正确
【答案】(1)2 (2)boards[id][2]=boards[cur][2]
(3) ①. cur != -1 and sum < h ②. ans=max(answ, ansh) ③. A
【解析】
【详解】本题考查链表。
(1)坑洞宽7高5,木板边长中,横跨宽度的木板有(8,2)和(9,3),高度分别为2和3,叠加总高度为5,恰好等于坑洞高度,可完全覆盖,因此至少需要2块木板。答案:2。
(2)插入链表时,新节点的next指向当前节点的下一个节点,填 boards[id][2] = boards[cur][2]。
(3)①check函数遍历链表累加高度,当当前节点存在且累计高度仍小于目标高度时继续循环,所以条件为 cur != -1 and sum < h。②主程序中,当两个方向至少有一个不可行(返回 -1)时,取两者最大值:若一个有效一个为 -1,max 选出有效值;若均为 -1,max 仍为 -1,后续统一输出 "无法覆盖"。所以 ans = max(answ, ansh)。③判断木板能否横跨w,应先用较小边boards[i][0]判断,若不满足再用较大边boards[i][1]判断,所以(a)填boards[i][0],(b)填boards[i][1],选A。
第1页/共1页
学科网(北京)股份有限公司
$
浙江省名校协作体2027届高三上9月开学考
技术试题
考生须知:
1.本练习满分100分,练习时长90分钟;
2.答题前,在答题卷指定区域填写学校、班级、姓名、试场号、座位号及准考证号;
3.所有答案必须写在答题卷上,写在练习纸上的无效;
4.练习结束后,只需上交答题卷。
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
阅读下列材料,完成下面小题。
某农业示范基地采用智能水肥一体化灌溉系统。系统部署了土壤湿度传感器和pH传感器,数据经网络上传至云服务器,服务器根据阈值自动控制灌溉。管理员可通过浏览器或微信小程序查看数据、手动控制灌溉。系统每日生成水肥消耗报表,还可利用历史数据训练神经网络模型来预测最佳灌溉量,并采用知识库与推理引擎实现异常诊断。
1. 下列关于该系统中数据的说法,正确的是( )
A. 该系统中数据表现形式并非单一的
B. 管理员手动切换灌溉模式的过程中不会产生新数据
C. 降雨量数据只能通过传感器获取
D. 该系统的所有数据均为大数据
2. 下列关于该系统组成的说法,正确的是( )
A. 传感器属于系统的输出设备
B. 云服务器是该系统数据处理的核心部分
C. 微信小程序的运行不需要操作系统的支持
D. 该系统的用户是管理员
3. 下列关于该系统中人工智能技术的说法,正确的是( )
A. 神经网络训练模型属于行为主义方法
B. 利用模型预测的最佳灌溉量是准确无误的
C. 新生成的数据不可以再作为数据源进行训练
D. 采用知识库和推理引擎进行异常诊断体现了符号主义的核心思想
4. 下列关于该系统网络技术的分析,正确的是( )
A. 微信小程序查看数据无需遵循任何协议
B. 通过浏览器查看数据体现了网络资源共享
C. 所有数据传输都使用移动通信技术
D. 云服务器必须部署在基地内部的局域网中
5. 下列关于该系统安全与防护的做法,不合理的是( )
A. 为不同管理员分配不同的操作权限
B. 定期对系统漏洞进行一次扫描并修复
C. 该系统所有数据可以未经加密传输
D. 对传感器和线路等进行定期检查
6. 下列关于图像数字化的说法,正确的是( )
A. 图像在计算机内部是以二进制或十六进制方式进行存储和处理
B. 降低图像分辨率不会改变图像文件的大小
C. 分辨率3840×2160的24位色图像数据量约为23.73MB
D. 图像数字化过程依次是采样、编码和量化三个步骤
7. 已知一棵完全二叉树有6个节点,其后序遍历结果为DEBFCA,下面说法正确的是( )
A. 该二叉树的高度为4
B. 该二叉树只有一个度为2的节点
C. 该二叉树的前序遍历是ABDEFC
D. 在该二叉树的基础上添加一个叶子节点使其变成非完全二叉树的可能性有6种
8. 某算法的部分流程图如图所示。若输入n为200,k为128,执行这部分流程后,s的值为( )
A. 11001000 B. 00110111 C. 1001000 D. 0110111
9. 某栈初始为空,若元素入栈的顺序是“东”、“南”、“西”、“北”、“中”,则以“南”为第一个出栈,“中”为最后一个出栈的出栈序列个数为( )
A. 3 B. 4 C. 5 D. 6
10. 有Python程序如下:
s= "Aaa24A2566a"; f=[0]*len(s); ss= ""
for i in range(len(s)):
k=i
if f[k]==0:
for j in range(i+1, len(s)):
if s[k]==s[j]:
f[k]=1; f[j]=2; k=j
if k==i and f[k]!=1:
ss+=s[k]
print(ss)
程序运行后,输出的结果是( )
A. 4A256a B. Aa2456 C. a4A256a D. Aa4256a
11. 对于任意字符串s,甲、乙程序段输出结果相同,请在乙程序段划线处填入合适的代码( )
def f1(s): #甲程序段
if len(s)==0:
return 0
elif s[0]==s[-1]:
return 1+f1(s[1:-1])
else:
return f1(s[1: -1])
print(f1(s))
def f2(s): #乙程序段
n=len(s)
c=0
for i in range( ):
if s[i]==s[n-i-1]:
c+=1
print(c)
A. n B. n//2 C. n//2+1 D. (n+1)//2
12. 有如下Python程序段:
import random
n=6;q= [1]*n;head, tail =0,1
while head< tail:
s= q[head]
elif tail<n:
q[tail] =s+1;tail +=1
#③
运行程序后,下列说法正确的是( )
A. 变量q的值可能是[1,1,2,2,3,4]
B. 若①处条件改为int(random.random())==1,q的值可能为[1,2,3,4,5,1]
C. 若变量q的值为[1,2,2,3,1,1],则②处语句head+=1执行了3次
D. 若删除③处矩形框内的代码,q的值可能为[1,2,3,4,4,4]
二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)
13. 某市园林部门搭建了古树智慧保护系统。系统在每棵古树周围布设了土壤水分传感器、空气温湿度传感器和微渗灌装置,通过智能终端每30分钟获取传感器的数据并上传至服务器。服务器对数据进行分析处理:当土壤相对含水量连续72小时低于25%时,自动启动微渗灌补水;当气温≥38℃、光照强度≥800001ux时,向管理员APP推送遮阳喷雾建议。请回答下列问题。
(1)该系统中能长期保存历史环境数据的设备是_________
A. 传感器 B. 智能终端 C. 服务器
(2)微渗灌装置接收到启动信号,该信号在系统中的传输路径是_________
A. 传感器→智能终端→服务器→微渗灌装置
B. 服务器→智能终端→微渗灌装置
C. 智能终端→传感器→服务器→微渗灌装置
D. 服务器→微渗灌装置→智能终端
(3)某智能终端因电源供电不稳定而频繁自动重启, 可能会导致_________
A. 部分时段的土壤湿度数据无法上传至服务器
B. 服务器下发的喷灌控制指令可能未被智能终端接收
C. 管理员APP延迟收到甚至无法收到遮阳提醒
D. 服务器数据库中所有历史数据自动清空
(4)现计划增加一项功能:当光照强度超过古树耐受上限时,除了向管理员APP推送提醒,还需让古树旁的声音报警器(已连接在智能终端上)发出提示音。请从软件修改的角度,选择服务器端或智能终端,写出其中一端程序的一处修改建议。
(5)系统导出了一年内某监测点的土壤湿度数据,存于“soil.csv”文件中,部分数据如图a所示。现要统计每个月中土壤湿度低于干旱警戒值30的总次数,并找出总次数最多的前3个月,绘制如图b所示的柱形图,实现该功能的Python程序如下。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("soil.csv")
for i in range(len(df))
df.at[i, "月"]=str(df["采集时间"] [i] [5:7])
df1=________________
plt.bar(df_top3["月"],df_top3["土壤湿度"])
#设置绘图参数,显示如图b所示的柱形图,代码略
请在划线处填入合适的代码。
②请在加框处选择正确的代码__________。
A.df2=df1.sort_values("土壤湿度") #升序排序
B.df2=dfl.sort_values("土壤湿度",ascending=False)
C.dfl=df1.groupby("月",as_ index=False).count()
D.dfl=df1.groupby("月",as_index=False).sum()
E.df_top3=df2.tail(3)
F.df_ top3=df2[:3]
14. 某校举行田径赛事活动,3组(每组共8人)选手已完成预赛,现计划根据预赛的成绩挑选8名选手参加决赛。成绩位列所在小组前2名的选手直接入选,剩余名额按成绩由高到低依次挑选,选手的成绩各不相同。
现给定所有选手的预赛成绩数据表(已按成绩由高到低排列),每位选手的数据包含小组编号(0~2)、选手编号、成绩。编写程序,挑选出8名选手,并按照成绩排名确定决赛道次,如表a所示。
成绩名次
第1名
第2名
第3名
第4名
第5名
第6名
第7名
第8名
决赛道次
第4道
第5道
第3道
第6道
第2道
第7道
第1道
第8道
表a
小组编号
2
2
1
2
0
2
2
1
2
0
2
1
选手编号
0102
2011
2022
0032
0162
1071
0126
0015
0086
2007
2003
2000
成绩
198
185
183
182
182
177
177
176
175
163
161
161
表b
请回答下列问题:
(1)对于表b所示数据,决赛道次第1道的选手编号为___________。
(2)实现根据选手成绩挑选决赛选手,并分配决赛道次功能的Python程序如下,请在划线处填入合适的代码。
""
读取选手成绩数据表存入data列表,每个元素包含小组编号、选手编号、成绩3个数据数据项,代码略
""
count=[0,0,0]
b=[["", -1] for i in range(8)]
________________
num=0
i=0
while num<8 and i<len(data):
if count[data[i][0]]<2 or m>0:
if _______________:
b[3-num//2]=[data[i]][1],data[i][2]
else:
b[4+num//2]=[data[i][1], data[i][2]]
num+=1
_______________
if count[data[i][0]]>2:
m-=1
i+=1
for j in range(8):
print("决赛第", j+1, "道的选手编号:", b[j][0], "成绩:", b[j][1])
15. 小明家墙上出现了一个矩形坑洞,他找来了一些矩形木板,希望使用最少数量的木板完全覆盖这个坑洞。要求:所有使用的木板的两边都必须与坑洞边界平行,任一木板的四个角都必须严格位于坑洞边界之外,不能恰好位于边界上。例如,如果坑洞的大小为weight=6,height=4,有3块可用的木板,其边长分别为[[8,2],[8,3],[5,3]],那么选用1、2号木板和2、3号木板都可以修补这个坑洞,如图a、图b所示(虚线方框代表坑洞)。小明发现,最优方案中所有被选中的木板一定满足要么能够完全横跨坑洞的左右边界,通过垂直方向上的拼接覆盖坑洞;要么能完全横跨坑洞上下边界,通过水平方向上的拼接覆盖坑洞(即图a、图b分别所对应的情况)。请回答下列问题。
(1)如果坑洞的大小为weight=7,height=5,有5块木板,边长分别为[[8,2],[3,2],[6,4],[9,3],[2,8]]。则完全覆盖坑洞至少需要_________块木板。
(2)定义insertboard(head, id)函数,功能是将木板列表boards中索引为id的木板插入到头指针为head的链表当中,其中boards[id][0],boards[id][1]分别表示索引为id的木板的两边边长。插入时需保证链表中所有木板按照boards[id][1]的值降序排序。请在划线处填入合适的代码。
def insertboard(head, id):
if head == -1 or boards[id][1]>=boards[head][1]:
boards[id][2]=head
head =id
else:
cur =head
while cur !=-1:
if boards[cur][2]==-1 or boards[id][1]>=boards[boards[cur][2]][1]:
_______________
boards[cur][2]=id
break
cur=boards[cur][2]
return head
(3)check(h, w)函数实现求解假设选取的木板都能够横跨长度为的边对应的坑洞边界,将所有木板沿着长度为h的边进行拼接,所需的最少木板数量,如无法实现则返回-1。该函数与主程序的部分代码如下。
def check(h, w):
n=len(boards); head = -1
for i in range(n):
if boards[i][0]>boards[i][1]:
boards[i][0], boards[i][1]=boards[i][1], boards[i][0]
if>w:
head=insertboard(head, i)
elif> w:
boards[i][0], boards[i][1]=boards[i][1], boards[i][0]
head = insertboard(head, i)
cnt, sum = 0, 0
cur =head
while______________________:
cnt +=1
sum += boards[cur][1]
cur=boards[cur][2]
if sum< h:
cnt=-1
return cnt
‘‘‘
输入weight,height,boards,代码略
weight,height是两个整数,为矩形坑洞的两边边长。
列表boards记录了输入的每一块木板的边长,其中第i个元素boards[i]包含两个元素:
boards[i][0]、boards[i][1],分别表示输入的第块木板的两边长度。
’’’
for i in range(len(boards)):
boards[i].append(-1)
answ = check(height, weight)
ansh = check(weight, height)
if answ!=-1 and ansh!=-1:
ans=min(answ, ansh)
else:
____________________
if ans==-1:
print("无法完全覆盖坑洞!")
else:
print(ans)
Ⅰ.请在划线处填写合适的代码。
Ⅱ.为实现函数功能,方框(a)和(b)可填写的代码为:____________
A. (a)boards[i][0]; (b)boards[i][1]
B. (a)boards[i][1]; (b)boards[i][0]
C.A或B均正确
第1页/共1页
学科网(北京)股份有限公司
$