VB课程设计之过程实验报告 下载本文

内容发布更新时间 : 2024/6/26 21:51:50星期一 下面是文章的全部内容请认真阅读。

实 验 报 告

课 程 专业班级 实验日期 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