根據(jù)對分查找的思想來查找兩個(gè)遞增序列中最小值所在的位置,其中第一個(gè)遞增序列中的數(shù)據(jù)全部大于第二個(gè)遞增序列中的數(shù)據(jù),且兩個(gè)序列中沒有重復(fù)數(shù)據(jù),如組合序列3、4、5、6、1、2是由兩個(gè)遞增序列“3、4、5、6”和“1、2”組成的,組合序列的最小值是1,在組合序列中的位置是第5位。
為實(shí)現(xiàn)上述功能,小王編寫如下VB程序,首先在Text1中輸入兩個(gè)滿足條件的序列,數(shù)字之間用“,”隔開且以“,”結(jié)尾,單擊按鈕“Cod1”,在Text2中輸出最小值所在序列中的位置,程序運(yùn)行界面如圖所示。
(1)在界面中,具有Caption屬性的對象有33個(gè)。
(2)在橫線處填入合適的代碼。
①c=c*10+Val(ch)c=c*10+Val(ch)。
②a(n)=ca(n)=c。
③jye.ai2.jye.ai=Str(i+1)或jye.ai2.jye.ai=Str(j+1)或jye.ai2.jye.ai=Str(m+1)jye.ai2.jye.ai=Str(i+1)或jye.ai2.jye.ai=Str(j+1)或jye.ai2.jye.ai=Str(m+1)。
(3)加框處的表達(dá)式有誤,請改正。
改正:i<ji<j
PrivateSubCod1_Click ( )
DimsAsString,chAsString
DimiAsInteger,jAsInteger,nAsInteger,cAsInteger
Dima(100)AsInteger
s=Text1.Text:c=0:n=0
Fori=1ToLen(s)
ch=Mid(s’i,1)
Ifch>=“0“Andch<=“9“Then
①
Else
n=n+1
②
c=0
EndIf
Nexti
i=1:j=n
DoWhile
m=(i+j)\2
Ifa(m)>a(i)Then
i=m
Else
j=m
EndIf
Loop
③
EndSub
【考點(diǎn)】查找算法及其程序?qū)崿F(xiàn).
【答案】3;c=c*10+Val(ch);a(n)=c;jye.ai2.jye.ai=Str(i+1)或jye.ai2.jye.ai=Str(j+1)或jye.ai2.jye.ai=Str(m+1);i<j
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/11/20 12:0:2組卷:0引用:1難度:0.3
相似題
-
1.某對分查找算法的VB程序段如下:
數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過上述代碼查找后,下列表達(dá)式正確的是( ?。?/h2>發(fā)布:2024/12/20 16:0:2組卷:5引用:2難度:0.5 -
2.某數(shù)組d中的數(shù)據(jù)依次是[8,12,15,28,28,32,36,39],要查找某個(gè)元素是否在數(shù)組中,下列說法正確的是( )
發(fā)布:2024/12/20 0:0:1組卷:3引用:1難度:0.7 -
3.有如下對分查找VB程序段:
若數(shù)組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運(yùn)行程序后,文本
框Text2中顯示的內(nèi)容為3,則輸入的key值不可能為( ?。?/h2>發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
把好題分享給你的好友吧~~