Visual Basic程序设计及应用 教学课件 ppt 作者 郑丽敏 VB第7章

上传人:E**** 文档编号:89494793 上传时间:2019-05-25 格式:PPTX 页数:59 大小:640.23KB
返回 下载 相关 举报
Visual Basic程序设计及应用 教学课件 ppt 作者  郑丽敏 VB第7章_第1页
第1页 / 共59页
Visual Basic程序设计及应用 教学课件 ppt 作者  郑丽敏 VB第7章_第2页
第2页 / 共59页
Visual Basic程序设计及应用 教学课件 ppt 作者  郑丽敏 VB第7章_第3页
第3页 / 共59页
Visual Basic程序设计及应用 教学课件 ppt 作者  郑丽敏 VB第7章_第4页
第4页 / 共59页
Visual Basic程序设计及应用 教学课件 ppt 作者  郑丽敏 VB第7章_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《Visual Basic程序设计及应用 教学课件 ppt 作者 郑丽敏 VB第7章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计及应用 教学课件 ppt 作者 郑丽敏 VB第7章(59页珍藏版)》请在金锄头文库上搜索。

1、Visual Basic 程序设计,第7章 过程及应用,内容提要,在设计一个规模较大、功能较复杂的程序时,VB通过工程来管理组成应用程序的所有不同模块文件。每个模块文件由若干过程组成,过程既可以是事件过程,也可以是用户自定义的子程序或函数,统称为通用过程 本章首先介绍过程的概念,然后重点介绍两种自定义过程:Sub子程序过程和Function函数过程的定义和调用。 由于自定义过程的定义和调用是两段相互独立的代码,代码之间存在数据传递、变量的有效范围等问题,因此本章还介绍了参数传递、变量的作用域和存活期等内容,第7章 过程及应用,7.5 过程的嵌套调用和递归调用,7.4 过程中的参数,7.3 函数

2、过程,7.2 Sub过程,7.1 过程概述,7.6 变量的作用域和生存期,7.7 Visual Basic应用实例,7.1 过程概述,过程的概念 把程序划分为各个子模块,子模块都能独立完成相应任务,这样的模块被称为过程 过程的优点 独立单元模块比整个程序容易调试 可以代码共享,被其他程序多次调用 过程变量是局部的,可以减少变量散发的错误 过程的分类 事件过程 用户自定义过程 不带返回值的Sub子程序过程 带返回值的Function函数过程,7.2 Sub过程,7.2.2 Sub过程的定义,7.2.1 事件过程,7.2.3 Sub过程的调用,7.2.1 事件过程,事件过程的概念 面向对象由系统创

3、建的,不同的对象有不同的事件,用户不能添加或删除事件及其参数 事件过程的格式 Public|Private Sub _ () 说明 对象名:用户自定义 事件名及参数表:系统提供,7.2.1 事件过程,过程调用示意图,7.2.2 Sub过程的定义,Sub子程序的定义方式 在代码窗口,单击“工具”菜单中的“添加过程”命令,打开“添加过程”对话框,7.2.2 Sub过程的定义,Sub子程序的定义方式 在代码窗口,直接定义 格式: Public | Private Static Sub 子程序名(参数表) 语句组1 Exit Sub 语句组2 End Sub 例如: Private Sub fact(

4、n As Integer, s As Single),7.2.2 Sub过程的定义,说明 子程序名的命名,与变量的命名规则相同 根据实际需要设置参数个数和数据类型,多个参数用逗号隔开 在子程序内部可以声明变量和常量,语法规则与事件过程相同 在子程序内部可以使用一个或多个Exit Sub语句,它表示退出子程序而返回到调用该过程的调用语句的下面去执行 End Sub语句表示过程结束,程序返回到调用该过程的调用语句的下面去执行,7.2.3 Sub过程的调用,Sub子程序的调用方式 使用Call语句调用 格式: Call 过程名 () 直接使用过程名调用 格式: 过程名 例如:Call fact(a,

5、 b) 或者:fact a, b,7.2.3 Sub过程的调用,【例7-1】无参数子程序和带参数子程序的比较 设计界面 编程策略 单击“无参数”调用子程序star1 单击“1个参数”调用子程序star2 单击“2个参数”调用子程序star3,输出10个“*”,输出a个“*”,在b列输出a个“*”,7.2.3 Sub过程的调用,代码编写, 无参数 Private Sub Command1_Click() Call Star1 End Sub Private Sub star1() Print String(10, “*“) End Sub,1个参数 Private Sub Command2_Cl

6、ick() Dim a As Integer a = Val(InputBox(“长度=“) Call star2(a) End Sub Private Sub star2(a As Integer) Print String(a, “*“) End Sub,7.2.3 Sub过程的调用,代码编写,1个参数 Private Sub Command2_Click() Dim a As Integer a = Val(InputBox(“长度=“) Call star2(a) End Sub Private Sub star2(a As Integer) Print String(a, “*“)

7、End Sub,2个参数 Private Sub Command3_Click() Dim a As Integer, b As Integer a = Val(InputBox(“长度=“) b = Val(InputBox(“列=“) Call star3(a, b) End Sub Private Sub star3(a As Integer, b As Integer) Print Tab(b); String(a, “*“) End Sub,7.2.3 Sub过程的调用,【例7-2】计算 的值 设计界面 编程策略 分子用乘方运算符“”实现,分母求阶乘没有现成的运算符或函数,定义子程序

8、factorial求阶乘,7.2.3 Sub过程的调用,代码编写,Private Sub Command1_Click() Dim x As Integer, n As Integer Dim y As Single Dim i As Integer, t As Double x = Val(Text1.Text): n = Val(Text2.Text) y = x For i = 1 To n Call factorial(4 * i + 1, t) y = y + x (4 * i + 1) / t Next i Label3.Caption = “y =“ & Str(y) End S

9、ub,Private Sub factorial(m As Integer, n As Double) Dim i As Integer n = 1 For i = 1 To m n = n * i Next i End Sub,7.3.2 Function函数过程的调用,7.3.1 Function函数过程的定义,7.3 函数过程,7.3.1 Function函数过程的定义,Function函数的定义方式 在代码窗口,单击“工具”菜单中的“添加过程”命令,打开“添加过程”对话框,后面不带一对括号及参数,7.3.1 Function函数过程的定义,Function函数的定义方式 在代码窗口,直

10、接定义 格式: Public | Private Static Function 函数名 (参数表) As 语句组1 Exit Function 语句组2 函数名 = End Function,7.3.2 Function函数过程的调用,Function函数的调用 与内部函数的调用格式完全一样 格式: 函数名(参数) 与内部函数的区别 内部函数由系统提供,Function函数由用户自定义,7.3.2 Function函数过程的调用,【例7-3】设计一个求以10为底的常用对数的函数 编程策略 内部函数只有以e为底的自然对数,函数名为Log 对数公式 代码编写,Private Sub Form_L

11、oad() Show Print Lg(1000) End Sub,Private Function Lg(x As Single) As Double Lg = Log(x) / Log(10) 给函数名赋值 End Function,7.3.2 Function函数过程的调用,【例7-4】将【例7-2】改为用Function函数过程实现 编程策略 一个参数,直接用函数名返回阶乘的值 本题更适合用Function函数过程求阶乘,Private Sub factorial(m As Integer, n As Double) End Sub,Private Function factorial

12、(m As Integer) As Double End Function,7.3.2 Function函数过程的调用,代码编写,Private Sub Command1_Click() Dim x As Integer, n As Integer Dim y As Single Dim i As Integer, t As Double x = Val(Text1.Text): n = Val(Text2.Text) y = x For i = 1 To n y = y + x (4 * i + 1) / factorial(4 * i + 1) Next i Label3.Caption

13、= “y =“ & Str(y) End Sub,Private Sub Command1_Click() Dim x As Integer, n As Integer Dim y As Single Dim i As Integer, t As Double x = Val(Text1.Text): n = Val(Text2.Text) y = x For i = 1 To n Call factorial(4 * i + 1, t) y = y + x (4 * i + 1) / t Next i Label3.Caption = “y =“ & Str(y) End Sub,7.3.2

14、 Function函数过程的调用,代码编写,Private Sub Command1_Click() y = x For i = 1 To n y = y + x (4 * i + 1) / factorial(4 * i + 1) Next i Label3.Caption = “y =“ & Str(y) End Sub,Private Function factorial(m As Integer) As Double Dim i As Integer, n As Double n = 1 For i = 1 To m n = n * i Next i factorial = n End

15、 Function,Dim i As Integer factorial = 1 For i = 1 To m factorial = factorial * i Next i,7.4.2 参数传递的内容,7.4.1 参数传递的定义,7.4 过程中的参数,7.4.1 参数传递的定义,参数分类 根据它在过程中的位置可分为形参和实参 形参 也叫形式参数,指在定义过程时出现的参数 实参 也叫实际参数,指在调用过程中出现的参数,Sub factorial(m As Integer, n As Double) End Sub,Call factorial(4 * i + 1, t),形参,实参,7.4.

16、1 参数传递的定义,形参与实参 个数相同 数据类型一致 名称可以不同,Sub factorial(m As Integer, n As Double) End Sub,Call factorial(4 * i + 1, t),形参,实参,形参与实参的对应关系,7.4.1 参数传递的定义,【例7-5】举例说明参数为数组的函数过程的定义和调用 代码编写,Private Sub Form_Load() Dim i As Integer Show Dim a(3) As Integer For i = 1 To 3 a(i) = i * 2 Print a(i); 显示2 4 6 Next i Print Print “total=“; exer(a) 显示total=56 End Sub,Private Function exer(m() As Integ

展开阅读全文
相关资源
相关搜索

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

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