试卷征集
加入会员
操作视频

小明编写了一个有关整数闭区间合并操作的VB程序:从数据库读取闭区间数据(左端点和右端点),存储在数组a中,按区间数据左端点升序排序,然后进行合并操作,操作结果存储在数组b中。
例如,读取的数据为2、3、15、25、10、14、1、5、30、60、15、25,过程是:
(1)设置区间信息为[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
(2)按区间左端点升序排序,得到J区间信息为[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
(3)合并区间,得到[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)PrivateSubCommand1_CIick (  )中的Click(  ) 是
C
C
(单选,填字母:A对象名、B属性名、C事件名、D事件处理过程名)
(2)从数据库中读入的区间为[1,10],[15,20],[6,18],[25,30],[31,200],则合并操作后的区间为
[1,20],[25,200]
[1,20],[25,200]

(3)请在横线处填入合适的代码。
Dima(lTo100)AsInteger′数组a存储合并前的区间
Dimb(lTo100)AsInteger′数组b存储合并后的区间
DimnAsInteger′n表示区间个数
PrivateSubCommand1_Click (  )
Dims1AsString,iAsInteger
'读取数据,并存储到数组a中,并输出在文本框Text1中,代码略
EndSub
PrivateSubCommand2_Click (  )
Dims2AsString,iAsInteger,jAsInteger,kAsInteger
DimnAsInteger,tAsInteger,xAsInteger
Fori=1Ton-1
Forj=1To2*n-2*iStep2
If①
a(j)>a(j+2)
a(j)>a(j+2)
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
EndIf
Nextj
Nexti
k=2
b(1)=a(1):b(2)=a(2)
i=2:j=3
DoWhilej<=2*n
Ifb(i)>=a(j)Then
Ifb(i)<=a(j+1)Then ②
b(k)=a(j+1)
b(k)=a(j+1)

ElseIfb(i)+1=a(j)Then
b(k)=a(j+l)
Else
k=k+1:③
b(k)=a(j)
b(k)=a(j)

k=k+1:b(k)=a(j+1)
i=i+2
EndIf
j=j+2
Loop
Forx=1Tok-2Step2
s2=s2&″[″&b(x)&″,″&b(x+1)&″]″&″,″
Nextx
s2=s2&″[″&b(x)&″,″&b(x+1)&″]″
Text2.text=s2
EndSub

【答案】C;[1,20],[25,200];a(j)>a(j+2);b(k)=a(j+1);b(k)=a(j)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:8引用:1难度:0.3
相似题
  • 1.有如下 Python 程序段:

    运行后列表中的值可能是(  )

    发布:2024/12/18 21:0:2组卷:5引用:3难度:0.3
  • 2.用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a
     
    是待排序的数据,数据从a(1)开始存放;整数型参数n表示传入的数组长度,该函数的返回值也是一个整数型数组.所以调用此函数实现排序非常方便:
    比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
    a
     
    =bubble_sort(False,a
     
    ,10)
    该函数VB代码如下:
    Function bubble_sort(sx As Boolean,a
     
     As Integer,n As Integer) As Integer
     

    Dim i,j,t As Integer
    For i=1 To n-1
    For j=
     
    Step-1
    If
     
    Then
    If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
    Else
    If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
    End If
    Next j
    Next i
    bubble_sort=a
     

    End Function
    请将代码补充完整:
     

     

    发布:2024/12/20 20:30:1组卷:23引用:2难度:0.3
  • 3.用选择排序法对一组数据进行升序排序,第一趟排序结束后的顺序为2、6、9、3、7,则原始数据顺序不可能的是(  )

    发布:2024/12/18 23:0:1组卷:10引用:1难度:0.5
深圳市菁优智慧教育股份有限公司
粤ICP备10006842号公网安备44030502001846号
©2010-2025 jyeoo.com 版权所有
APP开发者:深圳市菁优智慧教育股份有限公司| 应用名称:菁优网 | 应用版本:5.0.7 |隐私协议|第三方SDK|用户服务条款
广播电视节目制作经营许可证|出版物经营许可证|网站地图
本网部分资源来源于会员上传,除本网组织的资源外,版权归原作者所有,如有侵犯版权,请立刻和本网联系并提供证据,本网将在三个工作日内改正