
赠德职业技术学院 过程参数
顺德职业技术学院 1 过程参数

顺德业技术学晚 4.3 过程参数 4.3.1修饰过程参数的保留字ByVal和ByRef 4.3.2数组作为过程参数 4.3.3修饰可选参数的保留字Optional
顺德职业技术学院 2 4.3 过程参数 4.3.1 修饰过程参数的保留字ByVal和ByRef 4.3.2 数组作为过程参数 4.3.3 修饰可选参数的保留字Optional

要4.3.1修饰过程参数的保留字ByVaI 和ByRef 。形参是过程与主调程序之间的接口,具有从主调程序 中获得初值,或将计算结果返回给主调程序的功能。 所以选用保留字ByVa还是ByRef,取决于具体形参 所承担的特定功能,选用原则是: (1)若形参只是从主调程序中获得初值而且形参不是数组或 者自定义的数据类型时,.则前面用保留字ByVl;若形参是 数组时,只能是用保留字ByVI。 (2)若形参要计算结果返回给主调程序,即调用结束时,形 参将最新的结果赋值给对应的实参变量,则形参前面用保留 字ByRef。. o ByVal:表示按值传递。 o ByRef:表示按地址传递
顺德职业技术学院 3 4.3.1 修饰过程参数的保留字ByVal 和ByRef 形参是过程与主调程序之间的接口,具有从主调程序 中获得初值,或将计算结果返回给主调程序的功能。 所以选用保留字ByVal还是ByRef,取决于具体形参 所承担的特定功能,选用原则是: (1)若形参只是从主调程序中获得初值而且形参不是数组或 者自定义的数据类型时,则前面用保留字ByVal;若形参是 数组时,只能是用保留字ByVal。 (2)若形参要计算结果返回给主调程序,即调用结束时,形 参将最新的结果赋值给对应的实参变量,则形参前面用保留 字ByRef。 ByVal:表示按值传递。 ByRef:表示按地址传递

翌 顺德职业技水学院 4.3.2数组作为过程参数 o当形参是数组时,应使用保留字ByRef,通常 声明为“ByRef数组名()as数据类型”的 形式。 o例题4.3:通过本实例达到以下目的 (1)巩固自定义过程以及过程的调用。 (2)练习形参是数组时的特点和注意事项。 (3)根据过程的功能来决定是函数过程还是子过程
顺德职业技术学院 4 4.3.2 数组作为过程参数 当形参是数组时,应使用保留字ByRef,通常 声明为“ByRef 数组名() as 数据类型”的 形式。 例题4.3:通过本实例达到以下目的 (1)巩固自定义过程以及过程的调用。 (2)练习形参是数组时的特点和注意事项。 (3)根据过程的功能来决定是函数过程还是子过程

% 顺德业技水学的 4.3.3修饰可选参数的保留字 Optional o如果在定义过程时,在形参前面加上保留字“Optional'”, 则该参数是可选的,即在调用该过程时,与该形参对应 的实参可以没有,以增强过程的柔性。 o使用保留字“Optional"应注意之点: (1)在形参列表中,可选参数必须放在最后。 (2)在形参列表中,必须给可选参数赋一个默认值,其形式为: Optional[ByVal|ByRef]形参名as数据类型=常量 。在调用含可选参数的过程时,应注意之点: (1),如果为可选参数提供了实参,则将实参的值(ByVl)或者 地址(ByRef)传递给形参,此时默认值不起作用。 (2)如果没有为可选参数提供实参,则默认值就是可选参数的初 始值
顺德职业技术学院 5 4.3.3 修饰可选参数的保留字 Optional 如果在定义过程时,在形参前面加上保留字“Optional” , 则该参数是可选的,即在调用该过程时,与该形参对应 的实参可以没有,以增强过程的柔性 。 使用保留字“Optional”应注意之点: (1)在形参列表中,可选参数必须放在最后。 (2)在形参列表中,必须给可选参数赋一个默认值,其形式为: Optional [ByVal | ByRef] 形参名 as 数据类型 = 常量 在调用含可选参数的过程时,应注意之点: (1)如果为可选参数提供了实参,则将实参的值(ByVal)或者 地址(ByRef)传递给形参,此时默认值不起作用。 (2)如果没有为可选参数提供实参,则默认值就是可选参数的初 始值

顺德职业技术学视 4.4过程的嵌套调用和递归调用 04.4.1过程的嵌套调用 。定义过程的位置是在所有的过程之外,即VB.NET的过程定 特量鞋是致之酷夹系男现院天的 义是相互平行的,不能在 子 关系而非 过了我行茶直复装粮高图4它 在子过程“”中就调用,这样现象就叫做过程的嵌套调用。 04.4.2过程的递归调用 。递归就是用自身的结构来描述自身,它是一种描述问题的方 法。 。过程的递归调用就是在过程中自己调用自己。,VB.NET允许 对是定编是盐夏cnto样薯b》 为递归函数或者递归子过程
顺德职业技术学院 6 4.4 过程的嵌套调用和递归调用 4.4.1 过程的嵌套调用 ⚫ 定义过程的位置是在所有的过程之外,即VB.NET的过程定 义是相互平行的,不能在一个过程中出现定义另一个过程的 语句,过程定义之间的关系也可理解为“兄弟”关系而非 “父子”关系;而在调用过程时,可以在子过程中调用其它 过程,我们一直是这样做的,如图4.33所示的代码截图: 在子过程“”中就调用,这样现象就叫做过程的嵌套调用。 4.4.2 过程的递归调用 ⚫ 递归就是用自身的结构来描述自身,它是一种描述问题的方 法 。 ⚫ 过程的递归调用就是在过程中自己调用自己。VB.NET允许 一个自定义的过程在过程体中调用自己,这样的过程叫做递 归过程,根据定义过程的保留字是Fucntion或者 Sub可分 为递归函数或者递归子过程

% 顺德职业投术学晚 4.5小结 o本章介绍了VB.NET的函数过程和子过程的定义、调用、过程参 数、过程的嵌套调用与递归调用等知识,本章是整们课程学习 的难点,也是前几章所学知识的综合应用。通过本章的 习是 我们府逻辑编程的特点看更进步的以识:司以利角巴亭的知 孕调蕾鑫定文资瀛(前过程)”使程序雀紧溪,更使 O在回顾本章时应清晰以下几点: (1)函数过程与子过程最本质的区别是:函数过程通过函数名返回 子过程则不通过子过程名返回一个结果,这区分使 得两薯定叉和时都平了 (2)过程参数的传递是按值传递还是地址传递在表达形式和调用上 的不同。 (3)数组作为过程参数的应用特点。 (4)递归过程及使用条件
顺德职业技术学院 7 4.5 小结 本章介绍了VB.NET的函数过程和子过程的定义、调用、过程参 数、过程的嵌套调用与递归调用等知识,本章是整门课程学习 的难点,也是前几章所学知识的综合应用。通过本章的学习是 我们对逻辑编程的特点有更进一步的认识,可以利用已学的知 识,按需给自己定义资源(即过程),使程序更佳紧凑,更便 于调试与维护。 在回顾本章时应清晰以下几点: (1)函数过程与子过程最本质的区别是:函数过程通过函数名返回 一个结果,而子过程则不通过子过程名返回一个结果,这区分使 得两者在定义和调用时都不同。 (2)过程参数的传递是按值传递还是地址传递在表达形式和调用上 的不同。 (3)数组作为过程参数的应用特点。 (4)递归过程及使用条件