一.选择结构
'-------------------------------------------------
'题目:编写函数fun,函数的功能是:根据一个百分制 ' 成绩mark(整数),显示对应五级制的评定。条件如下: ' mark大于等于90显示\优秀\
' mark小于90且大于等于80显示\良好\' mark小于80且大于等于70显示\中等\' mark小于70且大于等于60显示\及格\' mark小于60显示\不及格\' 要求使用IF语句来实现。
'-------------------------------------------------
Private Function fun(mark As Integer) As String
'**********Program********** If mark >= 90 Then fun = \优秀\
ElseIf mark >= 80 Then fun = \良好\
ElseIf mark >= 70 Then fun = \中等\
ElseIf mark >= 60 Then fun = \及格\Else
fun = \不及格\End If
'********** End ********** End Function
Private Sub Form_Load() Show
Print fun(90) End Sub
'------------------------------------------------- '题目:编写函数fun,函数的功能是:
判断一个字符是: 字母字符、数字字符还是其他字符,并做相应的显示。 ' 字母字符显示字符串\字母\ 数字字符显示字符串\数字\' 其他字符显示字符串\其他\ ' 要求使用select语句来实现 '------------------------------------------------- Private Function fun(n As String) As String '**********Program**********
Select Case n
Case \ fun = \字母\Case \ fun = \数字\Case Else
fun = \其他\End Select
'********** End ********** End Function
Private Sub Form_Load() Show
Print fun(\ Print fun(\ Print fun(\End Sub
二.一般循环
'------------------------------------------------- '题目:(事件)双击窗体。
' (响应)求出100~200之间,能被5整除,但不能被3整除的数。输出这些数
并求所有数之和,存入变量中SUM中。 输出sum 应为 2100 '------------------------------------------------- Private Sub Form_dblClick()
Dim sum As Integer sum = 0
'********** Program ********* Dim i As Integer For i = 100 To 200
If ((i Mod 5) = 0) And ((i Mod 3) <> 0) Then Print (CStr(i)) sum = sum + i End If Next
'********** End ************* Print sum End Sub
'-------------------------------------------------
'题目:(事件)单击窗体。 输出L 应为 46189 ' (响应)求10~20之间所有素数的乘积并输出在窗体上。将结果存入变量L中。 '------------------------------------------------- Private Sub Form_Click()
Dim l As Long
'******* Program ******** Dim i As Integer Dim j As Integer Dim b As Boolean l = 1 b = False
For i = 10 To 20
For j = 2 To i - 2
If i Mod j = 0 Then b = True End If Next
If b = False Then l = l * i End If b = False Next
Print Str(l)
'********* End *********** End Sub
'------------------------------------------------- '题目:(事件)单击窗体。
' (响应)编写程序求10×11×12+11×12×13+…+15×16×17的结果,
' 并将结果输出到窗体上。将结果存入变量M中 输出M 应为 15390 '------------------------------------------------- Private Sub Form_Click()
Dim m As Long
'******** Program ************* Dim i, j As Integer Dim s As Long For i = 10 To 15 s = 1
For j = i To i + 2 s = s * j Next
m = m + s Next
Print (CStr(m))
'************ End *********** End Sub
'------------------------------------------------- '题目:(事件)单击窗体。
' (响应)在窗体上打印数列2/1,3/2,5/3,8/5,13/8… 的前10项,并求其和, 将和保存在变量s中 输出: '------------------------------------------------- Private Sub Form_Click() Dim s As Single
'******** Program *********** Dim i, j, k, m As Integer s = 0 i = 2
j = 1
For k = 1 To 10 s = s + i / j m = j
Print (CStr(i)) & \ j = i i = i + m Next
'********* End **************** End Sub
'-------------------------------------------------
'题目:编写函数fun其功能是:根据整型形参m,计算如下公式的值:
' y=1+1/3+1/5+1/7+...+1/(2m+1) 例如:若m=9,则应输出:2.133255 '------------------------------------------------- Private Function fun(m As Integer) As Single Dim y As Double
'********** Program ********* Dim y As Double Dim i As Integer y = 1
For i = 1 To m
y = y + 1 / (2 * i + 1) Next fun = y
'********** End ************* End Function
Private Sub Form_Load() Show
Print fun(9) End Sub
'-------------------------------------------------
'题目:函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2+1/4+1/6+...+1/2m ' 例如:若m=9,则应输出:1.41448412698413 '-------------------------------------------------
Private Function fun(m As Integer) As Double
'********** Program ********* Dim y As Double Dim i As Integer For i = 1 To m
y = y + 1 / (2 * i) Next fun = y
'********** End ************* End Function
Private Sub Form_Load() Show
Print fun(9) End Sub
'------------------------------------------------- '题目: (事件)单击窗体。
' (响应)已知sum=1-1/4+1/9-1/16+1/25...-1/100, 输出 sum 应为 0.8179622 ' 请将sum结果值输出到窗体上。 使用for...next语句完成程序 '------------------------------------------------- Private Sub Form_Click() Dim sum As Single
'***************** Program ************** Dim i As Integer for i = 1 to 10
sum = sum + (-1) ^ (i - 1) /(i*i) next
Print sum
'*************** End ************************* End Sub
三.级数
'------------------------------------------------- '题目: (事件)单击窗体。
' (响应)已知sum=1/2!-1/4!+1/6!-1/8!+1/10!,请将sum结果值输出到窗体上。
' 使用do while...loop语句完成程序 输出sum 应为 0.4596977 '------------------------------------------------- Private Sub Form_Click()
Dim p As Long 'p变量存放阶乘的值 Dim sum As Single
'***************** Program ************** Dim i As Integer Dim n As Integer i = 1 p = 1
Do While i <= 10 p = p * i
If i Mod 2 = 0 Then n = n + 1
sum = sum + (-1) ^ (n - 1) / p End If i = i + 1 Loop Print sum
'*************** End *************************