【VB开源代码栏目提醒】:以下是网学会员为您推荐的VB开源代码-VB程序设计子程序 - 培训资料,希望本篇文章对您学习有所帮助。
第四章过程与函数对于某些多次反复执行的程序段我们可以将它定义成子程序。
子程序分为过程和函数。
定义在
代码窗口中直接定义子过程形式如下Public/Private sub 子
程序名参数列表语句Exit Sub语句End Sub函数过程形式如下Public/PrivateFunction函数名参数列表As类型语句函数名返回值ExitFunction语句函数名返回值EndFunction形参列表参数1参数2……参数定义byval 变量名as 数据类型Byval 数据传递方式值传递省略时为地址传递Exit sub/Exit function 中途退出过程调用子程序名参数
列表/Call 子程序名参数列表变量名函数名参数列表例过程调用call exchange a b或exchange ab例函数调用Print maxnumabXmaxnumab例5.1 编一交换两个数的过程。
Private Sub jiaohuanx As Integer y As IntegerDim t As Integert x x y y tEnd Sub形参x y 数据传递方式: 地址传递参数传递Private Sub Form_ClickDim a As Integer b As Integera 10 : b 20 Print 原值 a1 a b1 b call jiaohuana bPrint 交换后: a1 a b1 bEnd Sub函数的定义和调用private function jch n as integerdim f as integerI as integerf1for i1 to nffinext ijchfend function 在表达式中使用计算mn/m-njchmjchn/jchm-n过程的作用域1 窗体中的过程private 子程序只能在本窗体中调用public 子程序可以在其它窗体中应用但调用方式为窗体名.过程名2 标准模块中的过程public 可以在任意窗体和模块中使用用自身的结构来描述自身称为“递归”。
递归总有一个“结束条件”此结束条件称为“边界条件”。
例1五个人论岁数第一个人说比第二个人大2岁第二个人说比第三个人大2岁第三个人说比第四个人大2岁第四个人说比第五个人大2岁第五个说他10岁问每人多大岁数递归s5s42 s518 s4s32 s416 s3s22 s314s2s12 s212s110递推回推Li阶乘545递推43432321211边界条件2122回推3236464245245120
代码如下PrivateFunctionfacnasintegerifn1thenfac1elsefacnfacn-1endifEndFunction菲波那契数列前两项为1从第三项开始其值为它前面两项的和。
Private Function fibon As IntegerIf n 1 Or n 2 Thenfibo 1Elsefibo fibon -1 fibon -2End IfEnd Function
代码如下Private Sub Command1_ClickDim n As Integer i As Integer k As IntegerPicture1.clsn ValText1.TextFor i 1 To nPicture1.Print fiboi k k 1If k 5 Thenk 0Picture1.PrintEnd IfNext IEnd Sub
常用算法举例求素数选择法排序冒泡法排序顺序查找要判断一个数x是否是素数需要判断x是否能被2至x-1内的某一个自然数整除。
若都不能整除则x是素数。
所以判断一个数是否为素数只要看在2到它的平方根之间有没有约数。
例题素数第一次从未排好序的数组中找出最小或最大的放在第一个位置第二次从后面的n1个数中找出最小或最大的放在第二个位置……例题选择排序每次对相邻的两个数进行比较若不符合顺序则交换位置例题冒泡排序查找顺序查找即将关键字与数组中的元素逐一比较若相同查找成功。
例题顺序查找