题目

小明编写了一个有关整数闭区间合并操作的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 答案: 【1】C 【1】[1,20] [25,200] 【1】a(j)>a(j+2)【2】b(k)=a(j+ 1)【3】b(k)= a(j)
信息技术 试题推荐
最近更新