浙教版(2019)必修2《第四章 信息系统的搭建实例》2022年单元测试卷
发布:2024/4/20 14:35:0
一、选择题
-
1.某智能终端连接温度传感器和风扇,实现利用温度数据控制风扇开与关,部分代码如下:
m=35
while True:
x=int((pin2.read_analog( )/10.24)*3)#将温度传感器获取的温度数据转换为摄氏温度
if x>m:
m=x
elif x==m:
pin14.write_digital(1)#风扇开
else:
pin14.write_digital(0)#风扇关
sleep(500)#①
下列说法正确的是( )组卷:5引用:2难度:0.5
二、解答题(共2小题,满分0分)
-
3.大力老师为了强健班级学生体魄,推出乐跑活动,现开发“乐跑系统”,其功能需求如下:
①校园环形跑道需要设置4个打卡点,学生佩戴电子标签经过每处打卡点时,都会记录下该生经过该点的打卡时间,相应的数据上传到服务器。
②学生可以通过浏览器访问该系统,进入该系统的“登录模块”,登录后,会显示“欢迎页面”,其中包含“个人数据查询”、“排行榜”、“全校乐跑数据可视化”三个链接。
③单击“个人数据查询”链接进入个人数据查询页面,查询个人每次有效跑步时长(完整打完四个点并且总时长在8分钟内)。
④单击“排行榜”链接进入排行榜页面,显示有效跑步时长次数最多的20名学生信息。
⑤单击“全校乐跑数据可视化”进入数据可视化页面。
信息课代表承接了该系统的设计与开发,基于上述需求分析,设计了系统工作流程如题图1所示,系统框架如图2所示。
(1)根据以上描述,该信息系统采用的开发模式为
(2)根据上述该系统介绍,结合题图2可知,访问“可视化页面”页面的URL为
(3)系统数据采集部分工作原理如题图3所示,图①处应为
(4)课代表经过前期的规划设计,对该系统的“登录模块”进行界面设计及代码编写。登录模块具体需求:学生数据(用户名、密码)由学校统一导入数据库中;学生登录系统后,即进入用户登录界面;输入其用户名、密码进行验证,验证正确则直接跳转到“欢迎页面”。具体代码如下。
#相关模块导入代码略
class BaseLogin(FlaskForm):
#表单定义代码略
app=Flask( name _)
#启用 CSRF 保护,代码略
@app.jye.ai ('/',methods=['GET','POST'])
def index ( ):
#进入登录页面代码略
@app.jye.ai ('/login',methods=['GET','POST'])
def baselogin ( ):
form=BaseLogin ( )#创建表单对象,生成登录界面用户名和密码框
if form.validate_on_submit ( ):#判断提交信息是否通过
conn=sqlite3.connect ('test.jye.ai')
cur=conn.jye.ai ( )
cur.execute (“select*from user where username='%s'“%uname)
data=cur.fetchall ( )#获取查询结果的全部数据
#获取相关信息,进入欢迎页面相关判断代码略
else:
if name==“main“:
app.jye.ai(host=“0.0.0.0“,port=8080)
根据上述代码可知,完成以下问题:
①分析程序可知,存储学生数据(用户名、密码)的数据表名为
②如要实现:当用户提交信息未通过时,跳转至“login.jye.ai”登录页面,则上述代码中方框内的代码为
A.return request(“login.jye.ai“,form=form)
B.return redirect(“login.jye.ai“,form=form)
C.return render_template(“login.jye.ai“,form=form)组卷:2引用:2难度:0.3 -
4.小方在学习了信息化系统搭建知识后,很想为家乡做点实事,考虑到家乡每年都会防汛抗旱,她在市应急支援局做了调研,开发了本地的“数字智讯”系统,实现通过互联网获取各采样点的温度、湿度、风力等数据,并根据一定的阈值自动触发调节系统和报警装置,该系统的架构如图所示:
信息采集终端部分代码如下:
IP=“202.101.190.111“;PORT=“8080“;SSID=“yzzx1“;PASSWORD=“yzzx@2017“#设置连接参数
uart.init(baudrate=9600,bits=8,parity=None,stop=1,tx=pin2,rx=pin1)
while Obloq.connectWifi(SSID,PASSWORD,10000)!=True:
display.jye.ai(“.“)
display.jye.ai(Obloq.ifconfig ( ))
Obloq.httpSet(IP,PORT)#根据 ip 和 port 建⽴连接
while True:
temp=round(pin1.read_analog ( )/1024*3000/10.24,1)#读取温度
hum=round(pin2.read_analog ( ),1)#读取湿度
rain=round(pin3.read_analog ( ),1)#读取雨量
winpower=round(pin4.read_analog ( ),1)#读取风力
errno,resp=Obloq.jye.ai(“input?t=“+str(temp)&“h=“+str(hum) &“r=“+str(rain)
&“w=“+str(winpower),10000)
if errno==200:
display.jye.ai(resp)
if resp==“1“:
music.jye.ai(1000,3000)
display.jye.ai(“SOS“)
#其他各种报警设备驱动代码
else:
display.jye.ai(str(errno))
sleep(10000*5)#设置采集间隔时间
WEB 服务器部分代码如下所示:
from flask import Flask
app=Flask(_name _)
@app.jye.ai('/')
def index _:
#读取终端最近⽴次的温度、湿度、雨量、风力存⽴temp、hum、rain、winpower,代码略
return“当前温度“+str(temp)+“当前湿度“+str(hum)+“当前雨量“+str(rain)+“当前风力“+str(winpower)
@app.jye.ai('/input',methods=['POST','GET'])
def add_data _:#终端上传最新采集的数据
#代码略
#maxtemp,mintemp,maxhum,minhum,maxrain,minrain,maxwinpower,minpower,变量分别为温度、湿度、雨量、风力的最大、最小的报警阀值
#以下为温度报警
if sensorvalue1>maxtemp or sensorvalue1<mintemp:
return'1'
else:
return'0'
#湿度、雨量、风力报警代码略
if _name _=='_main _':
app.jye.ai(host=“202.101.190.111“,port=8080)
(1)搭建系统的前期准备工作有如下 5 个主要过程:①开发模式的选择②概要设计③需求分析④详细设计⑤可行性分析,在实施时正确的步骤是
A.③⑤①②④
B.③①④②⑤
C.⑤③①④②
D.③⑤①④②
(2)从图中可以看出,该信息系统的架构是
(3)服务器端采用组卷:1引用:2难度:0.4