《vb子过程子函数》ppt课件

上传人:tian****1990 文档编号:74740436 上传时间:2019-01-29 格式:PPT 页数:65 大小:1.61MB
返回 下载 相关 举报
《vb子过程子函数》ppt课件_第1页
第1页 / 共65页
《vb子过程子函数》ppt课件_第2页
第2页 / 共65页
《vb子过程子函数》ppt课件_第3页
第3页 / 共65页
《vb子过程子函数》ppt课件_第4页
第4页 / 共65页
《vb子过程子函数》ppt课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《《vb子过程子函数》ppt课件》由会员分享,可在线阅读,更多相关《《vb子过程子函数》ppt课件(65页珍藏版)》请在金锄头文库上搜索。

1、项目四 过程编写,1,共 74 页,主要内容,求组合数 函数过程的定义和调用,竞赛评分 子过程的定义和调用 参数传递 可选参数 变量的作用域 函数过程和子过程的作用域,共 74 页,2,活动一 求组合数,活动说明 某班有m名学生,要选派n名学生参加合唱队,计算有多少种选派方法。程序界面如图所示。,共 74 页,3,活动一 求组合数,活动分析 本例是一个计算组合数的例子,可以利用如下组合数公式进行计算: 在组合公式中,三次用到了求阶乘,其算法相同。对于算法相同的程序段,可以独立编写成函数过程。在程序中用到这段程序时,只需调用这一函数过程。,共 74 页,4,函数过程的定义、调用-1,函数(Fun

2、ction)过程的定义、调用 定义函数过程 函数过程定义的格式: Private|Public Function () As = 或Return Exit Function = 或Return End Function,共 74 页,5,学习支持,函数过程返回值的数据类型,函数过程的定义、调用-2,函数过程由Function语句声明它的名称、参数以及构成其主体的代码 Private | Public: 用于指出函数过程被调用的范围。Public表示函数过程是公共(全局)过程,Public函数过程可在整个项目内被调用。Private函数过程是局部过程,只能被包含其声明的窗体或模块调用。省略时,系

3、统默认为是“Private”。,共 74 页,6,学习支持,函数过程的定义、调用-3,参数列表:指明了参数类型和个数。 每个参数的格式为: ByVal | ByRef ( ) As 在定义函数过程时,“参数列表”中的参数为形式参数(Formal parameter。形参只能是变量名或数组名(数组名后加“()”),定义时没有值,参数名之间用逗号分隔。 函数过程没有参数时,函数过程名后的括号不能省。 当参数为类、数组、接口、字符串类型时,默认的参数传递方式是按地址传递。,共 74 页,7,学习支持,表示其后的参数是按值传递还是按地址传递,参数类型,函数过程的定义、调用-4,“As”:定义函数过程返

4、回值的数据类型。如省略,则为Variant。 函数过程直接返回一个值到调用处,因此在函数过程体中至少要对“函数过程名”赋一次值;或用Return (表达式)。 “Exit Function”:退出函数过程。,共 74 页,8,学习支持,函数过程的定义、调用-5,定义函数过程的操作 利用命令定义函数过程 在代码窗口中,将光标置于所有过程之外,右击鼠标,在快捷菜单中单击“插入代码段”命令,在弹出的下拉列表中,双击“通用代码模式”选项。在弹出的列表中双击“属性和过程”命令。在弹出的第三级下拉列表中双击“定义函数”命令。由此建立了一个函数过程的模板,在其中输入函数过程代码。模板中的函数名可以更改。 在

5、代码窗口定义函数过程 在代码窗口所有过程之外,直接输入定义函数过程的代码。,共 74 页,9,学习支持,函数过程的定义、调用-6,函数过程的调用 函数过程的调用和标准函数相同,格式如下: 函数过程名(参数列表) 参数列表:列表中的参数称为实际参数(Actual parameter),简称实参。实参的个数、位置、类型与形参完全一致。实参可以是同类型的常量、变量和表达式。如果是数组,省略维数和括号。 与标准函数一样,函数过程不能作为单独的语句使用,只能作为表达式或表达式中的一部分。,共 74 页,10,学习支持,函数过程的定义、调用-7,例4-1-1: 编写计算n!的函数过程。 n!=n(n-1)

6、(n-2)21 分析:编写计算n!的函数过程, n是一个自变量。因此在函数过程中,将n作为一个参数。,共 74 页,11,学习支持,函数过程的定义、调用-8,在代码窗口的窗体模块声明段中定义函数过程:,共 74 页,12,学习支持,Public Class Form1 Public Function factorial (Byval n As Integer) As Double Dim t as Double , i As Integer t = 1 For i = 1 To n t = t * i Next i Return t End Function End Class,函数过程的定义

7、、调用-9,共 74 页,13,学习支持,单击“计算”按钮的事件过程: Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Label3.Text = factorial(Val(TextBox1.Text) End Sub 单击“清除”按钮的事件过程:,Private Sub Button2_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button

8、2.Click Textbox1.Text = “ Label3.Text = “ End Sub,函数过程的定义、调用-10,提示: Label3.Text = factorial (Val (TextBox1.Text)中的Val(TextBox1.Text)是实参。下面是形参与实参的关系 Label3.Text = factorial (Val (TextBox1.Text) Public Function factorial (ByVal n As Integer) As Double,共 74 页,14,学习支持,函数过程的定义、调用-11,提示: 调用函数过程的程序,称为主调程序或

9、主程序。下图说明了在主程序中调用函数过程的运行情况 主程序 调用 调用点 执行函数过程 返回主程序,共 74 页,15,调用函数过程,学习支持,函数过程的定义、调用-12,共 74 页,16,例4-1-2: 计算1n的和及平均数。要求:单击求和按钮,求1n的和,结果显示在标签框中;单击求均数按钮,求1n的平均数,结果显示在标签框中。界面设计如下图。,学习支持,函数过程的定义、调用-13,分析: 无论是求和,还是求均数,都要计算出1n个数的和。将求和的程序作为一个函数过程定义。在求和或求均数时,调用这段程序。n 的值决定了计算的项数,是一个自变量。因此在函数过程中,将n作为一个参数。 因为在同一

10、个窗体的两个事件过程中调用求和程序,所以在代码窗口的窗体模块声明段中编写定义求和的函数过程,共 74 页,17,学习支持,函数过程的定义、调用-14,共 74 页,18,Public Class Form1 Private Function sum(ByVal n As Integer) As Long Dim t As Long , i As Integer t = 0 For i = 1 To n t = t + i Next i sum = t End Function End Class,学习支持,初始化变量,将结果赋给函数过程,函数过程的定义、调用-15,单击“求和”按钮的事件过程:

11、 单击“求均数”按钮的事件过程:,共 74 页,19,Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Label2.Text = “ 1“ & TextBox1.Text & “的和“ Label3.Text = sum(Val(TextBox1.Text) 调用函数过程 End Sub,Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

12、 Handles Button2.Click Label2.Text = “ 1“ & TextBox1.Text & “的均数“ Label3.Text = sum(Val(TextBox1.Text) / Val(TextBox1.Text) End Sub,编程实现-1,在例4-1-1中已定义了计算阶乘的函数过程factorial。在活动一的求组合数中,可以调用这一函数过程。 在活动一的单击“计算”按钮的事件过程中,调用factorial函数过程,计算组合数,共 74 页,20,编程实践,编程实现-2,程序代码如下:,共 74 页,21,Private Sub Button1_Click

13、(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim m As Integer, n As Integer, c As Double m = Val(TextBox1.Text) n = Val(TextBox2.Text) c = factorial(m) / (factorial(n) * factorial(m - n) Label3.Text = “共有“ & c & “种选派方法“ End Sub,调用factorial函数过程,编程实践,共 74 页,22,活动二 竟赛评分,活

14、动说明 在竞赛活动中,有十位评委为选手评分。在十位评委的评分中,去掉一个最高分和一个最低分,再计算出选手的平均分。,共 74 页,23,活动二 竞赛评分,活动分析 在本活动中,十位评委给出分数后,要去掉最低分和最高分。简单的办法是:将十个分数排序,去掉排序后的第一个和最后一个分数。 在评委给每位选手评分后,用排序程序将选手得分排序。对于多次使用的排序程序,编写一段通用程序,像函数过程一样,一次定义,多处使用。这个问题与函数过程有所不同,它最终不是得到一个值,而是完成一组数据排序的功能。,共 74 页,24,子过程的定义和调用-1,子过程 函数过程调用的结果是得到一个函数值。在实际应用中,有时是

15、要完成某一种功能,无须返回一个值。在VB.NET中也可以像函数过程一样,将程序中多次重复使用的程序代码抽出来,使之成为一段独立的程序并给它一个名字。需要使用这段程序时,只要用它的名字来调用即可,这段程序代码称为子过程。,共 74 页,25,学习支持,子过程的定义和调用-2,子过程是取了名字的一段程序代码,它通常完成一个独立的(子)功能。在主程序中通过子过程的名来使用(调用)子过程。子过程执行结束后,自动返回主程序的调用点,继续执行调用点后的程序代码。 子过程与函数过程的性质基本相同,它们之间的区别是:子过程名不带值;而函数过程名带值。,共 74 页,26,学习支持,子过程的定义和调用-3,子过程的定义 子过程定义语句的格式: Private | Public Sub () Exit Sub 子过程体 End Sub 格式中的“子过程名”、“参数列表”、“Public”、“Private”、 “Exit ”的含义与函数过程中的相同,共 74 页,27,学习支持,子过程的定义和调用-4,建立子过程的操作与函数过程相同 子过程的调用 调用子过程的两种格式: Call 子过程名() 子过程名 () 说明: 调用子过程是一个独立的语句。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号