小明編寫了一個(gè)有關(guān)整數(shù)閉區(qū)間合并操作的VB程序:從數(shù)據(jù)庫(kù)讀取閉區(qū)間數(shù)據(jù)(左端點(diǎn)和右端點(diǎn)),存儲(chǔ)在數(shù)組a中,按區(qū)間數(shù)據(jù)左端點(diǎn)升序排序,然后進(jìn)行合并操作,操作結(jié)果存儲(chǔ)在數(shù)組b中。
例如,讀取的數(shù)據(jù)為2、3、15、25、10、14、1、5、30、60、15、25,過程是:
(1)設(shè)置區(qū)間信息為[2,3],[15,25],[10,14],[1,5],[30,60],[15,25];
(2)按區(qū)間左端點(diǎn)升序排序,得到J區(qū)間信息為[1,5],[2,3],[10,14],[15,25],[15,25],[30,60],[15,25];
(3)合并區(qū)間,得到[1,5],[10,25],[30,60].說明:區(qū)間[1,5]和[2,3]合并為[1,5],區(qū)間[10,14]和[15,25]合并為[10,25],區(qū)間[10,25]和[15,25]合并為[10,25],因此合并后的結(jié)果為:[1,5],[10,25],[30,60]三個(gè)區(qū)間。
程序功能如下:?jiǎn)螕簟白x數(shù)據(jù)庫(kù)”按鈕Command1,程序從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),輸出在文本框Text1中;單擊“開始處理”按鈕Command2,程序進(jìn)行區(qū)間排序,并進(jìn)行區(qū)間合并操作,操作后的結(jié)果輸出在文本框Text2中。程序運(yùn)行結(jié)果如圖所示。

實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)回答下列問題:
(1)PrivateSubCommand1_CIick ( ?。┲械腃lick( ?。?是CC(單選,填字母:A對(duì)象名、B屬性名、C事件名、D事件處理過程名)
(2)從數(shù)據(jù)庫(kù)中讀入的區(qū)間為[1,10],[15,20],[6,18],[25,30],[31,200],則合并操作后的區(qū)間為[1,20],[25,200][1,20],[25,200]。
(3)請(qǐng)?jiān)跈M線處填入合適的代碼。
Dima(lTo100)AsInteger′數(shù)組a存儲(chǔ)合并前的區(qū)間
Dimb(lTo100)AsInteger′數(shù)組b存儲(chǔ)合并后的區(qū)間
DimnAsInteger′n表示區(qū)間個(gè)數(shù)
PrivateSubCommand1_Click ( ?。?br />Dims1AsString,iAsInteger
'讀取數(shù)據(jù),并存儲(chǔ)到數(shù)組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?、?!--BA-->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
【考點(diǎn)】冒泡排序算法及其實(shí)現(xiàn).
【答案】C;[1,20],[25,200];a(j)>a(j+2);b(k)=a(j+1);b(k)=a(j)
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:8引用:1難度:0.3
相似題
-
1.有如下 Python 程序段:
運(yùn)行后列表中的值可能是( )發(fā)布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數(shù)bubble_sort是一個(gè)用冒泡方法實(shí)現(xiàn)排序的函數(shù),其調(diào)用時(shí)需要三個(gè)參數(shù):布爾類型參數(shù)sx來(lái)確定是升序還是降序,sx為True時(shí)為升序,否則為降序;整數(shù)型數(shù)組a
比如有一個(gè)整數(shù)型數(shù)組a(1 to 10)需要降序排序,可以直接這樣調(diào)用:
a
該函數(shù)VB代碼如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
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
請(qǐng)將代碼補(bǔ)充完整:
①
②發(fā)布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對(duì)一組數(shù)據(jù)進(jìn)行升序排序,第一趟排序結(jié)束后的順序?yàn)?、6、9、3、7,則原始數(shù)據(jù)順序不可能的是( ?。?/h2>
發(fā)布:2024/12/18 23:0:1組卷:10引用:1難度:0.5
相關(guān)試卷