过程与函数设计_第1页
过程与函数设计_第2页
过程与函数设计_第3页
过程与函数设计_第4页
过程与函数设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南石油大学实验报告课 程VB程序设计实验项目过程与函数设计指导教师张翼凌专业班级学 号姓 名实验日期成 绩实验目的:(1) 掌握Function过程的定义及调用(2) 掌握Sub过程的定义和调用(3) 掌握过程调用之间参数传送的方法(4) 掌握变量的作用域实验内容:【实验4-1】编写计算n!的Function过程,调用该过程,计算ex的近似值。(如图4-1所示) ex 1 + x / 1! + x2 / 2! + x3 / 3! + + xn / n!要求:1)x的值用InputBox函数输入2)要求精度:xn / n! 0.00001 Print ex的值约等于: & Sum End Su

2、b Public Function chitty(x, n) As Variantchitty = x n / fact(n)End Function Private Sub Command1_Click() Dim n As Integer x = Val(InputBox(输入x) Do t = x n / fact(n) s = s + t n = n + 1 Loop While t 0.000001 Print ex的值约等于: Print s End Sub Function fact(n) As Long Dim i As Integer, f As Long f = 1 For

3、 i = 1 To n f = f * i Next i fact = f End Function (2)运行结果窗体【实验4-2】编写一Function函数过程,用于判断一个数据是否为素数,若是,返回1,否则返回0。单击窗体中命令按钮,调用该过程,找出200600范围内所有素数,并将所有素数添加在列表框中。(如图4-2所示)(1)程序代码Private Sub Command1_Click()For i = 200 To 600If fact(i) = 1 Then List1.AddItem iNext iEnd SubPublic Function fact(k)f = 0For m

4、= 2 To k - 1If k Mod m = 0 Thenf = 0Exit ForElsef = 1End IfNext mfact = fEnd Function(2)运行结果窗体【实验4-3】编写程序,利用随机函数生成一个6 行6列的整型矩阵(数据在100900范围内),找出某个指定行内最大元素所在的列号。(如图4-3所示)要求:求指定行内最大元素所在的列号用Function过程实现。输出矩阵所有数据,然后用InputBox函数输入行号,调用Function过程后输出该行最大元素的列号。提示:将存放矩阵数据的数组和输入的行号作为Function过程参数,返回最大数所在的列号。(1)程

5、序代码Private Sub Command1_Click()Dim a(1 To 6, 1 To 6) As IntegerFor i = 1 To 6For j = 1 To 6a(i, j) = Int(800 * Rnd + 100)Print a(i, j); Next jPrintNext i m = Val(InputBox(输入行号)If m = 1 And m Max ThenMax = a(m, j)line1 = jEnd If Next jfindmax = line1End Function(2)运行结果窗体【实验4-4】编写一Sub过程,求斐波那契(Fibonacc

6、i)数列的前n项数据。单击命令按钮输入n值,调用该过程,在窗体中输出,每行输出5个数据。(Fibonacci数列第一项是1,第二项是1,以后各项都是前两项的和,即数列值为:1、1、2、3、5、8、13)。(如图4-4所示)提示:用数组作为过程参数(1)程序代码Private Sub fact(a() As Integer, ByVal n As Integer)Dim i As Integer a(1) = 1 a(2) = 1 For i = 3 To n a(i) = a(i - 1) + a(i - 2)Next iEnd SubPrivate Sub Command1_Click()D

7、im a() As IntegerDim i As Integer, n As Integer n = Val(InputBox(请输入Fibonacci数列的至少前3项)ReDim a(1 To n)Call fact(a, n)For i = 1 To nPrint a(i); ;If i Mod 5 = 0 Then PrintNext iEnd Sub(2) 运行结果窗体【实验4-5】用sub过程输出由字符组成的三角形图形,通过三次调用该过程,输出如图4-5所示的图案。(1)程序代码:Private Sub Command1_Click()t = Aj = 3 Call fact(j,

8、 t)t = *j = 6Call fact(j, t) t = $ j = 4Call fact(j, t)End SubPrivate Sub fact(j, t) n = tPrint Tab(19); tFor i = 2 To jn = n & t & tPrint Tab(20 - i); nNext iEnd Sub(2)运行结果界面:【实验4-6】编写Sub通用过程,把任意一个十进制整数转换为R进制(R可以为:2、8或16)。有一组单选按钮控件数组,单击某按钮完成给定数据转换。(如图4-6所示)(1)程序代码:Option Base 1 Private Sub Option1_

9、Click(Index As Integer) Label1.Caption = 十进制 a = Val(Text1.Text) Dim k As Variant k = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) Select Case Index Case 0 Label2.Caption = 二进制 n = 2 Call fact(a, n, p, k) Text2.Text = p Case 1 Label2.Caption = 八进制 n = 8 Call fact(a, n, p, k)Text2.Text = p Case 2 Label2.Caption = 十六进制 n = 16 Call fact(a, n, p, k) Text2.Text = p E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论