浙江省嘉兴市八校2023-2024学年高二下学期信息技术期中考试试卷
共 13 题 ; 22人浏览 ; 高二下学期
2024-05-30
一、选择题(共10题,共24分)
二、非选择题(共3题,共19分)
11.  某省2023年全年气象灾害预警数据保存在文件“qxyj.xlsx”中,部分数据如图a所示,编写Python程序,统计全年发布次数最多的5种气象预警。

图a

#导入模块略

df=pd.read_excel("qxyj.xlsx") #读取文件中的数据

(1) 整理数据,删除多余列,划线处代码正确的是:(    )(单选,填字母)

df=df.drop(["预警发布单位","预警发布时间"],____)#删除列

A. ascending=True B. index=True C. axis=0 D. axis=1
(2) 为统计每种气象的预警次数,划线处代码正确的是:____

df_g=df.groupby("预警名称",as_index=False).____ #分组并统计预警次数

df_s= df_g.sort_values("次数"ascending=False) #按"次数"降序排序

A. sum( ) B. count( ) C. min( ) D. mean( )
(3) 排序后给数据增加“预警等级”列,按照预警名称中的“红橙黄蓝”分别设置等级1234,输出结果如图 b 所示。划线处代码正确的是:(    )

图b

df_s["预警等级"]=0#插入新的"预警等级"列,默认值为0

for i in range(len(df_s)):

 s=

 if s[2]=="红":

 df_s.at[i,"预警等级"]=1

 elif s[2]=="橙":

 df_s.at[i,"预警等级"]=2

 elif s[2]=="黄":

 df_s.at[i,"预警等级"]=3

 elif s[2]=="蓝":

 df_s.at[i,"预警等级"]=4

print(df_s)

df_s=df_s.head(5)

A. df_s[i,"预警名称"] B. df_s.at[i,"预警名称"] C. df[i,"预警名称"] D. df.at[i,"预警名称"]
(4) 统计全年发布次数最多的5种气象预警,建立图表,如图c所示。请在程序划线处填写合适的代码。

图c

x=df_s.预警名称

y=

plt.bar(x,y) #绘制柱形图

plt.title('发布次数最多的 5 种气象预警')

plt.show() #显示图表

综合题 普通
12.  小佳搭建了蔬菜大棚温度监测系统,系统结构如下图所示。其中IoT模块为网络模块,实现智能终端网络接入。

(1) 对图中虚线框部分描述不正确的是____ (单选,填字母)。 A. 传感器只能向智能终端传递数据 B. 执行器能向智能终端返回执行结果 C. 智能终端与 Web 服务器实现数据的双向传递
(2) 此系统选择 B/S 模式系统架构模式,该架构模式对服务器的负荷相对较(选填:轻/重)。
(3) 小佳基于FlaskWeb框架编写服务器端的程序,部分代码如下。编写完成后,若智能终端某次提交到服务器的URL是http://192.168.10.102:5000/?val =23(提交的温度值为 23),

结合下方代码,在 URL 划线处应填写合适的答案。

#导人 Flask 框架模块及其他相关模块,代码略

app = Flask(_name_)

@app.route('/upload')

def view():

wd=float( request.args.get('val')) #服务器获取提交的温度值

# 服务器其他功能代码略

if _name_ == '_main_'

 app.run(host="192.168.10.102",port=5000) #设置服务器 IP 和端口

(4) 用浏览器查看温度页面,页面动态显示最新温度及其采集时间。系统正常工作一段时间后,他发现该页面不再变化,刷新浏览器后仍不变。结合题图,简要说明系统中可能造成上述问题的原因:____(传感器损坏不会造成上述问题)。 A. Web 服务器异常 B. 无线网络异常 C. IoT 模块(网络模块)损坏 D. 智能终端损坏
综合题 困难
13.  某网约旅游小巴士,核载乘客m人(不算司机),途径n个景点(编号从1到n),小巴士从1号景点向n号景点行驶,中途不改变方向。游客提供订单号,由3个数字组成分别是:乘客人数、上车景点编号、下车景点编号。如订单“2,1,5,”(数字之间用逗号“,”分隔,并以逗号结尾)表示2位乘客从1号景点上车5号景点下车。编写python程序,读取已经预约成功的订单信息,并判断新提交的订单能否预约成功。

设m=12,n=10,如图a所示,是已经预约成功的5个订单对应的各景点车上人数。当输入新的订单号:“4,5,8,”,程序提示预约不成功,如图b所示。

图a

图b

(1) 结合题意与图a,若输入订单号为“3,6,9,”,(选填:能/不能)预约成功。
(2) 实现上述功能的python程序如下,请在划线处填写合适的代码。

#定义函数,读取订单中的人数和上下车景点编号

def order(s):

 num,start,end=0,0,0

 j,k=0,1

 for i in range(len(s)):

        

 if ch==",":

 tmp=int(s[j:i])

 j=i+1

 if k==1:

 num=tmp

 elif k==2:

 start=tmp

 elif k==3:

 end=tmp

            

 return num,start,end

#主程序

#读取已预约成功订单,存入列表 lst,数据元素为订单号

# 如 lst=["2,1,5,","1,3,7,","3,2,8,","2,4,7,","3,5,10,"]

n=10 #站点数

m=12 #巴士空座位总数

count=[0]*(n+1)

for i in lst: #处理预约成功订单

 num,start,end=order(i)

 for i in range():

 count[i]+=num

s=input("请输入订单号:")#处理新订单

a,b,c=order(s)

if a*b*c!=0:

 if :

 print("预约不成功,请重新输入!")

 else:

 print("预约成功!")

else:

 print("订单格式输入错误,请重新输入!")

#更新预约成功订单,再次等待新订单,代码略

综合题 困难