小王編寫一個VB程序模擬數(shù)據(jù)篩選,功能如下:程序運行時從數(shù)據(jù)庫中讀取成績數(shù)據(jù),按升序排序后在列表框List1中顯示,在文本框Text1中輸入成績1,在文本框Text2中輸入成績2,單擊“篩選”按鈕Command1,篩選出大于等于成績1且小于等于成績2的記錄,并顯示在列表框List2中,程序運行界面如圖所示。
(1)運行上述程序,若在文本框Text1中輸入75,Text2中輸入85,單擊“篩選”按鈕,則篩選到的記錄有55條(填數(shù)字)。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適代碼。
Constn=20
Dimscore(1Ton)AsSingle
Functionadj(sAsString,nAsInteger)
‘此函數(shù)功能:在字符串s前添加若干個空格,使其長度變?yōu)閚。代碼略
EndFunction
Functionsearch_left(keyAsInteger)
‘此函數(shù)功能:返回大于等于key的數(shù)組元素的起始位置。代碼略。
EndFunction
Functionsearch_right(keyAsInteger)
DimiAsInteger,jAsInteger,mAsInteger
i=1:j=n
DoWhileI<=j
①
Ifkey>=score(m)Theni=m+1Elsej=m-1
Loop
②
Endfunction
PrivateSubForm_Load ( )
‘從數(shù)據(jù)庫中讀取成績存數(shù)組score,記錄數(shù)存n,并對此數(shù)組score升序排序,代碼略
Endsub
PrivateSubCommand1Click ( ?。?br />DimnumlAsInteger,num2AsInteger,firstAsInteger,lastAsInteger
List2.Clear
num1=Val(Text1.Text):num2=Val(Text2.Text)
first=search_left(num1):last=search_right(num2)
③
Iftotal<=0Then
List2.AddItem″無篩選到的記錄!″
Else
List2.AddItem″篩選到″+Str(total)+″條記錄!″
List2.AddItem“依次是:″
Fori=firstTolast
List2.AddItemadj(Str(i),3)+adj(Str(score(i)),6)
Nexti
EndIf
Endsub
【考點】查找算法及其程序實現(xiàn).
【答案】5
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:8引用:1難度:0.3
相似題
-
1.某對分查找算法的VB程序段如下:
數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過上述代碼查找后,下列表達式正確的是( ?。?/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],要查找某個元素是否在數(shù)組中,下列說法正確的是( ?。?/h2>
發(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”,運行程序后,文本
框Text2中顯示的內容為3,則輸入的key值不可能為( ?。?/h2>發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
把好題分享給你的好友吧~~