实 验 报 告
课 程 专业班级 实验日期 Visual Basic程序设计 实验项目 过程 姓 名 指导教师 学 号 成 绩 实验目的:
(1)掌握Function过程的定义和调用 (2)掌握过程之间参数传送的方法 (3)掌握Sub过程定义和调用 (4)理解变量和过程的作用域
实验内容:
(1)编写Function函数过程,用于判断一个数据是否为素数,若是,返回True,否则返回
False。单击窗体中命令按钮,调用该过程,找出200~500范围内所有素数,并将所有素数添加在列表框中。
要求:窗体文件保存为sy8-1.frm,工程文件保存为sy8-1.vbp. 程序代码:
Private Sub Command1_Click() For i = 200 To 500 m = sushu(i)
If m = True Then List1.AddItem i End If Next i End Sub
Private Function sushu(a) For i = 2 To a - 1
If a Mod i = 0 Then Exit For End If Next i
If i > a - 1 Then sushu = True Else
sushu = False End If
End Function
(2)编写程序,利用Sub过程,计算两个整数的最大公约数和最小公倍数。单击命令按钮
command1完成两个整数的输入。最大公约数、最小公倍数的计算通过调用sub过程完成,最后在窗体上输出最大公约数和最小公倍数。
要求:窗体文件保存为sy8-2.frm,工程文件保存为sy8-2.vbp。 程序代码:
Private Sub Command1_Click()
m = InputBox(\请输入一个整数\ n = InputBox(\请再次输入一个整数\ Call qiu(m, n, u, v)
Print \最大公约数:\最小公倍数:\End Sub
Private Sub qiu(m, n, u, v) a = m b = n
r = a Mod b Do
If r <> 0 Then a = b b = r
r = a Mod b End If
Loop While r <> 0 u = b
v = m * n / u End Sub
(3)编写程序,利用sub过程完成任意数组的升序排序。单击命令按钮command1完成数
组的输入,调用sub过程完成对数组的升序排序,并将结果输出到窗体上。 要求:窗体文件保存为sy8-3.frm,工程文件保存为sy8-3.vbp。 程序代码:
Dim n As Integer
Private Sub Command1_Click() Dim a()
n = InputBox(\请输入数组中的元素总数\ ReDim a(1 To n) For i = 1 To n
a(i) = Val(InputBox(\请输入数组中的元素\ Next i
For i = 1 To n Print a(i); Next i Print
Print \升序排序后的数组:\ Call paixu(a()) For i = 1 To n Print a(i); Next i End Sub
Private Sub paixu(a()) For i = 1 To n - 1
For j = n To i + 1 Step -1 If a(j) < a(j - 1) Then t = a(j)
a(j) = a(j - 1) a(j - 1) = t End If Next j
Next i End Sub