试题

试题 试卷

logo

题型:综合题 题类: 难易度:困难

浙江省宁波市2023学年高三上学期信息技术选考模拟考试试卷

小明要搭建教室环境监控系统,其结构示意图如图a 所示。小明采用了智能终端、 IoT 模块、传感器(如 PM2.5传感器)、执行器(如LED 灯)、服务器等硬件,该系统能实时 监测教室空气质量情况,用户可以通过浏览器实时监测当前和历史数据,传感器采集的数据 由智能终端经 IoT 模块发送到Web 服务器后保存到数据库,并对当前空气质量进行判断,根 据空气质量等级智能终端控制显示不同颜色的LED灯,该系统服务器上的部分代码如下:

#导入Flask框架模块及其他模块,代码略

app =Flask _name_ )

@app.route("/input")

def add_data():

    id  =int(request.args.get(id'))

    value =float(request args.get(val'))

    nowtime =datetime.datetime.now()

    nowtime =nowtime.strftime('%Y-%m-%d %H:%M:%S')

    db=sqlite3.connect("data.db")

    cur=db.cursor()

    cur.execute("INSERT INTO sensorlog(id,sensorvalue,updatetime)VALUES(%d,%f,'%s)" %(id,value,nowtime))

    db.commit()

    cur.close()

    db.close()

#服务器其他功能,代码略

if  _name_  =="_main_ ":

    app.run(host="6.56.102.4",port=8080)

请回答下列问题

(1)、在搭建该系统的前期准备中,明确用户对该环境监控系统的目标期待及后期的可扩展性需求这一过程属于 (单选,填字母,A .需求分析 B .可行性分析 C .详细设计)
(2)、在该系统硬件搭建及软件开发过程中,不正确的是         (单选,填字母)
A、智能终端与Web服务器之间的数据传输可以是双向的 B、本系统 Web 服务器是采用GET方式接受传感器数据的 C、更改视图函数 add_data()的名称将影响程序功能 D、若 IoT 模块与智能终端断开连接,数据库中的数据将不再更新
(3)、若某时刻传感器编号为1,采集的PM2.5数值为30,则智能终端在传输数据时使用的URL 是 http:// ,服务器接受该数据后存储的数据库表名称为
(4)、小明将系统中近一年的数据导出,部分数据如图b所示,分析每月平均PM2.5浓度变化情况,线型图如图c所示,部分代码如下:

#导入数据处理相关模块,代码略

df=df[ ]

dfinsert( 0,"月份","")#插入列

for i in df index:

    data=str(dfat[i,"采集时间"])

    dfat[i,”月份"]=data[5:7]

gf=dfgroupby(" 月份",as_index=True).数值.mean()

plt.plot(  , gf.values)

#设置绘图参数,代码略

举一反三
小李设计了一个会员管理系统,用户通过浏览器在相应页面可进行会员注册、在线充值、线上查询消费记录等操作。该系统服务器端程序采用FlaskWeb框架编写,框架结构如图a所示。

其中会员注册子页面如图b所示。存储会员信息的users表中共3个字段,依次保存序号、用户名和密码,如图c所示。会员注册时需满足以下条件:①用户名不重复;②密码长度大于5。服务器端部分代码如下。

from flask import Flask , render_template , request

import sqlite3

def check(name ,pwd):

    conn= sqlite3 .connect( " account .db ")

    cur=conn .cursor()

    cur . execute( " select * from users where name= ’%s ’"%name)

    val=cur .fetchall()

    flag=True

    if len(val)==0 and            :

        sql= "insert into users(name , password) values(' %s' , '%s ') "%(name , pwd)

        cur .execute(sql)

        conn .commit()

    else:

        flag=False

    cur .close()

    conn .close()

    return flag

app=Flask(name_)

@app .route( "/reg ")

def reg() :

    name=request . args .get( "xm ")

    pwd=request .args .get( "psd ")

    if                         :

        return "注册成功! "

    else:

        return "请重新注册! "

#其它代码略

if _name_== "_main_ " :

app .run (host= " 192 . 168 . 1 . 10 " , port= 80 , debug=True)

返回首页

试题篮