试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

高中信息技术综合库——循环语句1

小明编写了一个有关整数闭区间合并操作的VB程序:从数据库读取闭区间数据(左端点和右端点),存储在数组a中,按区间数据左端点升序排序,然后进行合并操作,操作结果存储在数组b中。

例如,读取的数据为2、3、15、25、10、14、1、5、30、60、15、25,过程是:

⑴设置区间信息为[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];

⑵按区间左端点升序排序,得到J区间信息为[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];

⑶合并区间,得到[1,5],[10,25],[30,60]。说明:区间[1,5]和[2,3]合并为[1,5],区间[10,14]和[15,25]合并为[10,25],区间[10,25]和[15,25]合并为[10,25],因此合并后的结果为:[1,5],[10,25],[30,60]三个区间。

程序功能如下:单击“读数据库”按钮Command1,程序从数据库读取数据,输出在文本框Text1中;单击“开始处理”按钮Command2,程序进行区间排序,并进行区间合并操作,操作后的结果输出在文本框Text2中。程序运行结果如图所示。

实现上述功能的VB程序如下,请回答下列问题:

(1)、Private Sub Command1_CIick()中的Click()是(单选,填字母:A .对象名;B .属性名;C .事件名;D .事件处理过程名)
(2)、从数据库中读入的区间为[1,10],[15,20],[6,18],[25,30],[31,200],则合并操作后的区间为
(3)、请在划线处填入合适的代码。

Dim a(1 To 100) As Integer         ′数组a存储合并前的区间

Dim b(1 To 100) As Integer         ′数组b存储合并后的区间

Dim n As Integer                        ′n表示区间个数

Private Sub Command1_Click()

    Dim s1 As String, i As Integer

    '读取数据,并存储到数组a中,并输出在文本框Text1中,代码略

End Sub

Private Sub Command2_CIick()

    Dim s2 As String, i As Integer, j As Integer, k As Integer

    Dim n As Integer, t As Integer, x As Integer

    For i=1 To n-1

        For j=1 To 2 * n-2 * i Step 2

            If Then

                t=a(j): a(j)=a(j+2): a(j+2)=t

                t=a(j+1): a(j+1)=a(j+3): a(j+3)=t

            End If

        Next j

    Next i

    k=2

    b(1)=a(1): b(2)=a(2)

    i=2: j=3

    Do While j <=2 * n

        If b(i) >=a(j) Then

            If b(i) <=a(j+1) Then  

            Else If b(i)+1=a(j) Then

                b(k)=a(j+l)

        Else

            k=k+1:

            k=k+1: b(k)=a(j+1)

            i=i+2

        End If

        j=j+2

    Loop

    For x=1 To k-2 Step 2

        s2=s2 & "[" & b(x) & "," &b(x+1) & "]" & ","

    Next x

    s2=s2 & "[" & b(x) & "," & b(x+1) & "]"

    Text2.text=s2

End Sub

举一反三
返回首页

试题篮