第 1 頁:基本操作題 |
第 3 頁:簡單應用題 |
第 5 頁:綜合應用題 |
4(1)在考生文件夾下有一個工程文件sj3.vbp,相應的窗體文件為sj3.frm。其功能是在Text1文本框中輸入一個數(shù)N,單擊命令按鈕計算從0到N的所有素數(shù)的和,并在Text2中顯示出來。運行程序如圖1-3所示。
圖1-3
要求:去掉程序中的注釋符"'",把程序中的"?"改為正確的內(nèi)容, 使其實現(xiàn)上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盤。
(2)在考生文件夾下有工程文件sj4.vbp及窗體文件sj4.frm,該程序是不完整的,請在有"?"號的地方填入正確內(nèi)容,然后刪除"?"及代碼前的所有注釋符(即'號),但不能修改其他部分。存盤時不得改變文件名和文件夾。
本題描述如下:
本程序的功能為當用戶單擊窗體上的命令按鈕"輸入"時,可以輸入6個數(shù)值,隨后程序?qū)@6個數(shù)值進行升序排序,單擊按鈕"輸出"則把大于平均值的數(shù)顯示出來,程序運行時的窗體如圖1-4所示。
圖1-4
參考解析:
(1)判斷一個數(shù)是否為素數(shù)的準則:就是看該數(shù)是否除了1及其本身外別無其他約數(shù)(即從2到n-1之間沒有可以將其整除的數(shù)) 即可。
根據(jù)題意,在窗體上添加兩個Text控件和一個Command控件,Text的名稱分別為Text1和Text2、Text屬性均為空,Command的名稱為Command1、Caption屬性為"計算"。雙擊Command1命令按鈕,編寫如下代碼(本書答案解析部分的代碼中,若無特殊說明,加下劃線的代碼則表明是需要考生補充的代碼):
Private Sub Command1_Click()
Dim total As Long
Dim i As Integer
total = 0
For i = 1 To Val(Text1.Text)
If isPrimeNum(i) = True Then '調(diào)用isPrimeNum函數(shù)判斷是否是素數(shù)
total = total + i '如果是,則進行求和
End If
Next i
Text2.Text = total '將結(jié)果在Text2中顯示
End Sub
Function isPrimeNum(num As Integer) As Boolean '判斷輸入的數(shù)是否為素數(shù)
isPrimeNum = True
Dim i As Integer
For i = 2 To num - 1
If num Mod i = 0 Then '如果能被除1及其本身以外的數(shù)整除
isPrimeNum = False '則此數(shù)不是素數(shù)
Exit For
End If
Next i
End Function
單擊 按鈕運行程序,并按要求保存。
(2)根據(jù)題意,在窗體上添加一個Text控件和兩個Command控件,Text的名稱為Text1、Text屬性為空,Command的名稱分別為Command1和Command2,Caption屬性分別為"輸入"和"輸出"。雙擊Command1命令按鈕,編寫如下代碼:
Dim a(6) As Integer
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim tmp As Integer
For i = 1 To 6
a(i) = Val(InputBox("請輸入"))
Next i
For i = 1 To 6 '升序序排列
temp = a(i)
For j = 1 To i
If a(j) > temp Then '讀取的數(shù)據(jù)比原位置的數(shù)據(jù)大則偏移
For k = i To j + 1 Step -1 '上下限
a(k) = a(k - 1) '數(shù)據(jù)向后偏移一個
Next k
a(j) = temp
Exit For
End If
Next j
Next i
End Sub
Private Sub Command2_Click()
Dim arg As Integer
Dim str As String
Dim j As Integer
arg = 0
Dim i As Integer
str = ""
For i = 1 To 6
arg = arg + a(i) ' 求總和
Next i
arg = arg \ 6 '求平均值
For i = 1 To 6
If a(i) > arg Then '當大于平均值時則寫入字符串
str = str + CStr(a(i)) + " "
End If
Next i
Text1.Text = str '將結(jié)果顯示在Text1中
End Sub
單擊按鈕運行程序,并按要求保存。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |