【正文】
第 7章 過 程 7. 1 編寫程序 ,利用 Sub 過程計算下式的值 : s=a!+b!+c! a,b,c 的值由鍵盤輸入 【參考答案】 程序代碼設(shè)計 Private Sub Form_Click() Dim s As Integer, n As Integer For i = 1 To 3 n = InputBox(n=) Call fact(n, f) s = s + f Next i Print s=。 s End Sub Private Sub fact(n, f) f = 1 For i = 1 To n f = f * i Next i End Sub 運行結(jié)果 : 如 a、 b、 c 的值分別輸入為 6 則程序運行結(jié)果如圖 71 所示 : 7. 2 編寫程序 ,打印 100~ 200 之間的所有素數(shù)。 要求 : (1) 每行輸出 5 個素數(shù)。 (2) 利用 Function 過程判斷每個數(shù)是否為素數(shù) ,是返回 1,否則返回 0。 【參考答案】 程序代碼設(shè)計 Private Sub Form_Click() Print 2。 k = 1 For i = 3 To 100 f = prime(i) If f = 1 Then k = k + 1 If k Mod 5 = 0 Then Print i Else Print i。 End If Next i End Sub Private Function prime(n) prime = 1 圖 71 程序運行結(jié)果 For i = 2 To n 1 If n Mod i = 0 Then prime = 0: Exit For Next i End Function 程序運行結(jié)果如圖 72 所示: 7. 3 編寫程序 ,利用 Function 過程計算下式的值 : (1+2+3+… +m)+(1+2+3+… +n) y = ─────────────── (1+2+3+… +p) 【參考答案】 程序代碼設(shè)計 Private Sub Form_Click() m = Val(InputBox(輸入 m:)) n = Val(InputBox(輸入 n:)) p = Val(InputBox(輸入 p:)) y = (sum(m) + sum(n)) / sum(p) Print sum=。 y End Sub Private Function sum(n) s = 0 For i = 1 To n s = s + i Next i sum = s End Function 運行結(jié)果: 如輸入 m 值為: 20, n 值為: 15, p 值為: 10 則程序運行結(jié)果如圖 73 所示: 7. 4 編寫 Function 過程計算 n!,調(diào)用該函 數(shù)過程計算下式的值 : S=1+1/(1+4!)+1/(1+4!+7!)+… +1/(1+4!+… +19!) 【參考答案】 程序代碼設(shè)計 Private Sub Form_Click() s = 0 t = 0 For i = 1 To 19 Step 3 圖 72 程序運行結(jié)果 圖 73 程序運行結(jié)果 t = t + fact(i) s = s + 1 / t Next i Print s=。 s End Sub Private Function fact(n) f = 1