文档详情

第六章函数与过程.ppt

发布:2017-08-15约5.69千字共47页下载文档
文本预览下载声明
第六章 函数与过程 6.1 自定义函数和过程 6.2 参数传递 6.3 过程的作用域 6.4 常用内部函数(自学) 6.5* 程序调试 6.6 实例 引言 目的:为了代码复用、程序结构清晰,便于调试与维护。 类型: Function函数过程 Sub子过程 Property属性过程 Event事件过程 6.1.1 函数过程 一.函数过程的定义 格式: [Static][Private][Public]Function 函数名([参数表])[As 类型] [语句块] [函数名=表达式] [Exit Function] End Function 说明: 1.Static声明的过程为局部的,且其中所有的局部变量为静态变量,用private声明的过程为私有过程,在模块中用public声明的过程为公有过程(默认)。 2. 函数名取名规则同变量名。 3. [AS 类型]:声明的是函数值的数据类型,缺省,则为Variant类型。 4. 函数过程中不允许再定义Function过程或Sub过程。 5. 函数过程的值是放在函数名中,并由函数名返回,过程中至少有一句对函数名进行赋值。 编写函数过程计算N! Function fact(n As Integer) As Single ‘n! Dim I as integer fact = 1 For i = 2 To n fact = fact * i Next i End Function 二、建立: 在窗体中建立 在模块中建立:工程-添加模块 代码窗口,通用声明处 讨论 P39实验八1 定义函数 三、调用 变量名 = 函数过程名( [ 参数表 ] ) 说明: 1.形参:函数定义时参数表中的参数 2.实参:函数调用时参数表中的参数 3.调用时实参与形参必须保持个数相同、位置与类型一一对应。 例:在窗体中显示n! Private sub form_click() dim a as integer a=inputbox(“请输入一个正整数:”) print fact(a) End sub 例:编写函数过程计算N!,调用该过程计算组合数,指出形参和实参,程序执行的流程。 7 Function fact(n As Integer) As Single ‘n! Dim f, i f = 1 For i = 2 To n f = f * i Next i fact = f End Function 下面在窗口的单击事件过程中调用fact(n)函数: Private Sub Form_Click() 计算组合数n!/m!/(n-m)! 1 Dim cmn As Single, n%, m% 2 n = InputBox(请输入全体元素数 n, 计算组合数(输入窗口1)) 3 m = InputBox(清输入取出的元素数 m ( n), 输入窗口2) 4 cmn = fact(n) / fact(m) / fact(n - m) 5 Print 6 Print Tab(2); 从; n; 个不同的元素中取出; m; 个元素的组 _合数为:; cmn End Sub 讨论 P39实验八1调用 6.1.2 Sub过程 一、 Sub过程的定义 格式: [Private][Public][Static] Sub 过程名 ([形参表]) 语句块1 [Exit Sub] 语句块2 End Sub 二、Sub过程的调用 1.用 Call语句调用 Call 过程名 ([ 实参表 ]) 2.直接用过程名调用 过程名 [ 实参[, 实参 ]... ] 例:打印1到100之间的素数,编写sub过程,用于判断一个数是否是素数。 判断一个数是否是素数的过程如下: Sub prime(byval n As Integer, pr As Boolean) Dim i As Integer If n 2 Then pr = False Elseif n=2 then pr=true else For i = 2 To int(Sqr(n)) If n Mod i = 0 Then Exit For Next i If i int(Sqr(n)) Then pr = True Else pr = False End If End Sub 下面在窗口的单击事件过程中调用prime过
显示全部
相似文档