内容正文:
2024学年第一学期期末学业水平测试
高二年级技术试题卷
考生须知:
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。下列关于线上直播的描述,正确的是( )
A. 直播中文字、图像、视频都是信息 B. 视频只能通过摄像机才能采集
C. 数据以二进制方式编码后才能存储在计算机中 D. 通过无线网络传输的信息不需要依附于载体
2. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。下列关于数据安全的说法与措施,合理的是( )
A. 对校友注册信息定期进行备份 B. 网络中数据的传输都是安全的
C. 对校友数据进行加密,能提高数据完整性 D. 管理员可以随意修改校友信息
3. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。关于校庆中的导引机器人,下列说法中不正确的是( )
A. 导引机器人与校友的对话应用了人工智能技术
B. 对导引机器人进行针对性训练,有助于更准确地回答校友问题
C. 导引机器人能根据环境学习行走路线,属于行为主义人工智能
D. 为了减少人力资源成本,所有校庆工作岗位,都可以用机器人代替
4. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。相机中有一张16GB的SD卡,该SD卡最多可以存储4096x2160像素、24位色高清照片的张数是( )
A 80 B. 647 C. 845 D. 1000
5. 某中学引进“智慧食堂”系统,智能结算台具备自动识别菜品、称重、应付金额计算等功能,师生可通过“刷脸”支付餐费。家长可通过手机随时随地登录系统,查看孩子在校的消费信息。食堂管理人员依托“智慧食堂”系统,分析统计菜品销量、人员流量等信息,为后厨按量供应、按需采购提供了有力的数据支撑。下列关于该“智慧食堂”系统的说法,正确的是( )
A. 该系统的用户是指全校师生、家长和食堂工作人员 B. 该系统不需要通信网络的支持
C. 该系统对外部环境没有依赖性 D. 该系统的应用提高了食堂的工作效率
6. 某中学引进“智慧食堂”系统,智能结算台具备自动识别菜品、称重、应付金额计算等功能,师生可通过“刷脸”支付餐费。家长可通过手机随时随地登录系统,查看孩子在校的消费信息。食堂管理人员依托“智慧食堂”系统,分析统计菜品销量、人员流量等信息,为后厨按量供应、按需采购提供了有力的数据支撑。下列关于该“智慧食堂”系统中数据的说法,正确的是( )
A. 菜品数据可由餐盘内传感器采集得到 B. 人脸数据无需事先存放于该系统数据库
C. 学生账户的余额数据存放于家长手机中 D. 应付金额的计算只能在服务器端完成
7. 关于大数据和大数据处理,下列说法不正确的是( )
A. 处理大数据时一般采用分治思想
B. 道路交通中实时产生的数据属于流数据
C. 大数据的特征是数据量大、速度快、数据类型多、价值密度低
D. 大数据的数据规模大,因此分析数据只针对抽样数据,而不是全体数据
8. 某算法的部分流程图如下图所示,执行该流程图,则输出s的值以及k的值是( )
A. 25 ,9 B. 36 ,11 C. 36 ,13 D. 49 ,15
9. 下列Python表达式中,返回值为False的是( )
A. len(range(12))/4==3 B. "c" not in "abc" C. not(4/2**3 >= 1) D. 76543%100//10 == 4
10. 用Python算法控制结构描述“有2门及以上的科目优秀,且不能有科目不及格,才可以参与评奖,否则无奖项”。设k为优秀科目的数量,f为不及格科目的数量。下列选项不正确的是( )
A.
s=无奖项”
if f == 0 and k >= 2
s="可参评"
B.
if f == 0 and k >= 2:
s="可参评"
else:
s="无奖项"
C.
if f == 0:
if k >= 2:
s="可参评"
else:
s="无奖项"
D.
if f != 0:
s="无奖项"
elif k >= 2:
s="可参评"
else:
s="无奖项"
A. A B. B C. C D. D
11. 有如下Python程序段:
a=[2,3,5,8,13,1]
b=0
for i in range(len(a)-1,0,-2):
if a[i] == a[i-1]+a[i-2]:
b=b+1
print(b)
执行该程序段后,输出结果是( )
A. 1 B. 2 C. 3 D. 4
12. 有如下Python程序段:
s=input("请输入s:")
k=1;ch=s[0]
for i in s[1:]:
if k == 0:
ch=i;k=1
else:
if i > ch:
k=k+1
else:
k=k-1
print(ch)
变量s分别取下列值并运行程序段后,ch的值不为"C"的是( )
A. CDBDA B. DCCDE C. DCDEA D. CDDCC
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 有一个长度为n的数组data,每次操作只能选择删除数组的第一个元素或者最后一个元素,对这个数组进行k次操作后,要使剩下的数组元素之和达到最大值。实现上述功能的Python程序运行结果如图所示,请回答下列问题:
import random
def add(d):
s=0
for i in d:
①
return s
n=int(input("请输入数组元素的个数: "))
k=int(input("请输入删除的次数: "))
deta=[]
for i in range(n): #生成整数数组
data.append(random.randint(0,20))
print("数组为: ",data)
max_s=0
for i in range(② ):
s=add(data[i:n-(k-i)])
if s > max_s:
max_s=s
p=i
print("删除后,数组为: ",③ ,"最大值为: ",max_s)
(1)该程序段采用的算法是____(单选,填字母:A.解析算法/B.枚举算法)。
(2)请在划线处填入合适的代码。____、____、____
14. 小李同学收集了杭州市2023年全年的天气数据,每月的数据分别保存在以6位日期字符串命名的Excel文件中,如图a所示。为分析2023年各月份天气情况,编写Python程序,请回答下列问题:
图a 图b
(1)小李在处理数据前,首先对图b所示的数据进行整理,下列说法不正确的是____(单选,填字母)。
A.只能通过Python语言编程,才能进行数据分析与挖掘
B.日期列中存在格式不一致问题,建议使用统一标准化的表达
C.B3单元格中的数据存在逻辑错误,需再次访问数据源,并进行数据更正操作
D.第6行和第7行数据完全相同,可能存在数据重复问题,可以在审核后删除其中一行
(2)数据整理后,计算2023年每天温差(最高气温-最低气温),统计2023年各月平均温差情况绘制成折线图如图c所示,并找出月平均温差值最大的三个月如图d所示,请在划线处填入合适的代码。
图c 图d
def tstr(t):
if t < 10:
s="0"+str(t)
else:
s=str(t)
return s
import pandas as pd
import matplotlib.pyplot as plt
#中文显示格式,代码略
df=pd..DataFrame() #创建空DataFrame对象
for i in range(1,13):
filename="2023"+①____+".x1sx"
df1=pdread_excel(filename)
df=pd..concat([df,df1],ignore_index=True) #合并两个DataFrame对象数据
yf=[]
for i in ②____:
yf.append(df.at[i,"日期"][5:7])
df.insert(0,"月份",yf) #添加列数据insert(插入位置,列标签,数据列表)
df["温差"{\prime\prime}]=df.最高气温-df.最低气温
df2=round(df.groupby("月份",as_index=False)["温差"].③____,2)
#找出月平均温差值最大的三项
df3=
plt.title("2023年杭州市各月平均温差图")
plt.plot(④____,df2.温差,1abe1="平均温差")
plt.legend()
plt.show()
(3)加框处应该填入的代码是____(多选,填字母)。
A.df2.sort_values("温差",ascending=False).head(3) B.df2.sort_values("温差",ascending=True).head(3)
C.df2.sort_values("温差",ascending=False)[:3] D.df2.sort_values("温差",ascending=True)[:3]
15. 某场馆有三种包间,“小包间”最多容纳4人,“中包间”最多容纳6人,“大包间”最多容纳12人,可以提前预约,预约以小时为单位进行,场馆每天8点开馆,21点闭馆。预约的包间人数可以大于所需的预约人数,如果有多种包间满足要求,则给出多种预约方案。请你编写程序,输入预约的人数、所需的时长及需要从几点开始预约,根据已预约的情况,给出预约方案。程序运行界面如图所示:
(1)实现上述功能的部分Python代码如下,请在划线处填入合适的代码。
def cx(rs):#查找包间类型
index=-1
for i in range(len(ceils)):
if rs <= ceils[i]:
①____
break
return index
types=["小包间","中包间","大包间"] #存储包间的类型
ceils=[4,6,12] #存储每种包间的最大容纳人数
counts=[2,3,2] #存储每种包间的数量
#存储每种包间的预订信息,[8,10]代表预约了8时和9时
bookeds=[[[8,10],[8,11],[11,12],[12,15]], #小包间的预订信息
[[8,9],[8,10],[8,11],[11,12]], #中包间的预订信息
[[8,9],[10,13],[11,19],[20,21]]] #大包间的预订信息
n=int(input("请输入预约的人数: ")) #输入预约的人数
d=int(input("请输入所需的时间(小时): ")) #输入所需的时间(小时)
start_t=int(input("请输入开始预约的时间(8点到20点): "))#输入开始预约的时间
ceil_id=cx(n)
if ceil_id != -1:
②____
while ceil_id < len(types):
cnt=counts[ceil_id] #获取当前包间的数量
bookings=bookeds[ceil_id] #获取当前包间的预订信息
flag=[0]*24
for booking in bookings:
s,e=booking[0],booking[1]
for t in range(s,e):
③____
find=True
for t in range(start_t,start_t+d):
if flag[t] >= cnt:
find=False
break
if find:
options.append([[start_t,start_t+d],ceil_id])
ceil_id+=1
if ④____:
print("无包间可预约")
else:
print("可预约的包间有: ")
for i in options:
print(types[i[1]]+"预约时间是:"+str(i[0][0])+"点到"+str(i[0][1])+"点")
(2)当输入n=4,d=1,stant_t=8,请你根据已预约情况,推断预约成功____(单选,填字母:A.可以/B.不可以)。
第1页/共1页
学科网(北京)股份有限公司
$$
2024学年第一学期期末学业水平测试
高二年级技术试题卷
考生须知:
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至12页。满分100分,考试时间90分钟。
1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。下列关于线上直播的描述,正确的是( )
A. 直播中的文字、图像、视频都是信息 B. 视频只能通过摄像机才能采集
C. 数据以二进制方式编码后才能存储在计算机中 D. 通过无线网络传输的信息不需要依附于载体
【答案】C
【解析】
【详解】本题考查的是数据、信息及编码。直播中的文字、图像、视频都是数据;视频也可以通过其他设备采集,如手机、平板电脑等;“数据以二进制方式编码后才能存储在计算机中”正确,因为计算机系统以二进制形式进行数据存储和处理;“通过无线网络传输的信息不需要依附于载体”不正确,因为无线信息传输仍然需要依附于电磁波这种载体。故本题应选C。
2. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。下列关于数据安全的说法与措施,合理的是( )
A. 对校友注册信息定期进行备份 B. 网络中数据的传输都是安全的
C. 对校友数据进行加密,能提高数据的完整性 D. 管理员可以随意修改校友信息
【答案】A
【解析】
【详解】 本题考查数据安全。A选项正确,对校友注册信息定期进行备份,可有效防止因硬件故障、软件错误、人为误操作、黑客攻击或其他意外事件导致数据丢失。当出现数据丢失情况时,能够依据备份数据进行恢复,确保校友信息的可用性,所以该措施合理。B选项错误,网络环境复杂多变,存在诸多安全风险,如网络监听、黑客攻击、中间人攻击等。这些威胁可能导致数据在传输过程中被窃取、篡改或泄露,所以不能认为网络中数据的传输都是安全的。C选项错误,对校友数据进行加密,主要作用是保障数据的保密性,使数据在传输和存储过程中即使被非法获取,未授权者也无法解读其内容。D选项错误,管理员随意修改校友信息,不仅破坏了数据的真实性和完整性,还可能侵犯校友的合法权益。管理员应在遵循严格的授权流程和规定下,才可对校友信息进行修改,以确保数据的安全性和可靠性。因此,本题选择A。
3. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。关于校庆中的导引机器人,下列说法中不正确的是( )
A. 导引机器人与校友的对话应用了人工智能技术
B. 对导引机器人进行针对性训练,有助于更准确地回答校友问题
C. 导引机器人能根据环境学习行走路线,属于行为主义人工智能
D. 为了减少人力资源成本,所有校庆工作岗位,都可以用机器人代替
【答案】D
【解析】
【详解】本题考查人工智能。A 选项,导引机器人与校友对话涉及自然语言处理技术,这是人工智能的重要领域之一。B 选项,对导引机器人进行针对性训练,能让它学习更多与校庆相关的知识和常见问题的回答方式。就像人类通过学习积累知识能更准确地回答问题一样,机器人经过针对性训练后,面对校友提问时能更准确地作答,该选项说法正确。C 选项,行为主义人工智能强调通过与环境的交互和反馈来学习。导引机器人能根据环境学习行走路线,这正是通过不断与所处环境交互,依据环境反馈调整自身行为,符合行为主义人工智能的特点,该选项说法正确。D 选项,虽然机器人在某些方面可以协助校庆工作,如导引和简单答疑,但并非所有校庆工作岗位都能用机器人代替。例如,校庆活动中的一些情感交流、创意策划、复杂人际关系处理等工作,机器人目前还难以完全胜任,需要人类的情感理解、创造力和人际交往能力等。所以该选项说法不正确。 因此,本题选择 D。
4. 某校要举行120周年校庆活动,校友用手机、电脑等终端在校庆网站注册账号登录,通过线上视频、图像、文字直播了解当天庆典的盛况。参加线下活动的校友,通过人脸识别系统进入校园,现场安排的导引机器人会引导校友参加活动,并回答校友的相关提问。相机中有一张16GB的SD卡,该SD卡最多可以存储4096x2160像素、24位色高清照片的张数是( )
A. 80 B. 647 C. 845 D. 1000
【答案】B
【解析】
【详解】本题考查的是图像编码。一张图片占用空间=分辨率*颜色深度/8=4096*2160*24/(8*1024*1024)=25.3125MB。单张照片总数=SD 卡总容量 ÷ 单张照片占用空间=16*1024/25.3125≈647张,故选B。
5. 某中学引进“智慧食堂”系统,智能结算台具备自动识别菜品、称重、应付金额计算等功能,师生可通过“刷脸”支付餐费。家长可通过手机随时随地登录系统,查看孩子在校的消费信息。食堂管理人员依托“智慧食堂”系统,分析统计菜品销量、人员流量等信息,为后厨按量供应、按需采购提供了有力的数据支撑。下列关于该“智慧食堂”系统的说法,正确的是( )
A. 该系统的用户是指全校师生、家长和食堂工作人员 B. 该系统不需要通信网络的支持
C. 该系统对外部环境没有依赖性 D. 该系统的应用提高了食堂的工作效率
【答案】D
【解析】
【详解】本题考查的是信息系统的组成与功能。系统的用户还包括维护、管理等人员;系统需要通信网络支持,因为家长需要登录系统查看消费信息;系统依赖外部环境,如网络和硬件设备支持。故本题应选D。
6. 某中学引进“智慧食堂”系统,智能结算台具备自动识别菜品、称重、应付金额计算等功能,师生可通过“刷脸”支付餐费。家长可通过手机随时随地登录系统,查看孩子在校的消费信息。食堂管理人员依托“智慧食堂”系统,分析统计菜品销量、人员流量等信息,为后厨按量供应、按需采购提供了有力的数据支撑。下列关于该“智慧食堂”系统中数据的说法,正确的是( )
A. 菜品数据可由餐盘内传感器采集得到 B. 人脸数据无需事先存放于该系统数据库
C. 学生账户的余额数据存放于家长手机中 D. 应付金额的计算只能在服务器端完成
【答案】A
【解析】
【详解】本题考查的是信息系统。智慧食堂系统的智能结算台通过传感器自动识别菜品和称重,选项A说法正确;人脸支付需要事先在系统中有存储的人脸数据进行匹配,故选项B说法错误;学生账户的余额数据一般会存储在系统的服务器中,而非直接存放在家长的手机中,故选项C说法错误;应付金额可以在本地结算台计算,不一定只能在服务器端完成,故选项D说法错误。本题应选A。
7. 关于大数据和大数据处理,下列说法不正确的是( )
A. 处理大数据时一般采用分治思想
B. 道路交通中实时产生的数据属于流数据
C. 大数据的特征是数据量大、速度快、数据类型多、价值密度低
D. 大数据的数据规模大,因此分析数据只针对抽样数据,而不是全体数据
【答案】D
【解析】
【详解】本题考查的是大数据特征及处理。大数据分析通常是针对全部数据进行处理的,这是大数据处理的重要特征之一,与传统数据分析方法的抽样分析有所不同。随技术进步,即使数据规模庞大,分析全量数据也已成为可能。故本题应选D。
8. 某算法的部分流程图如下图所示,执行该流程图,则输出s的值以及k的值是( )
A. 25 ,9 B. 36 ,11 C. 36 ,13 D. 49 ,15
【答案】C
【解析】
【详解】本题考查的是流程图的执行。
S=0,k=1
k=1<15,Y,s=0>30,N,s=0+1=1,k=1+2=3
k=3<15,Y,s=1>30,N,s=1+3=4,k=3+2=5
k=5<15,Y,s=4>30,N,s=4+5=9,k=5+2=7
k=7<15,Y,s=9>30,N,s=9+7=16,k=7+2=9
k=9<15,Y,s=16>30,N,s=16+9=25,k=9+2=11
k=11<15,Y,s=25>30,N,s=25+11=36,k=11+2=13
k=13<15,Y,s=36>30,Y,输出s=36,此时k值为13。故选项C正确。
9. 下列Python表达式中,返回值为False的是( )
A. len(range(12))/4==3 B. "c" not in "abc" C. not(4/2**3 >= 1) D. 76543%100//10 == 4
【答案】B
【解析】
【详解】本题考查的是Python表达式。len(range(12))/4==3:range(12) 生成从 0 到 11 的序列,有 12 个元素,len(range(12)) 等于 12,12 除以 4 得到 3,等式为真;"c" not in "abc": 字符 "c" 存在于字符串 "abc" 中,所以表达式为假;not(4/2**3 >= 1):2**3 是 8,4/8 是 0.5,0.5 不大于等于 1,所以 4/2**3 >= 1 为假,not 将其转为真;76543%100//10 == 4:76543%100 的余数是 43,43//10 是 4,等式为真。故选B。
10. 用Python算法控制结构描述“有2门及以上的科目优秀,且不能有科目不及格,才可以参与评奖,否则无奖项”。设k为优秀科目的数量,f为不及格科目的数量。下列选项不正确的是( )
A.
s=无奖项”
if f == 0 and k >= 2
s="可参评"
B.
if f == 0 and k >= 2:
s="可参评"
else:
s="无奖项"
C.
if f == 0:
if k >= 2:
s="可参评"
else:
s="无奖项"
D.
if f != 0:
s="无奖项"
elif k >= 2:
s="可参评"
else:
s="无奖项"
A. A B. B C. C D. D
【答案】C
【解析】
【详解】本题考查Python基础。
当优秀科目数为1,且不及格科目数为0时,程序应判断无奖项。选项C程序不能通过该项测试,且会报变量s没有定义错误。故正确答案为:选项C。
11. 有如下Python程序段:
a=[2,3,5,8,13,1]
b=0
for i in range(len(a)-1,0,-2):
if a[i] == a[i-1]+a[i-2]:
b=b+1
print(b)
执行该程序段后,输出结果是( )
A. 1 B. 2 C. 3 D. 4
【答案】B
【解析】
【详解】本题考查Python基础。
分析该段程序运行过程如下:
当i=5时,不满足a[5]==a[5]+a[3],此时不执行b=b+1。
当i=3时,满足a[3]==a[2]+a[1],此时执行b=b+1,b为1。
当i=1时,满足a[1]==a[0]+a[-1],此时执行b为2。
故正确答案为:选项B。
12. 有如下Python程序段:
s=input("请输入s:")
k=1;ch=s[0]
for i in s[1:]:
if k == 0:
ch=i;k=1
else:
if i > ch:
k=k+1
else:
k=k-1
print(ch)
变量s分别取下列值并运行程序段后,ch的值不为"C"的是( )
A. CDBDA B. DCCDE C. DCDEA D. CDDCC
【答案】C
【解析】
【详解】本题考查是字符串操作。程序的核心逻辑是维护一个计数器 k 和一个字符 ch。ch 初始为字符串的第一个字符,k 初始为 1,然后遍历字符串的其余字符。如果当前字符 i 大于 ch,k 加 1;否则 k 减 1。当 k 减到 0 时,更新 ch 为当前字符 i。选项C中:初始,s="DCDEA",ch='D',k=1。
i=C时,不满足k==0,不满足i > ch,执行k=k-1=0;
i=D时,满足k==0,ch=i=D,k=1;
i=E时,不满足k==0,满足i > ch,执行k=k+1=2;
i=A时,不满足k==0,不满足i > ch,执行k=k-1=1;
最后ch的值为D,故本题应选C。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 有一个长度为n的数组data,每次操作只能选择删除数组的第一个元素或者最后一个元素,对这个数组进行k次操作后,要使剩下的数组元素之和达到最大值。实现上述功能的Python程序运行结果如图所示,请回答下列问题:
import random
def add(d):
s=0
for i in d:
①
return s
n=int(input("请输入数组元素的个数: "))
k=int(input("请输入删除的次数: "))
deta=[]
for i in range(n): #生成整数数组
data.append(random.randint(0,20))
print("数组为: ",data)
max_s=0
for i in range(② ):
s=add(data[i:n-(k-i)])
if s > max_s:
max_s=s
p=i
print("删除后,数组为: ",③ ,"最大值为: ",max_s)
(1)该程序段采用的算法是____(单选,填字母:A.解析算法/B.枚举算法)。
(2)请在划线处填入合适的代码。____、____、____
【答案】 ①. B ②. s=s+i ③. k+1 ④. data[p:n-(k-p)]
【解析】
【详解】本题考查的是python循环语句的应用。
(1)程序通过遍历所有可能的删除方式来计算最大值,这是典型的枚举算法的应用。故选B。
(2)①处需要实现对数组中元素的累加,所以应该是s=s+ i。②处的循环范围是删除次数的所有可能,应该遍历到k+1。③处需要输出删除后的数组截取部分,p是开始位置,n-(k-p)是结束位置,所以是data[p:n-(k-p)]。
14. 小李同学收集了杭州市2023年全年的天气数据,每月的数据分别保存在以6位日期字符串命名的Excel文件中,如图a所示。为分析2023年各月份天气情况,编写Python程序,请回答下列问题:
图a 图b
(1)小李在处理数据前,首先对图b所示的数据进行整理,下列说法不正确的是____(单选,填字母)。
A.只能通过Python语言编程,才能进行数据分析与挖掘
B.日期列中存在格式不一致问题,建议使用统一标准化表达
C.B3单元格中的数据存在逻辑错误,需再次访问数据源,并进行数据更正操作
D.第6行和第7行数据完全相同,可能存在数据重复问题,可以在审核后删除其中一行
(2)数据整理后,计算2023年每天的温差(最高气温-最低气温),统计2023年各月平均温差情况绘制成折线图如图c所示,并找出月平均温差值最大的三个月如图d所示,请在划线处填入合适的代码。
图c 图d
def tstr(t):
if t < 10:
s="0"+str(t)
else:
s=str(t)
return s
import pandas as pd
import matplotlib.pyplot as plt
#中文显示格式,代码略
df=pd..DataFrame() #创建空DataFrame对象
for i in range(113):
filename="2023"+①____+".x1sx"
df1=pd.read_excel(filename)
df=pd..concat([df,df1],ignore_index=True) #合并两个DataFrame对象数据
yf=[]
for i in ②____:
yf.append(df.at[i,"日期"][5:7])
df.insert(0,"月份",yf) #添加列数据insert(插入位置,列标签,数据列表)
df["温差"{\prime\prime}]=df.最高气温-df.最低气温
df2=round(df.groupby("月份",as_index=False)["温差"].③____,2)
#找出月平均温差值最大的三项
df3=
plt.title("2023年杭州市各月平均温差图")
plt.plot(④____,df2.温差,1abe1="平均温差")
plt.legend()
plt.show()
(3)加框处应该填入的代码是____(多选,填字母)。
A.df2.sort_values("温差",ascending=False).head(3) B.df2.sort_values("温差",ascending=True).head(3)
C.df2.sort_values("温差",ascending=False)[:3] D.df2.sort_values("温差",ascending=True)[:3]
【答案】 ①. A ②. tstr(i) ③. range(len(df)) 或 df.index ④. mean() ⑤. df2.月份 或 df2["月份"] ⑥. AC
【解析】
【详解】本题考查的是数据处理。
(1)数据分析和挖掘可以通过多种工具和语言实现,不仅限于Python,还可以使用R语言、Excel等工具。故选A。
(2)① tstr(i):调用自定义的函数,将月份数字转换为两位字符(如01, 02);② range(len(df)):用于遍历DataFrame的行索引,目的是提取每行的月份;③ mean():分组后计算温差的平均值;④ df2["月份"]:提取月份列用于绘制折线图的横坐标。
(3)找出月平均温差值最大的三项,对温差进行降序排序,取前3个,可以用head(3)和切片[:3]两种方式选取前三项,只需将ascending设为False。故选AC。
15. 某场馆有三种包间,“小包间”最多容纳4人,“中包间”最多容纳6人,“大包间”最多容纳12人,可以提前预约,预约以小时为单位进行,场馆每天8点开馆,21点闭馆。预约的包间人数可以大于所需的预约人数,如果有多种包间满足要求,则给出多种预约方案。请你编写程序,输入预约的人数、所需的时长及需要从几点开始预约,根据已预约的情况,给出预约方案。程序运行界面如图所示:
(1)实现上述功能的部分Python代码如下,请在划线处填入合适的代码。
def cx(rs):#查找包间类型
index=-1
for i in range(len(ceils)):
if rs <= ceils[i]:
①____
break
return index
types=["小包间","中包间","大包间"] #存储包间类型
ceils=[4,6,12] #存储每种包间的最大容纳人数
counts=[2,3,2] #存储每种包间的数量
#存储每种包间的预订信息,[8,10]代表预约了8时和9时
bookeds=[[[8,10],[8,11],[11,12],[12,15]], #小包间的预订信息
[[8,9],[8,10],[8,11],[11,12]], #中包间的预订信息
[[8,9],[10,13],[11,19],[20,21]]] #大包间的预订信息
n=int(input("请输入预约的人数: ")) #输入预约的人数
d=int(input("请输入所需的时间(小时): ")) #输入所需的时间(小时)
start_t=int(input("请输入开始预约的时间(8点到20点): "))#输入开始预约的时间
ceil_id=cx(n)
if ceil_id != -1:
②____
while ceil_id < len(types):
cnt=counts[ceil_id] #获取当前包间的数量
bookings=bookeds[ceil_id] #获取当前包间的预订信息
flag=[0]*24
for booking in bookings:
s,e=booking[0],booking[1]
for t in range(s,e):
③____
find=True
for t in range(start_t,start_t+d):
if flag[t] >= cnt:
find=False
break
if find:
options.append([[start_t,start_t+d],ceil_id])
ceil_id+=1
if ④____:
print("无包间可预约")
else:
print("可预约的包间有: ")
for i in options:
print(types[i[1]]+"预约时间是:"+str(i[0][0])+"点到"+str(i[0][1])+"点")
(2)当输入n=4,d=1,stant_t=8,请你根据已预约情况,推断预约成功____(单选,填字母:A.可以/B.不可以)。
【答案】 ①. index=i 或 等同答案 ②. options=[] 或 等同答案 ③. flag[t]+=1 或 等同答案 ④. ceil_id == -1 or len(options) == 0 或 ceil_id == -1 or options == [] 或 等同答案 ⑤. A
【解析】
【详解】本题考查的是Python综合应用。
(1)①处,如果预约人数不超过包间最大容纳人数,则记录下符合要求的包间类型的下标,故此处应为:index=i 或 等同答案;②处,初始化存储可预约选项的列表,故此处应为:options=[] 或 等同答案;③处,标记当前小时段的已预约数量,用于判断是否超出当前包间数量,故此处应为:flag[t]+=1 或 等同答案;④处,判断是否没有可预约的包间,如果 ceil_id 初始化为 -1 或者 options 为空则表明无可预约包间,故此处应为:ceil_id == -1 or len(options) == 0 或 ceil_id == -1 or options == [] 或 等同答案。
(2)对于输入的 n=4, d=1, start_t=8:
在题目提供的片段中,根据已预约的情况,“小包间”和“中包间”在8点开始的时段均已被预约,但大包间在 [8,9] 时间段还有一间可预约。最后结果有可预约的选项,所以可以预约,选择 A。
第1页/共1页
学科网(北京)股份有限公司
$$