第 1 頁:基本操作題 |
第 2 頁:簡單應用題 |
第 4 頁:綜合操作題 |
三、綜合操作題
5考生文件夾下有一個工程文件sit5.vbp,窗體上有兩個文本框,名稱分別為Textl、Text2,都可以多行顯示。還有三個命令按鈕,名稱分別為cl、c2、c3,標題分別為“取數(shù)”、“排序”、“存盤”。“取數(shù)”按鈕的功能是將考生文件夾下的in5.dat文件中的50個整數(shù)讀到數(shù)組中,并在Textl中顯示出來;“排序”按鈕的功能是對這50個數(shù)按升序排序,并顯示在Text2中;“存盤”按鈕的功能是把排好序的50個數(shù)存到考生目錄下的out5.dat文件中,如圖所示。在窗體中已經(jīng)給出了全部控件和部分程序代碼,要求閱讀程序并去掉程序中的注釋符,把程序中的?改為正確的內容,并編寫“排序”按鈕的Click事件過程,使其實現(xiàn)上述功能,但不能修改程序中的其他部分,也不能修改控件的屬性。最后將修改后的文件按原文件名存盤。
參考解析:
【考點分析】本題考點有:Str()函數(shù)、“冒泡法”排序、For循環(huán)語句、If判斷語句以及文件操作。
【解題思路】str函數(shù)用于數(shù)值轉化為字符串,語法為:str(number)。
在循環(huán)語句中Step表示步長,可以為正數(shù),表示下一個變量加一個數(shù),也可以為負數(shù),則相反,在默認情況下,步長為1,就不需要使用Step特意標識。
“冒泡法”是一種重要的數(shù)據(jù)排序算法,它的核心思路是按順序讓一個數(shù)列中的每一個數(shù)都與它之后的所有的數(shù)逐一進行比較,如果該數(shù)大于其后面的數(shù),則把這兩個位置的數(shù)進行交換。通過這樣的循環(huán),最終按照從小到大的順序排列出該數(shù)列。從程序提供的代碼中可以看出,整型數(shù)組a的使用范圍是本窗體中的所有事件過程,用來存放從文件中讀取的數(shù)據(jù)。在排序中,使用雙重循環(huán),外循環(huán)每循環(huán)一次,確定內循環(huán)循環(huán)的次數(shù),內循環(huán)就是把本次循環(huán)中最大的數(shù),放在數(shù)組的最后面,這樣就可以實現(xiàn)對這50個數(shù)的升序排序。
【操作步驟】
步驟1:打開本題工程文件。
步驟2:打開代碼編輯窗口,去掉程序中的注釋符“´”,
將問號改為正確的內容,并編寫代碼。
參考答案(陰影部分是需考生填入的內容)
Dim a(50) As Integer
Private Sub C1_Click()
Dim k As Integer,ch As String
Open"in5.dat"For Input As #1
ch=""
For k=1 T0 50
Input#1,_____a(k)_____將取出的數(shù)據(jù)存入數(shù)組a中
ch=ch+Str(a(k))+""´將數(shù)據(jù)存入ch
Next k
Close#1
Text1.Text=____ch______'在Text1文本框中顯示文件內容
End Sub
Private Sub C2_click()
End Sub
Private Sub C3_Click()
Open"out5.dat"For Output As #1
Print#1,Text2.Text
Close#1
End Sub
需編寫的“排序”按鈕的代碼
Private Sub C2_Click()
Dim t As Integer
Dim i As Integer
Dim J As Integer
Dim ch As String
ch=""
For i=50 T0 2 Step-1使用冒泡算法從小到大排序
For J=1 To 49
If a(J)>a(j+1)Then’兩兩比較
t=a(J+1)
a(j+1)=a(J)
a(j)=t
End If
Next J
Next i
For J=1 T0 50´將排序后的數(shù)組重新賦給ch
ch=ch+Str(a(J))+""
Next j
Text2.Text=ch
End Sub
步驟3:調試并運行程序,關閉程序后按題目要求存盤。
【易錯提示】注意冒泡排序的用法,理解位置交換的含義和方法,在交換時要有一個中間變量來起到傳遞的作用,否則會使其中一個值丟失而產(chǎn)生錯誤。
相關推薦:
2015年計算機二級考試《VB》考前練習題匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |