VB程序设计子程序

上传人:油条 文档编号:48891105 上传时间:2018-07-21 格式:PPT 页数:20 大小:82KB
返回 下载 相关 举报
VB程序设计子程序_第1页
第1页 / 共20页
VB程序设计子程序_第2页
第2页 / 共20页
VB程序设计子程序_第3页
第3页 / 共20页
VB程序设计子程序_第4页
第4页 / 共20页
VB程序设计子程序_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《VB程序设计子程序》由会员分享,可在线阅读,更多相关《VB程序设计子程序(20页珍藏版)》请在金锄头文库上搜索。

1、第四章 过程与函数对于某些多次反复执行的程序段 ,我们可以将它定义成子程序。子程序分为过程和函数。定义在代码窗口中直接定义子过程形式如下 : Public/Private sub 子程序名(参数列表 )语句Exit Sub语句End Subl函数过程形式如下 : Public/Private Function 函数名(参数列表) As 类型 语句函数名=返回值Exit Function语句 函数名=返回值End Functionl形参列表:参数1,参数2,l 参数定义: byval 变量名 as 数据类 型Byval 数据传递方式:值传递,省略时为地址传递Exit sub/Exit funct

2、ion 中途退出过程调用l子程序名参数列表/Call 子程序名(参数列表)l变量名 = 函数名(参数列表)例:过程调用call exchange( a, b)或 exchange( a,b)例:函数调用Print maxnum(a,b)X=maxnum(a,b)例5.1 编一交换两个数的过程。Private Sub jiaohuan(x As Integer, y As Integer)Dim t As Integert = x x = y y = t End Sub形参: x, y 数据传递方式: 地址传递参数传递Private Sub Form_Click() Dim a As Integ

3、er, b As Integer a = 10 : b = 20 Print “原值:“; “a1=“; a, “b1=“; b call jiaohuan(a, b)Print “交换后:“; “a1=“; a, “b1=“; bEnd Sub函数的定义和调用lprivate function jch ( n as integer)l dim f as integer,I as integerl f=1l for i=1 to nl f=f*il next il jch=flend function 在表达式中使用计算 m!*n!/(m-n)!jch(m)*jch(n)/jch(m- n)过

4、程的作用域(1) 窗体中的过程lprivate 子程序只能在本窗体中调用lpublic 子程序可以在其它窗体中应用, 但调用方式为 窗体名.过程名 (2) 标准模块中的过程public 可以在任意窗体和模块中使用递归 l用自身的结构来描述自身称为“递归 ”。递归总有一个“结束条件”,此 结束条件称为“边界条件”。例1:五个人论岁数,第一个人说比第二 个人大2岁,第二个人说比第三个人大2岁 ,第三个人说比第四个人大2岁,第四个 人说比第五个人大2岁,第五个说他10岁 ,问每人多大岁数?递归l s(5)=s(4)+2 s(5)=18 s(4)=s(3)+2 s(4)=16 l s(3)=s(2)+

5、2 s(3)=14l s(2)=s(1)+2 s(2)=12l s(1)=10递推回推Li:阶乘5!=4!*5 递推4!=3!*43!=2!*32!=1!*21!=1 边界条件2!=1*2=2 回 推3!=2*3=64!=6*4=24 5!=24*5=120代码如下:Private Function fac(n as integer)if n=1 thenfac=1elsefac=n*fac(n-1)end if End Function菲波那契数列前两项为1,从第三项开始,其值为它前面两 项的和。 Private Function fibo(n As Integer) If n = 1 Or

6、 n = 2 Then fibo = 1 Elsefibo = fibo(n - 1) + fibo(n - 2) End If End Function代码如下:Private Sub Command1_Click() Dim n As Integer, i As Integer, k As Integer Picture1.cls n = Val(Text1.Text) For i = 1 To nPicture1.Print fibo(i); “ “;k = k + 1If k = 5 Thenk = 0Picture1.PrintEnd If Next I End Sub常用算法举例l求素数l选择法排序l冒泡法排序l顺序查找要判断一个数x是否是素数,需要判断x是否能 被2至x-1内的某一个自然数整除。若都不能整除,则x是素数。(所以,判断一个数是否为 素数,只要看在2到它的平方根之间有没有约数。 例题:素数l第一次从未排好序的数组中找出最小( 或最大)的,放在第一个位置;第二次 从后面的n1个数中找出最小(或最大 )的,放在第二个位置; 例题:选择排序每次对相邻的两个数进行比较,若不 符合顺序,则交换位置;例题:冒泡排序查找l顺序查找即将关键字与数组中的元素逐一比 较,若相同,查找成功。例题:顺序查找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号