- 6
- 0
- 约1.63万字
- 约 60页
- 2016-10-26 发布于广东
- 举报
6.3.2 传址与传值 2.传值 传值(ByVal)方式在调用过程时,将实参的值复制给形参。在被调过程中,形参拥有自己的内存地址,即使被调过程与主调过程中使用了相同的变量名,在内存中也对应于不同的地址单元。因此,对形参的任何操作不会影响到实参,其数据传递必然是单向的。具体分析如图6-14所示。 6.3.2 传址与传值 【例6.11】编写一个Function过程,用来求任意两个整数的最大公约数。调用该过程求二个数的最大公约数及最小公倍数。 分析:求两个整数的最小公倍数的公式为:将两数相乘除以它们的最大公约数。 求最大公约数的Function过程如下。 Public Function HCF(ByVal X As Long, ByVal Y As Long) As Long Dim R As Long Do R = X Mod Y If R = 0 Then HCF = Y : Exit Do Else X = Y : Y = R End If Loop End Function 6.3.2 传址与传值 求最大公约数和最小公倍数的主调过程如下。 Private Sub btnShow_Click() Handles btnShow.Click Dim A, B, C As Long A = 96 : B = 36 C = HCF(A, B) TextBox1.Text = 最大公约数: CStr(C) vbCrLf TextBox1.Text = TextBox1.Text 最小公倍数: CStr(A * B / C) End Sub 源程序 6.3.3 传递数组 可将整个数组作为参数传递给过程。 在定义过程时,形参所声明的数组的名称后必须写上一对空圆括号,即形参数组要略去数组的维度信息描述。 在调用过程时,对应实参数组名后无圆括号,且数组参数的传递方式只能是传址(ByRef)方式。 若要将数组元素作为实参,则数组名后必须有括号及数字,例如: Call Test(5, x(3)) 其中x(3)是一个数组元素,其对应形参是一个变量。 6.3.3 传递数组 【例6.12】编写一个通用Sub过程,实现一维数组的排序。调用该过程,排序一个实际的数组。 Public Enum SortSequence 排序的顺序 Small2Larg = 0 ‘升序 Larg2Small = 1 ‘降序 End Enum 说明:枚举类型SortSequence定义了两个常量Small2Larg和Larg2Small,分别表示升序、降序两种排序规则。 6.3.3 传递数组 给数组排序的Sub过程 Public Sub SortArray(ByRef Arr() As Long, ByVal D As SortSequence) Dim I, J, P, T As Long For I = LBound(Arr) To UBound(Arr) - 1 P = I For J = I + 1 To UBound(Arr) Select Case D Case SortSequence.Small2Larg 从小到大排序 If Arr(J) Arr(P) Then P = J Case SortSequence.Larg2Small 从大到小排序 If Arr(J) Arr(P) Then P = J End Select Next If P I Then T = Arr(I) : Arr(I) = Arr(P) : Arr(P) = T End If Next End Sub 6.3.3 传递数组 调用排序过程为数组排序。 Private Sub btnShow_Click() Handles btnShow.Click 主调用程序 Dim A(10), I As Long TextBox1.Text = For I = 0 To 10 A(I) = Int(10
您可能关注的文档
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第3章.ppt
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第4章.ppt
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第5章.ppt
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第6章.ppt
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第7章.ppt
- 新UG中文版实用教程 教学课件 关振宇 刘源 唐宏宾 第8章.ppt
- 新UML系统分析与设计教程 教学课件 冀振燕 第1章.ppt
- 新UML系统分析与设计教程 教学课件 冀振燕 第2章.ppt
- 新UML系统分析与设计教程 教学课件 冀振燕 第3章.ppt
- 新UML系统分析与设计教程 教学课件 冀振燕 第4章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第7章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第8章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第9章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第10章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第11章.ppt
- 新Visual Basic.NET程序设计 夏敏捷 电子教案及源代码 第12章.ppt
- 新Visual Basic.NET程序设计案例教程 电子教案 孙街亭 第1章 概述.ppt
- 新Visual Basic.NET程序设计案例教程 电子教案 孙街亭 第3章 数组.ppt
- 新Visual Basic.NET程序设计案例教程 电子教案 孙街亭 第4章 过程与变量.ppt
- 新Visual Basic.NET程序设计案例教程 电子教案 孙街亭 第5章 面向对象的程序设计.ppt
最近下载
- 读书分享《给教师的建议》ppt课件(3).pptx
- 食材配送项目-供应商对本项目的合理化建议和改进措施.docx VIP
- 小肠腺癌科普宣传.pptx VIP
- 《高等数学》教案 第53课 傅里叶级数.docx VIP
- FCA-FineBI试卷及答案文档.docx VIP
- 初中理化生如何开展实验教学.pptx VIP
- 铁总工电〔2018〕125号普速铁路桥隧建筑物修理规则.docx VIP
- 汉英翻译技巧课件钟书能 ISBN9787566304049 PPT06.ppt VIP
- T∕CSMT KJ004-2026 少铅 无铅辐射屏蔽材料防护性能检测技术规范.docx VIP
- ALC轻质隔墙项目工程责任监察详细介绍.docx VIP
原创力文档

文档评论(0)