1. 小明编写了“室内环境实时监测系统”,系统结构示意图如第13题图所示。智能终端将传感器采集到的数据,通过IoT模块(网络模块)传送到Web服务器并保存到数据库。客户端通过浏览器访问Web服务器,Web服务器将处理的结果经IoT模块传送给智能终端,由智能终端启动执行器实现对温度的控制。

#智能终端部分代码

#IoT 模块接入网络代码略

while True:

    wt=pin1.read_analog( )    #读取扩展板 pin1 端口的温度值

    gx=pin2.read_analog( )    #读取扩展板 pin2 端口的光线强度值

    errno,resp = wf.get('input?wt='+str(wt)+'&gx='+str(gx), 10000)

    if errno == 200:

        display.scroll(resp)

    else:

        display.scroll(str(errno))

           

#服务器端部分代码

from flask import Flask ,render_template

app = Flask(__name__)

@app.route('/chaxun',methods=['GET','POST'])    # 设置请求可以为 GET 和 POST

def cx():

    conn=sqlite3.connect('mydb.db')

    cursor=conn.cursor()

    cursor.execute("select * from jc")

    values = cursor.fetchall()

    conn.commit()

    cursor.close()

    conn.close()

    return render_template('chaxun.html',xx=values)    #显示所有用户信息给浏览器

@app.route('/input',methods=['GET','POST'])    # 设置请求可以为 GET 和 POST

def input():    #终端上传最新采集的温度数据

    #代码略

if __name__ == '__main__':

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

请回答下列问题:

(1) 下列选项标注了图中虚线框内的智能终端与传感器、执行器之间的数据传输关系,其中合理的是(   )(单选,填字母) A. B. C.
(2) 用来保存温度和光线强度的数据库文件名为
(3) 在该信息系统中实现查看温度、光线强度及其采集时间的视图函数名为
(4) 访问该信息系统首页的URL为:
(5) 若要求智能终端每间隔 5 秒采集传感器的温度和光线强度数据,则划线处应填入的代码为
(6) 用浏览器查看温度和光线强度页面,页面动态显示最新的温度、光线强度及其采集时间。系统正常工作一段时间后,他发现该页面不再变化,刷新后仍不变。结合第 13 题图,简要说明系统中可能造成上述问题的原因:(   )(多选,填字母)(本系统中传感器损坏不会造成上述问题)。 A. 数据库与 Web 服务器连接异常 B. Web 服务器异常 C. 无线网络异常 D. IoT 模块(网络模块)损坏 E. 智能终端损坏
【考点】
过程与自定义函数; 分支结构语句及程序实现; 循环结构语句及程序实现; 传感器信息的获取;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 普通
能力提升
换一批
1. 有n个小组(编号1至n),每个小组有m个成员,每个成员都有一个大于等于0的得分。现要求按下列规则计算每个小组的成绩,并找出成绩最高的小组。

小组成绩的计算规则是:若小组成员中得分最高的前k人得分都不低于k,且其他成员得分都不超过k,则该小组成绩为k。例如,第1小组共有8个成员,得分依次为“5,2,7,11,8,6,5,1”,由此可知最高的前5人得分为“11,8,7,6,5”,其他3人得分为“5,2,1”,因此该小组成绩为5。

按上述要求,编写VB程序,功能如下:在列表框List1中显示各小组每个成员的得分,单击“计算”按钮Command1,在列表框List2中显示成绩最高的小组编号及成绩(如果有多个小组并列最高,则全部显示)。

(1) 若第2小组各成员得分依次为“0,4,12,1,5,9,3,9”,则该小组的成绩是
(2) 请在划线处填入合适的代码。

Const n = 6

Const m = 8

Dim a(n * m)As Integer

Dim c(m)As Integer,ans(n)As Integer

Private Sub Form_Load( )

    ‘读取n个小组每个成员的得分,按组别从小到大依次存入数组a,并显示在List1中

     ‘n(1)到a(m)存储第1小组m个成员的得分

     ‘a(m+1)到a(2*m)存储第2小组m个成员的得分

     ‘以此类推,代码略

End Sub

Private Sub Cummand1_Click( )

    Dim i As Integer,p As Integer,g As Integer,maxg As Integer

    maxg = -1

    For i = 1 To n

        g = GroupScore(i)

        If g > maxg Then

            maxg = g: p=1

           

        ElseIf g = maxg Then

            p=p+1

            ans(p)=i

        End If

    Next i

    For i = 1 To p

        List2. AddItcm“第”+Str(ans(i))+“组,成绩:”+Str(maxg)

    Next i

End Sulb

‘函数返回第w小组的成绩

Function GroupScone(w As Integer)As Integer

    Dim i As Integer,k As Inteser

    For i = 0 To m

        c(i)=0

    Next i

    For i=(w-1)*m+1 To w *m

        k=a(i)

        If k > m Then

        c(k)=c(k)+1

    Next i

    k=m

    Do White c(k)< k And k>0

        k=k-1

       

    Loop

    GroupScore=k

End Function

综合题 困难
2. IPv6是英文“Internet Protocol Version6”(互联网协议第6版)的缩写。IPv6的地址长度为128位,采用十六进制表示。为了便于人工阅读和输入,IPv6 地址可划分成8个块,每块4位,块与块之间用“:” 隔开,如: ABCD:F010000:000:ABCD:EF01 :000:6789。同时,对于多个地址块为0的情况时,可以使用“: :”号,进行化简。化简原则如~ F:

①全0块“0000”,可以化简为“0”

②连续多个全0块,可以化简为“: :”

③一个IPv6地址中只能出现一个“: :”,出现多个全0块时,“: :” 要化简最长的一段,没有最长的就将最左侧的一段化简为“: :”

④“: :”可以出现在地址开头或结尾

如:数据“FBCD:EF01:6789”在化简前为“FBCD:EF01:0000:0000:0000:0000:0000:6789”。

小李根据上述化简算法设计了一个IP化简地址还原的VB程序,功能如下:在文本框Text1中输入已经化简的IP地址,单击“还原”按钮Command1,在文本框Text2中输出其化简前的IP地址。运行界面如图所示。

(1) 运行程序,若在文本框Text1中输入“12::” (引号内数据),还原后,数组元素ip(1)的值为
(2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

Function ipv6(s As String) As String

    Dim i As Integer

    For i= Len(s) + 1 To4

        s= "0"+s

    Next i

   

End Function

Private Sub Command1_Click( )

    Dim ip(1 To 8) As String

    Dim st As String

    Dim f As Integer, k As Integer

    Dim s As String, n As Integer

    f= 0

    s = Text1.Text

    n= Len(s)

    For i= 1 To n

        c1 = Mid(s, i, 1)

        If c1 <> "." Then

            ip(k)= ip(k) +c1

        End If

        If c1= ":" Or i= n Then

            

            If c2 =":" Then

                f= k

            Else

                ip(k) = ipv6(ip(k))

                k=k+ 1

            End If

        End If

    Next i

    k=k- 1

    x=8-k

    For i=k To f+ 1 Step-1

        

    Next i

    For i=f+ 1 To f+x

        ip(i) = "0000"

    Next i

    Text2.Text= ip(1)

    For i=2 To 8

        Text2.Text = Text2.Text + ":" + ip(i)

    Next i

End Sub

综合题 困难