- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第6章过程第1节sub子过程第2节函数过程第3节过程、变量的作用域第4节应用举例基础部第2节函数过程第1节sub子过程第3节变量、过程的作用域第4节应用举例第5节过程的嵌套与递归以前我们使用的函数和事件过程都是系统定义过的,在复杂问题中,我们还需要用户自己定义一些函数和过程。VB6.0中有以下四种:1.以sub开始的子过程2.以function开始的函数过程3.以property开始的属性过程4.以event开始的事件过程重点学习在VB中子过程有:事件过程和通用过程两种;事件过程在响应用户引发的事件或系统引发的事件外,一直处于等待状态;通用过程独立于事件过程之外(不能嵌套定义),可供其它过程调用(可以嵌套调用)。一、通用过程的建立通过菜单建立和直接输入代码建立两种方法。格式:[private|public][static]sub过程名([形参变量表])语句组(过程体)endsub不能为定长字符型变量;变量间用“,”分开;可以为数组名,格式:“数组名()”在窗体通用段或标准模块中定义可用exitsub强行退出过程二、通用过程的调用第一:call子过程名[(实参表)]第二:子过程名实参表常量、变量、数组名、表达式【例6-1】求组合数的值。分析:在窗体通用段定义求阶乘n!的sub过程,在窗体的cliclk()事件中三次调用并计算组合数,通过print方法输出结果。’窗体通用段Subfact(n%,f#)dimi%f=1fori=1tonf=f*inextiEndsubPrivateSubform_click()dimm%,k%,s#,x#,y#,z#m=10:k=6callfact(m,x):factk,ycallfact(m-k,z)s=x/(y*z)print“组合数=”sEndsub参数传递是形参和实参结合的方式,VB中有值传递和地址传递两种。形式参数:定义时过程名后“()”内的变量表。实际参数:调用时过程名后[“()”内]的变量、常量、表达式、数组名。三、参数传递1.传地址方式:形式参数和实际参数共用同一单元实际参数按下列形式是地址传递:(1)变量(对应形参左无byval)(2)数组名()图例:形式参数调用时调用后调用前存储单元实参【例6-2】输出含11个整型元素的数组,再将第一个与最后一个对调,第二个与倒数第二个对调,依次类推;最后输出对调后的各元素值。分析:有两次输出(定义一个输出sub过程);在窗体cilck()事件中完成输入输出、对调、再输出(调用输出子过程实现两次输出)。输出子过程Subparray(a()AsInteger)Dimi%Fori=LBound(a)ToUBound(a)Printa(i);NextiPrintEndSubPrivateSubForm_Click()Dimx%(10),i%,t%Fori=0To10x(i)=Int(Rnd*90)+10Nexti:Callparray(x)Fori=0To5t=x(i):x(i)=x(10-i):x(10-i)=tNexti:parrayxEndSub【例6-3】编写求两个整数的最大公约数和最小公倍数的过程,在窗体的Click()事件中调用并输出易读的结果.分析:有按定义和辗转除两种方法。按定义:输入→找较小→循环(在循环体内判断是否同时整除)Subdgys(g%,y%,s%)s=IIf(gy,y,g)Fors=sTo1Step-1IfgMods=0AndyMods=0ThenExitForNextsEndSubPrivateSubForm_Click()Dimm%,n%,r%m=InputBox(输入m:)n=InputBox(输入n:)Calldgys(m,n,r)Printm和n的最大公约数是:rPrint最小公倍数是:m*n/rEndSub【例6-3】编写求两个整数的最大公约数和最小公倍数的过程,在窗体的
文档评论(0)