内容正文:
2024年5月嵊州市高(选)考科目适应性考试
技术试题
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据和信息的说法,正确的是( )
A. 信息价值是相对的,包括显性价值与隐性价值 B. 通过人脸识别采集到的人脸图像属于结构化数据
C. 数据是对客观事物的符号表示,本身有一定的意义 D. 数字信号转换为模拟信号一般需要采样、量化和编码
【答案】A
【解析】
【详解】本题考查信息和数据。B选项,人脸识别采集到的人脸图像属于结构化数据这个说法是错误的,人脸图像属于非结构化数据,因为它没有明确的格式和结构。数据是对客观事物的符号表示,本身没有意义,C选项错误。模拟转数字一般需要采样、量化和编码说法错误,D选项错误。正确选项为A。
2. 下列关于人工智能的说法,正确的是( )
A. 深度学习需要事先手工构造知识库 B. 强化学习需要学习者事先知道最终答案
C. 达芬奇外科手术机器人属于领域人工智能 D. 快递分拣机器人属于人工智能技术的应用
【答案】D
【解析】
【详解】本题考查人工智能。深度学习需要事先手工构造知识库这是错误的。深度学习是一种基于大量数据的自动学习方法,不需要手工构造知识库。强化学习需要学习者事先知道最终答案这也是错误的。强化学习是一种通过试错和反馈来学习的方法,不需要事先知道最终答案。达芬奇外科手术机器人属于领域人工智能这是错误的。达芬奇外科手术机器人属于应用人工智能技术的领域,而不是领域人工智能。快递分拣机器人属于人工智能技术的应用这是正确的。快递分拣机器人使用了计算机视觉、机器学习等人工智能技术,属于人工智能技术的应用。故选择D。
3. 为预防电动自行车充电时火灾发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于该系统组成的说法,不正确的是( )
A. 充电桩是该系统的硬件 B. 系统维护人员不是该信息系统的用户
C. 充电小程序属于应用软件 D. 充电小程序上显示的充电时长属于该信息系统的数据
【答案】B
【解析】
【详解】本题考查信息系统。系统维护人员不是该信息系统的用户这个说法是不正确的。系统维护人员负责维护和管理该智能充电系统,他们也是该信息系统的用户之一。他们需要使用系统后台管理功能,查看系统运行状态、故障信息等,因此也属于该信息系统的用户。其它都正确,故选择选项B。
4. 为预防电动自行车充电时火灾的发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于该信息系统功能与应用的说法,正确的是( )
A. 该系统设计合理,不存在局限性 B. 电量充满自动断电的操作应用了传感与控制技术
C. 该系统不具有数据采集、处理和存储等功能 D. 用户进行扫码登陆的操作应用了RFID技术
【答案】B
【解析】
【详解】本题考查信息系统。电量充满自动断电的操作应用了传感与控制技术这个说法是正确的。该系统使用了电量检测传感器和断电控制装置,实现了电量充满自动断电的功能。该系统设计合理,不存在局限性这个说法是不正确的。任何信息系统都会存在一定的局限性,需要根据实际需求进行优化设计。该系统不具有数据采集、处理和存储等功能这个说法是错误的。该系统能够采集用户的充电信息,如设备编号、充电时长、消费金额等,并将这些数据传输到服务器进行处理和存储。用户进行扫码登陆的操作应用了RFID技术这个说法是错误的。扫码登陆使用的是二维码技术,而不是RFID技术。故正确答案为选项B。
5. 为预防电动自行车充电时火灾的发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于信息系统安全和信息社会责任说法,正确的是( )
A. 系统定期备份数据和文件,可提高该系统的安全性
B. 未经授权将系统的充电用户数据无偿送给商家
C. 关闭系统服务器上杀毒软件的自动扫描功能,需要检测时再打开
D. 用户可以使用扫码或短信验证两种方式实现身份认证,可确保数据一定安全
【答案】A
【解析】
【详解】本题考查信息安全。未经授权将系统的充电用户数据无偿送给商家这个说法是错误的。这种行为违反了用户隐私和数据保护的社会责任。关闭系统服务器上杀毒软件的自动扫描功能,需要检测时再打开这个说法是错误的。这样做会降低系统的安全性,增加被病毒攻击的风险。用户可以使用扫码或短信验证两种方式实现身份认证,可确保数据一定安全这个说法是错误的。仅使用扫码或短信验证并不能完全确保数据的绝对安全,还需要其他安全措施。故正确答案选A。
6. 下列关于网络系统的说法,不正确的是( )
A. 数据通信是网络系统最基本的功能 B. 第5代移动通信技术(5G)的数据传输率约10Gbit/s
C. 只有广域网通信时需要遵循网络协议 D. 网络能将信息系统的各类软、硬件设施连接在一起
【答案】C
【解析】
【详解】本题考查网络系统。只有广域网通信时需要遵循网络协议这个说法是错误的。无论是局域网、广域网还是其他类型的网络,都需要遵循相应的网络协议来规范数据通信。其它选项正确,故选C。
7. 一张大小为1280×720,位深度为32的位图,在其它参数不变的情况下,裁剪成640×360,颜色模式为256级灰度的位图,则处理前后的图像存储容量比为( )
A. 2:1 B. 4:1 C. 8:1 D. 16:1
【答案】D
【解析】
【详解】本题考查图像数字化。图像文件容量=像素*颜色深度/8,256级灰度的颜色深度是8位(2^8=256)。则处理前后的照片存储容量比约为1280*720*32/8:640*360*8/8=16:1,故本题选D选项。
8. 某已知队列元素的个数为5,则队首指针head和队尾指针(指向队尾一个元素的后一个位置)tail的值不可能是( )
A. head=1, tail=6 B. head=6, tail=1 C. head=2, tail=3 D. head=3, tail=2
【答案】C
【解析】
【详解】本题考查队列。元素个数为5,循环队列,选项BD满足条件。当tail>head,则有tail-head,为元素个数。A满足条件。故C不满足条件。
9. 某算法的部分流程图如图所示,若n的值为8,key的值为40,数组元素a[0]至a[n-1]依次存放10,20,30,40,50,60,70,80,执行这部分流程后,输出c的值为( )
A. -2 B. -1 C. 0 D. 1
【答案】D
【解析】
【详解】本题考查程序分析。程序运行过程:
i=0,j=7,i<=j, m=3,不满足a[m]<key,则i=0, j=2, c=-1
i=0,j=2,i<=j, m=1,满足a[m]<key,则i=2, j=2, c=0
i=2,j=2,i<=j,m=2, 满足a[m]<key,则i=3, j=2, c=1
i=3, j=2,i<=j,不满足循环条件,退出循环,c=1,故选择D。
10. 数组元素a[0]至 a[n-1]依次存放着n个数据,现需要将下标为 x(0≤x≤n-1)元素在逻辑上删除,例如:n为5,数组a为[1,3,5,7,9] ,x为2,删除操作后输出[1,3,7,9]。实现该功能的程序段如下,横线中应填入的正确代码为( )
a=[1,3,5,7,9]
n=len(a)
x=2
for i in range(① ):
②
print(a[:-1])
A. ①x,n ②a[i-1]=a[i] B. ①n-x ②a[i-1]=a[i] C. ①x,n ②a[i]=a[i+1] D. ①x-n,-1 ②a[i]=a[i+1]
【答案】D
【解析】
【详解】本题考查程序分析。需要指定range的参数,确定遍历的下标。range的参数可是使用负数索引,故从x-n到-1。每次遍历后一个数覆盖前一个数,实现删除,故a[i]=a[i+1]。正确答案为选项D。
11. 已知如下Python函数:
def f(x, n):
if n==1:
return x
else:
return x*f(x-1, n-1)
下面表达式值最大的为( )
A. f(5,6) B. f(5,7) C. f(-5,6) D. f(-5,7)
【答案】C
【解析】
【详解】本题考查程序分析。程序为递归算法。故可知f(5,6)=0,f(5,7)=0,f(-5,6)=151200,f(-5,7)=-1663200。故选择C选项。
12. 有如下 Python程序,用于判断链表是否为回文链表(回文链表是指正序遍历和逆序遍历得到的结点顺序一致的链表),则划线处代码是( )
a=[[1,1],[2,2],[8,3],[2,4],[1,-1]]
st=[];head=0;flag=True
slow, fast=head, head
while ① :
st.append (a[slow][0])
slow=a[slow][1]
fast=a[a[fast][1]][1]
if ② :
slow=a[slow][1]
while slow!=-1:
if st.pop () !=a[slow][0]:
flag=False
slow=a[slow][1]
if flag:
print("是回文链表!")
else:
print("不是回文链表!")
A. ①fast!=-1 or a[fast][1]!=-1 ②fast!=-1 B. ①fast!=-1 or a[fast][1]!=-1 ②a[fast][1]!=-1
C. ①fast!=-1 and a[fast][1]!=-1 ②fast!=-1 D. ①fast!=-1 and a[fast][1]!=-1 ②a[fast][1]!=-1
【答案】C
【解析】
【详解】本题考查程序分析。while循环缺少条件,保证链表没有到尾部,继续循环。if判断条件为,当fast指针位置有效,没有到结尾,则移动slow指针。故选择C选项。
二、非选择题(本大题共3 小题,其中第13 小题10分,第14小题7分,第15小题9分,共26分)
13. 小明为阳台上的盆栽草莓搭建一个智能灌溉系统。该系统中的智能终端通过土壤湿度传感器获取土壤湿度数据,通过IoT模块将数据传输至Web服务器,根据服务器中的土壤湿度阈值控制执行器(水泵),同时服务器将接收到的数据存储到数据库中。Web服务器端程序采用Flask Web框架开发,用户可通过浏览器查询实时和历史数据。请回答下列问题:
(1)该系统中,智能终端与浏览器之间的数据传输____(单选,填字母:A.可以由智能终端直接到浏览器/B.只能由智能终端经过Web服务器再到浏览器)。
(2)下列关于该系统中的说法,正确的是____(单选,填字母)。
A.该系统网络应用软件的实现架构是C/S架构
B.测试并观察该系统运行是否有问题,属于静态测试
C.采集湿度传感器上的数据是由智能终端程序实现
(3)下列关于该系统支撑技术的说法,正确的有____(多选,填字母)。
A.服务器可以通过视图函数的返回值向智能终端发送指令
B通过浏览器查看历史湿度数据需要访问智能终端
C.作为服务器的计算机无法使用浏览器访问该系统
D.若 IoT模块与智能终端连接故障,则用户将无法查看实时的湿度数据
(4)如果在光线过强时对草莓进行浇水,会导致植物的吸水能力赶不上蒸发的速度。小明对智能终端程序进行设计:每隔5分钟读取光线传感器和湿度传感器的数据;若读取的光强度值连续5次及以上低于阈值 Light,且湿度值低于湿度阈值Hum,则打开水泵,浇水5分钟之后关闭水泵;部分程序如下,请在划线处填写合适的代码。#导入相关库,从服务器获取湿度阈值Hum,光强度阈值Light。
c=0
while True:
#从光线传感器获取的实际光强度值,保存在vall中
#从土壤湿度传感器获取实际湿度值,保存在val2中
#将土壤湿度数据上传服务器
if vall<Light:
c+=1
if ①____:
#开启水泵,代码略
sleep(5*60*1000)
#延时5 分钟
#关闭水泵,代码略
c=0
else:
②____
sleep (5﹡60﹡1000)
(5)请通过增加传感器和执行器对该系统功能进行一项扩展,写出增加的传感器和执行器名称及实现的功能。____
【答案】 ①. B ②. C ③. AD ④. c>=5andval2<Hum ⑤. c=0 ⑥.
拓展的功能
增加传感器
执行器
通过控制昼夜温差增加草莓的甜度
温度传感器
电热灯和排风扇(用电热灯和排风扇控制升温和降温)
防鸟啄食
红外传感器
马达、蜂鸣器、灯(驱赶鸟)
防雨
雨滴传感器
马达(打开遮雨棚)、蜂鸣器(提醒报警)
【解析】
【详解】本题考查程序分析。1、该系统为B/S架构,只能由智能终端经过Web服务器再到浏览器,不能直接到浏览器。故选择B。2、A选项错误,该系统为B/S架构。B选项动态测试,错误。正确答案为C。3、B选项浏览器不需要访问智能终端,访问服务器即可。C选项服务器也可以使用浏览器访问。故正确选项为AD。4、根据读取的光强度值连续5次及以上低于阈值 Light,且湿度值低于湿度阈值Hum,if判断条件为c>=5andval2<Hum。5、若不满足if,则为光强度次数清零。故填c=0。5、根据扩展需求,写出需要的传感器和执行器即可。
14. 小明是个旅游爱好者,他查询了各地的一些热门旅游景点,并整理成文件“旅游景点.xls”,如图a所示,请回答下列问题:
A
B
C
D
E
F
G
H
1
景点
评分
热度
开放时间
门票价格
所在地
等级
省内外
2
西安钟楼
4.5
8.6
8:00-17:00
30
陕西
AAAAA
省外
3
南山海上观音
4.8
8.2
8:00-17:00
122
海南
AAAAA
省外
4
天涯海角
4.5
8.8
8:00-19:00|
0
海南
AAAA
省外
5
杭州野生动物世界
4.6
7.1
9:00-17:00
杭州
省内
6
杭州野生动物世界
4.6
7.1
210
AAAA
7
千岛湖景区
4.4
8.0
全天
55
杭州
AAAAA
省内
8
乌镇
4.6
8.8
9:00-22:00
180
嘉兴
AAAAA
省内
9
芜湖方特旅游区
4.1
6.7
全天
160
安徽
AAAAA
省外
图a
图b
(1)在数据整理阶段,应对图a中第5行和第6行执行____操作(单选,填字母)
A.删除第5行数据 B.删除第6行数据 C.删除第5、6两行数据 D.合并第5、6两行数据
(2)小明要用Python程序统计省内景点等级为“AAAAA”的个数,并输出景点名称及其所在地,程序如下,请在划线处填写合适的代码。
import pandas as pd
df=pd.read excel("旅游景点.xls")
count=0
for i in range(len(df)):
d=df.at[i, "等级"]
k=df.at[i, "省内外"]
if ____:
count+=1
print(df.at[i,"景点"], df.at[i,"所在地"])
print(count)
(3)小明统计省外各地区的景点个数,并绘制柱形图,部分程序如下,请在划线处填写合适的代码。
import matplotlib.pyplot as plt
df1=①____
df2=df1.groupby("所在地", as index=False).②____
x=df2.所在地
y=df2.景点
plt.bar(x,y)
#设置绘图参数,显示如图b所示柱形图,代码略
(4)由图b可知,省外景点个数不超过4个的地区有____个。
【答案】 ①. D ②. k=="省内" and d=="AAAAA" ③. df[df.省内外=="省外"] ④. count() ⑤. 5
【解析】
【详解】本题考查程序分析。1、图a中第5行和第6行数据缺失,观察可知为相同数据互补,故可以合并。选择D。2、if语句缺少判断省内且等级为AAAAA条件,d取出等级,k取出省内。故填写k=="省内" and d=="AAAAA"。3、题目需要查询出省外数据,然后统计,查询条件为省内外字段等于省外。故填写df[df.省内外=="省外"]。4、按照所在区字段分类,并调用count方法统计个数。故填count()。5、根据图b,显然有5个地区。故填5。
15. 在仓库有多个订单的货物,需要装车发货,订单信息保存在如下名为dd的列表中:
d=[["订单1","货物F",6960],…,["订单 10","货物 C",7850]]
其中列表元素的含义为[订单名称,货物名称,货物重量]。
现在需要对这些订单的货物进行装车发货,遵循如下规则:
● 若单个订单的重量超过货车的最大载重量maxzz,需要对其进行拆分,先装满整车,剩下的货物继续拆分装车;
● 拆分后余下的货物如果不能装满整车,则将较大的几个待装货物优先合并,装同一辆车;
● 有些货物之间有相互排斥关系,不能装同一辆车,如字典 hcdic{"货物E":"货物C","货物C":"货物E货物H","货物H":"货物C"}描述了货物之间的排斥关系。其中键值对"货物C": "货物E 货物H"表示货物C不可以和货物E或货物H装在同一辆车;处理完后输出需要货车的数量、各订单货物装的车号、以及各车号所装的货物来源及重量。程序运行样例如下:
订单及货物互斥信息如下:
[["订单1","货物B",800],["订单2","货物A",1500],["订单3","货物 A",3500]]互斥数据: {"货物C": "货物D货物B","货物D": "货物C","货物B": "货物C"}
一共需要2辆车。
各订单装货情况:
订单1货物B["车 2 800"]
订单2货物A["车 2 1500"]
订单 3货物 A["车 1 3000","车2 500"]
各车辆装货情况:
车1 订单3货物 A3000
车2 订单2 货物A 1500,订单1 货物B800,订单3 货物A500,
(1)若订单及货物互斥信息如下,货车最大载重量为3000,需要准备____辆货车。
[["订单1","货物B", 800],["订单2","货物A",1500],["订单 3","货物A",3500]]
互斥数据: {"货物A":"货物D货物B","货物D":"货物 A","货物B":"货物A"}
(2)实现题目描述的Python程序如下,请完成填空。
maxzz=3000 #车的最大载重量
ch e =[] #各货车装载货物详情
n=10 #订单数量
#设定订单的信息dd,格式如下:
#dd=[["订单1","货物A",800],……,["订单10","货物C",3500]]
#设定互斥(不能同车发送)货物信息hcdic,格式如下:
#hcdic={"货物A": "货物B","货物B": "货物A货物C","货物C": "货物B"},代码略
def sort_link(link): #对链表link降序排列
head =0
link[head][-1]=-1
for i in range(1,n):
q, p=-1, head
while ①____:
q,p=p, link[p][-1]
if q==-1:
link[i][-1], head=p,i
else:
link[i][-1], link[q][-1]=p,i
return head
cheid=0
for i in range(n): #大件货订单先处理
dd[i]+=[[],0]
while dd[i][2]>=maxzz:
cheid+=1
#记录本订单拆分情况
dd[i][3].append("车"+str(cheid)+" "+str(maxzz))
#记录本车货物来源
che.append("车"+str(cheid)+" "+dd[i][0]+" "+dd[i][1]+" "+str(maxzz))
②____
head=sort link(dd)
while ③____:
total=0
hcstr=""
cheid+=1
txt="车"+str(cheid)+" "
p=head
while p!=-1 and dd[p][2]>0:
if ④____ : #合并货物
dd[p][3].append("车"+str(cheid)+" "+str(dd[p][2]))
txt+=dd[p][0]+" "+dd[p][1]+" "+str(dd[p][2])+","
if dd[p][1] in たdic:
hcstr+=hcdic[dd[p][1]]
total+=dd[p][2]
dd[p][2]=0
p=dd[p][-1]
che.append (txt)
head=sort_link(dd)
print("一共需要"+str(cheid)+"辆车。 ")
print("各订单装货情况: ")
for i in range(len(dd)):
print(dd[i][0], dd[i][1], dd[i][3])
print("各车辆装货情况: ")
for item in che:
print(item)
【答案】 ①. 3 ②. p!=-1 and link[i][2]<link[p][2] 或其它等价答案 ③. dd[i][2]-=maxzz 或其它等价答案 ④. dd[head][2]!=0 或dd[head][2]>0 或其它等价答案 ⑤. dd[p][2]+total<=maxzz and dd[p][1] not in hostr 或其它等价答案
【解析】
【详解】本题考查程序分析。1、根据货物情况和车辆载重、互相排斥数据,货物A两辆车,载重3000一辆车,载重2000一辆车。货物B载重800一辆车。共3辆货车。2、降序排序,while循环缺少判断条件,该条件判断是否到链表尾且满足降序条件,故填p!=-1 and link[i][2]<link[p][2]或其它等价答案。3、大件货订单先处理可知,当载重大于等于最大值,要进行拆分。故填dd[i][2]-=maxzz 或其它等价答案。4、while循环缺少条件,对降序排序后的列表dd的返回值进行判断,条件满足货物大于0或不等于0才进行操作。故填dd[head][2]!=0或 dd[head][2]>0或其它等价答案。5、注释可知if为货物合并的条件判断,要合并的货物小于等于最大载重且不在货物互斥的中,故填dd[p][2]+total<=maxzz and dd[p][1] not in hostr 或其它等价答案。
第1页/共1页
学科网(北京)股份有限公司
$
2024年5月嵊州市高(选)考科目适应性考试
技术试题
第一部分 信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列关于数据和信息的说法,正确的是( )
A. 信息的价值是相对的,包括显性价值与隐性价值 B. 通过人脸识别采集到的人脸图像属于结构化数据
C. 数据是对客观事物的符号表示,本身有一定的意义 D. 数字信号转换为模拟信号一般需要采样、量化和编码
2. 下列关于人工智能的说法,正确的是( )
A. 深度学习需要事先手工构造知识库 B. 强化学习需要学习者事先知道最终答案
C. 达芬奇外科手术机器人属于领域人工智能 D. 快递分拣机器人属于人工智能技术的应用
3. 为预防电动自行车充电时火灾的发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于该系统组成的说法,不正确的是( )
A. 充电桩是该系统的硬件 B. 系统维护人员不是该信息系统的用户
C. 充电小程序属于应用软件 D. 充电小程序上显示的充电时长属于该信息系统的数据
4. 为预防电动自行车充电时火灾的发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于该信息系统功能与应用的说法,正确的是( )
A. 该系统设计合理,不存在局限性 B. 电量充满自动断电的操作应用了传感与控制技术
C. 该系统不具有数据采集、处理和存储等功能 D. 用户进行扫码登陆的操作应用了RFID技术
5. 为预防电动自行车充电时火灾的发生,某小区引入了电动自行车智能充电系统,电量充满自动断电。该系统的充电桩如图所示,用户可以使用扫码或短信验证两种方式登陆充电小程序,登陆后即可选择充电口,并查看自己充电的设备编号、充电时长、消费金额等,随时随地实现与服务器的无线通讯。
下列关于信息系统安全和信息社会责任的说法,正确的是( )
A. 系统定期备份数据和文件,可提高该系统的安全性
B. 未经授权将系统的充电用户数据无偿送给商家
C. 关闭系统服务器上杀毒软件的自动扫描功能,需要检测时再打开
D. 用户可以使用扫码或短信验证两种方式实现身份认证,可确保数据一定安全
6. 下列关于网络系统的说法,不正确的是( )
A. 数据通信是网络系统最基本的功能 B. 第5代移动通信技术(5G)的数据传输率约10Gbit/s
C. 只有广域网通信时需要遵循网络协议 D. 网络能将信息系统各类软、硬件设施连接在一起
7. 一张大小为1280×720,位深度为32的位图,在其它参数不变的情况下,裁剪成640×360,颜色模式为256级灰度的位图,则处理前后的图像存储容量比为( )
A. 2:1 B. 4:1 C. 8:1 D. 16:1
8. 某已知队列元素的个数为5,则队首指针head和队尾指针(指向队尾一个元素的后一个位置)tail的值不可能是( )
A. head=1, tail=6 B. head=6, tail=1 C. head=2, tail=3 D. head=3, tail=2
9. 某算法的部分流程图如图所示,若n的值为8,key的值为40,数组元素a[0]至a[n-1]依次存放10,20,30,40,50,60,70,80,执行这部分流程后,输出c的值为( )
A. -2 B. -1 C. 0 D. 1
10. 数组元素a[0]至 a[n-1]依次存放着n个数据,现需要将下标为 x(0≤x≤n-1)元素在逻辑上删除,例如:n为5,数组a为[1,3,5,7,9] ,x为2,删除操作后输出[1,3,7,9]。实现该功能的程序段如下,横线中应填入的正确代码为( )
a=[1,3,5,7,9]
n=len(a)
x=2
for i in range(① ):
②
print(a[:-1])
A. ①xn ②a[i-1]=a[i] B. ①n-x ②a[i-1]=a[i] C. ①x,n ②a[i]=a[i+1] D. ①x-n,-1 ②a[i]=a[i+1]
11. 已知如下Python函数:
def f(x, n):
if n==1:
return x
else:
return x*f(x-1 n-1)
下面表达式值最大的为( )
A. f(5,6) B. f(5,7) C. f(-5,6) D. f(-5,7)
12. 有如下 Python程序,用于判断链表是否为回文链表(回文链表是指正序遍历和逆序遍历得到结点顺序一致的链表),则划线处代码是( )
a=[[1,1],[2,2],[8,3],[2,4],[1,-1]]
st=[];head=0;flag=True
slow, fast=head, head
while ① :
st.append (a[slow][0])
slow=a[slow][1]
fast=a[a[fast][1]][1]
if ② :
slow=a[slow][1]
while slow!=-1:
if st.pop () !=a[slow][0]:
flag=False
slow=a[slow][1]
if flag:
print("是回文链表!")
else:
print("不是回文链表!")
A. ①fast!=-1 or a[fast][1]!=-1 ②fast!=-1 B. ①fast!=-1 or a[fast][1]!=-1 ②a[fast][1]!=-1
C. ①fast!=-1 and a[fast][1]!=-1 ②fast!=-1 D. ①fast!=-1 and a[fast][1]!=-1 ②a[fast][1]!=-1
二、非选择题(本大题共3 小题,其中第13 小题10分,第14小题7分,第15小题9分,共26分)
13. 小明为阳台上的盆栽草莓搭建一个智能灌溉系统。该系统中的智能终端通过土壤湿度传感器获取土壤湿度数据,通过IoT模块将数据传输至Web服务器,根据服务器中的土壤湿度阈值控制执行器(水泵),同时服务器将接收到的数据存储到数据库中。Web服务器端程序采用Flask Web框架开发,用户可通过浏览器查询实时和历史数据。请回答下列问题:
(1)该系统中,智能终端与浏览器之间的数据传输____(单选,填字母:A.可以由智能终端直接到浏览器/B.只能由智能终端经过Web服务器再到浏览器)。
(2)下列关于该系统中的说法,正确的是____(单选,填字母)。
A.该系统网络应用软件的实现架构是C/S架构
B.测试并观察该系统运行是否有问题,属于静态测试
C.采集湿度传感器上的数据是由智能终端程序实现
(3)下列关于该系统支撑技术的说法,正确的有____(多选,填字母)。
A.服务器可以通过视图函数的返回值向智能终端发送指令
B.通过浏览器查看历史湿度数据需要访问智能终端
C.作为服务器的计算机无法使用浏览器访问该系统
D.若 IoT模块与智能终端连接故障,则用户将无法查看实时的湿度数据
(4)如果在光线过强时对草莓进行浇水,会导致植物的吸水能力赶不上蒸发的速度。小明对智能终端程序进行设计:每隔5分钟读取光线传感器和湿度传感器的数据;若读取的光强度值连续5次及以上低于阈值 Light,且湿度值低于湿度阈值Hum,则打开水泵,浇水5分钟之后关闭水泵;部分程序如下,请在划线处填写合适的代码。#导入相关库,从服务器获取湿度阈值Hum,光强度阈值Light。
c=0
while True:
#从光线传感器获取的实际光强度值,保存在vall中
#从土壤湿度传感器获取实际湿度值,保存在val2中
#将土壤湿度数据上传服务器
if vall<Light:
c+=1
if ①____:
#开启水泵,代码略
sleep(5*60*1000)
#延时5 分钟
#关闭水泵,代码略
c=0
else:
②____
sleep (5﹡60﹡1000)
(5)请通过增加传感器和执行器对该系统功能进行一项扩展,写出增加的传感器和执行器名称及实现的功能。____
14. 小明是个旅游爱好者,他查询了各地的一些热门旅游景点,并整理成文件“旅游景点.xls”,如图a所示,请回答下列问题:
A
B
C
D
E
F
G
H
1
景点
评分
热度
开放时间
门票价格
所在地
等级
省内外
2
西安钟楼
4.5
8.6
8:00-17:00
30
陕西
AAAAA
省外
3
南山海上观音
4.8
8.2
8:00-17:00
122
海南
AAAAA
省外
4
天涯海角
4.5
8.8
8:00-19:00|
0
海南
AAAA
省外
5
杭州野生动物世界
4.6
7.1
9:00-17:00
杭州
省内
6
杭州野生动物世界
4.6
7.1
210
AAAA
7
千岛湖景区
4.4
8.0
全天
55
杭州
AAAAA
省内
8
乌镇
4.6
8.8
9:00-22:00
180
嘉兴
AAAAA
省内
9
芜湖方特旅游区
4.1
6.7
全天
160
安徽
AAAAA
省外
图a
图b
(1)在数据整理阶段,应对图a中第5行和第6行执行____操作(单选,填字母)
A.删除第5行数据 B.删除第6行数据 C.删除第5、6两行数据 D.合并第5、6两行数据
(2)小明要用Python程序统计省内景点等级为“AAAAA”的个数,并输出景点名称及其所在地,程序如下,请在划线处填写合适的代码。
import pandas as pd
df=pd.read excel("旅游景点.xls")
count=0
for i in range(len(df)):
d=df.at[i, "等级"]
k=df.at[i, "省内外"]
if ____:
count+=1
print(df.at[i,"景点"], df.at[i,"所在地"])
print(count)
(3)小明统计省外各地区的景点个数,并绘制柱形图,部分程序如下,请在划线处填写合适的代码。
import matplotlib.pyplot as plt
df1=①____
df2=df1.groupby("所在地", as index=False).②____
x=df2.所在地
y=df2.景点
plt.bar(x,y)
#设置绘图参数,显示如图b所示柱形图,代码略
(4)由图b可知,省外景点个数不超过4个的地区有____个。
15. 在仓库有多个订单的货物,需要装车发货,订单信息保存在如下名为dd的列表中:
d=[["订单1","货物F",6960],…,["订单 10","货物 C",7850]]
其中列表元素的含义为[订单名称,货物名称,货物重量]。
现在需要对这些订单的货物进行装车发货,遵循如下规则:
● 若单个订单的重量超过货车的最大载重量maxzz,需要对其进行拆分,先装满整车,剩下的货物继续拆分装车;
● 拆分后余下的货物如果不能装满整车,则将较大的几个待装货物优先合并,装同一辆车;
● 有些货物之间有相互排斥关系,不能装同一辆车,如字典 hcdic{"货物E":"货物C","货物C":"货物E货物H","货物H":"货物C"}描述了货物之间的排斥关系。其中键值对"货物C": "货物E 货物H"表示货物C不可以和货物E或货物H装在同一辆车;处理完后输出需要货车的数量、各订单货物装的车号、以及各车号所装的货物来源及重量。程序运行样例如下:
订单及货物互斥信息如下:
[["订单1","货物B",800],["订单2","货物A",1500],["订单3","货物 A",3500]]互斥数据: {"货物C": "货物D货物B","货物D": "货物C","货物B": "货物C"}
一共需要2辆车。
各订单装货情况:
订单1货物B["车 2 800"]
订单2货物A["车 2 1500"]
订单 3货物 A["车 1 3000","车2 500"]
各车辆装货情况:
车1 订单3货物 A3000
车2 订单2 货物A 1500,订单1 货物B800,订单3 货物A500,
(1)若订单及货物互斥信息如下,货车最大载重量为3000,需要准备____辆货车。
[["订单1","货物B", 800],["订单2","货物A",1500],["订单 3","货物A",3500]]
互斥数据: {"货物A":"货物D货物B""货物D":"货物 A","货物B":"货物A"}
(2)实现题目描述的Python程序如下,请完成填空。
maxzz=3000 #车的最大载重量
ch e =[] #各货车装载货物详情
n=10 #订单数量
#设定订单的信息dd,格式如下:
#dd=[["订单1","货物A",800],……,["订单10","货物C",3500]]
#设定互斥(不能同车发送)货物信息hcdic,格式如下:
#hcdic={"货物A": "货物B","货物B": "货物A货物C","货物C": "货物B"},代码略
def sort_link(link): #对链表link降序排列
head =0
link[head][-1]=-1
for i in range(1,n):
q, p=-1, head
while ①____:
q,p=p, link[p][-1]
if q==-1:
link[i][-1], head=p,i
else:
link[i][-1], link[q][-1]=p,i
return head
cheid=0
for i in range(n): #大件货订单先处理
dd[i]+=[[],0]
while dd[i][2]>=maxzz:
cheid+=1
#记录本订单拆分情况
dd[i][3].append("车"+str(cheid)+" "+str(maxzz))
#记录本车货物来源
che.append("车"+str(cheid)+" "+dd[i][0]+" "+dd[i][1]+" "+str(maxzz))
②____
head=sort link(dd)
while ③____:
total=0
hcstr=""
cheid+=1
txt="车"+str(cheid)+" "
p=head
while p!=-1 and dd[p][2]>0:
if ④____ : #合并货物
dd[p][3].append("车"+str(cheid)+" "+str(dd[p][2]))
txt+=dd[p][0]+" "+dd[p][1]+" "+str(dd[p][2])+","
if dd[p][1] in たdic:
hcstr+=hcdic[dd[p][1]]
total+=dd[p][2]
dd[p][2]=0
p=dd[p][-1]
che.append (txt)
head=sort_link(dd)
print("一共需要"+str(cheid)+"辆车。 ")
print("各订单装货情况: ")
for i in range(len(dd)):
print(dd[i][0], dd[i][1], dd[i][3])
print("各车辆装货情况: ")
for item in che:
print(item)
第1页/共1页
学科网(北京)股份有限公司
$