- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机考试第6章 过程课件
第6章 过 程 ;VB中的过程;;6.1.1 事件过程
Sub过程是没有返回值的过程,用Sub语句来声明其名称、参数以及构成其主体的代码。
这类过程与对象有关,对象事件触发后被调用。;1.定义窗体事件过程;2.定义控件事件过程;3.建立事件过程;6.1.2 通用过程;1. 通用Sub过程的定义 ;参数表中的参数称为形式参数,简称形参或虚参
形参格式为:
[ ByVal ] 变量名[( )] [As 数据类型]
ByVal表明其后的形参是按值传递参数(传值参数 Passed By Value),若缺省或用ByRef,则表明参数是按地址传递的(传址参数)或称引用(Passed By Reference)。
形参后无括号表示变量,有括号表示数组。
例如:
Public Sub S (X() As Integer, Y As String, byval Z As Boolean);2. 建立Sub过程
①建立过程框架
②在过程中编写该过程的程序代码。;通用过程
这类过程不与对象相关,是用户创建的一段共享代码。 ;事件过程是通过事件驱动由系统自动调用的,而Sub过程则必须通过调用语句实行调用。
调用Sub过程有以下两种方法:
Call Sub过程名(实参数表)
Sub过程名 实参数表;通过调用完成具体数值2与3的和,调用语句如下:
Call add(2,3)
或
add 2,3
;;例3 阶乘;6.2.1 Function过程的定义
[Private|Public][Static] Function 函数过程名(参数表) [As类型]
语句
End Sub;[As类型]用于说明函数返回值的数据类型,如果省略则返回变体类型的函数值。
在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句来实现的,即函数值通过函数名返回。因此函数体中需要有一个对函数名赋值的语句, 此语句的目的是为了设置函数返回的值。
例4 设计一个由三角形的3条边长,计算其面积的函数过程。 ;6.2.2 Function过程的调用
函数过程名(参数列表)
例如,在窗体中有4个文本框,前3个分别用于输入三角形的三边长的值,第4个文本框用于显示面积,则在“计算”命令按钮上设计以下事件过程调用上面的函数过程Area:;;Sub过程和Function函数过程定义时的参数列表中的参数称为形式参数,简称为形参或虚参;在程序中调用Sub过程和Function函数过程时的参数列表中的参数称为实际参数,简称实参。过程调用实际就是实参与形参相匹配的过程,称为参数传递,即主调过程将实参的相关数据传递给被调过程中的形参,这一过程也称做虚实结合。
①实参与形参数量相同。
②实参与形参按顺序逐一对应。
③实参和形参的类型对应一致。;1. 按值传递参数
按值传递参数时,主调过程的实参与被调过程的形参各有自己的存储单元,调用时主调过程的实参值复制给被调过程的形参。如果过程改变了形参的值,则所做变动不会影响对应实参的值。定义被调过程时,使用ByVal关键字指出参数是按值来传递的。;例如:
Function Sqrtab1(ByVal a As Single,ByVal b as Single)
a=a*a : b=b*b
Sqrtab1=Sqr(a+b)
End Function
Private Sub Command1_Click()
x = 3 : y = 4
z = Sqrtab1(x, y)
Print x, y
End Sub ;2. 按地址传递参数
按地址传递时,主调过程的实参与被调过程的形参共享同一存储单元,形参与实参是同一个变量。将变量传递给过程时,通过过程可改变变量值。;例如:
Function Sqrtab2(a, b)
a=a*a:b=b*b
Sqrtab2=Sqr(a+b)
End Function
Private Sub Command1_Click()
x = 3: y = 4
z = Sqrtab2(x, y)
Print x, y
End Sub
分别用传址方式完成阶乘题,即在主调中显示结果。
例5 (交换)比较不同传递方式对主调过程中的实参变量的影响。 ;1. 形参是普通变量,实参可以是普通变量或数组元素 ;2. 形参是带括号的数组名,实参可以是带括号的数组名
形参是数组名时,只能采用按地址传递方式;1. 使用可选参数
在过程的参数表中加入Optional关键字,就可以指定过程的参数是可选的。;[例3]以下函数的参数c是可选参数:
Function CompAdd1(a As Integer, b As Integer , O
文档评论(0)