- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《vb第07章
第7章 过程 7.1 Function过程 7.1.1 Function过程的定义 1. Function过程的格式 2. 说明 (1) Public: 缺省值。使用Public时表示各模块的所 有其他过程都可以调用该过程。 (2) Private: 使用Private时表示只有本模块中的其他过程才可以调用该Function过程。 (3) Static: 使用Static时表示将过程中的所有局部变 量说明为静态变量。 (4) 函数过程名: Function过程的名称,遵循变量 的命名规则。 (5) 形参表: 表示Function过程的参数变量列表。多个变量之间用逗号隔开。格式: [ByVal|ByRef] 变量名[( )] [As 类型] ByVal: 表示该参数按值传递。 ByRef: 缺省值。表示该参数按地址传递。 变量名: 任何变量名或数组名。 ( ): 当参数为数组时使用。 (6) As 类型: 声明函数值的类型。 (7) Exit Function语句: 从Function过程中退出。 (8) Function过程通过赋值语句: 函数过程名=表达式 将函数的返回值赋给函数过程名。 (9) Function过程的定义不能嵌套。 函数过程应该建立在模块的通用声明段。 【例7-1】编写一个根据三角形的三条边计算三角形面积的函数过程。 计算公式: 【例7-2】编写一个计算N!的函数过程。 【例7-4】输入m和n的值,调用例7-2的函数过程求组合数。求组合数公式如下: Private Sub Command1_Click() Dim m As Integer, n As Integer, c As Double n = Val(Text1.Text) m = Val(Text2.Text) 调用Fact函数求各阶乘值,计算组合数 c = Fact(m) / (Fact(n) * (Fact(m - n))) Text3.Text = c 用Text3显示组合数 End Sub 7.2 Sub过程 7.2.1 Sub过程的定义 1. Sub过程的格式 2. 说明 (1) Exit Sub用于退出Sub过程。 (2) 过程名不具有值的意义,在Sub过程中不能给过程名赋值,也不能给过程名定义类型。 (3) Sub过程通过形参表中的参数返回值。 (4) Sub过程的建立方法与Function过程的建立方法相同。 【例7-5】编写一个根据三角形的三条边计算三角形面积及其内切圆面积的Sub过程。 在Sub过程中可以引入5个参数,其中: 3个参数用于接收三角形的三条边a、b、c, 2个参数用来返回三角形面积Area1和内切圆面积Area2 。设r为三角形内切圆的半径。 计算三角形内切圆的面积可以使用以下公式: Sub S(a, b, c, Area1, Area2) If a + b = c Or b + c = a Or c + a = b Then Area1 = 0: Area2 = 0 ‘ 如三边不能构成三角形,面积设为0 MsgBox 输入的边长不能构成三角形, vbExclamation, 注意 Else p = (a + b + c) / 2 Area1 = Sqr(p * (p - a) * (p - b) * (p - c)) 计算三角形面积 r = Area1 / p 计算内切圆半径 Area2 = 3.1416 * r ^ 2 计算内切圆面积 End If End Sub 【例7-6】编写计算n!的Sub过程。 由于Sub过程名称不能返回值,因此需要在形参表中引入另一个参数来返回阶乘值。 【例7-7】编写Sub过程,打印以下图形。 7.3 参数的传递 7.3.1 形参和实参 形参: 出现在Sub或Function语句中。 实参: 出现在调用程序中。 例如,定义如下一个过程: Sub SubTest(n As Integer,Sum As Single) … End Sub 调用语句: Call SubTest( a
文档评论(0)