项目8过程剖析

上传人:我** 文档编号:117867083 上传时间:2019-12-11 格式:PPTX 页数:74 大小:1.81MB
返回 下载 相关 举报
项目8过程剖析_第1页
第1页 / 共74页
项目8过程剖析_第2页
第2页 / 共74页
项目8过程剖析_第3页
第3页 / 共74页
项目8过程剖析_第4页
第4页 / 共74页
项目8过程剖析_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《项目8过程剖析》由会员分享,可在线阅读,更多相关《项目8过程剖析(74页珍藏版)》请在金锄头文库上搜索。

1、程序设计与实践 VISUAL BASIC.NET 信息基础教研室 黄春梅 函数过程的定义与调用1 子过程的定义与调用2 3参数传递 递 归5 变量的作用域4 综合应用 6 8 过程 VB.NET程序设计目录 过程 事件过程 通用过程 Function过程Sub过程 Private Sub Button2_Click( ) Handles Button2.Click S = 1.0 / 2 * (a + b + c) Area = Sqrt(S * (S - a) * (S - b) * (S - c) Label5.Text &= Format(Area, #.#) End Sub VB.NE

2、T程序设计目录 过程 事件过程 通用过程 Function过程Sub过程 Private Sub Button2_Click( ) Handles Button2.Click S = 1.0 / 2 * (a + b + c) Area = Sqrt(S * (S - a) * (S - b) * (S - c) Label5.Text &= Format(Area, #.#) End Sub VB.NET程序设计目录 为什么要使用过程 可以提高程序的可读性。 过程代码可以重用。一个过程在创建之后, 可以在程序的任何一个地方调用。 使得应用程序更容易调试、修改和维护。 更便于多人协同合作开发。

3、 VB.NET程序设计目录 6 u过程就是一段代码块,VB.NET中的所有可执行语句都要位 于过程中才能被执行 u过程的引入: 使同类的操作不重复编写,写一次多次用 把一项复杂的工作分成简单的功能块,分而治之 u过程的作用: 完成一段独立功能,可供其他过程使用(调用)。 u调用过程 调用过程: 调用Sprg1 调用Sprg1 调用Sprg2 过程: Sprg1 过程: Sprg2 VB.NET程序设计目录 7 常用过程分类: Sub过程(子过程) Function过程 事件过程 自定义子过程 内部函数(标准函数) 自定义函数过程 1)过程是一段程序代码,是相对独立的逻辑模块。 2)一个完整的V

4、B应用程序由若干过程和模块组成。 本节主要介绍用户自定义的 Sub子过程:完成一定的操作和功能,无返回值。 Function函数过程:完成一定的操作和功能,并且可 将数据处理的结果返回。 VB.NET程序设计目录 8 8.1 函数过程的定义和调用 8.1.1 已知多边形各条边的长度, 计算多边形的面积。 计算多边形面积,可将多边形分解 成若干个三角形。计算三角形面积 的公式如下: 假设area是一个函数,area(a,b,c)、area(c,d,e)、 area(e,f,g)可分别求三个三角形的面积 VB.NET程序设计目录 9 8.1.1 引例 定义函数过程area Function are

5、a(x As Single, y As Single, z As Single) As Single Dim c! c = 1 / 2 * (x + y + z) area = Math.Sqrt(c * (c - x) * (c - y) * (c - z) End Function Sub Form1_Click() Handles MyBase.Click 输入若干个三角形边长 S = area(a, b, c) + area(c, d, f) + area(f, g, h) MsgBox(面积= & S) End Sub 本章目录 调用函数过程 VB.NET程序设计目录 10 VB.N

6、ET程序设计目录 11 8.1.2函数过程的定义 在窗体、模块等的代码窗口把插入点放在所有现有过程之外,直 接输入函数过程。定义函数过程的形式如下: 访问修饰符 Function 过程名(形式参数列表)As 类型 Return 表达式 或 函数名=表达式 Exit Function Return 表达式 或 函数名=表达式 End Function 本章目录 函数过程访问修饰符: Public|Private|Protected|Friend、Static、Shared VB.NET程序设计目录 12 1. 函数过程名 2. 访问修饰符:该函数过程可以被访问的范围 vPublic 全局函数过程

7、,可被程序任何模块调用 vPrivate 仅供本模块中的其它过程调用 3. 形参列表:是过程和外界的接口,表示在函数过程中 使用的参数的个数、类型; 只能是变量或数组名,无 值。 4. As”:定义函数过程返回值的数据类型 5. Return 表达式 返回表达式的值到调用处;对“函数 过程名”赋一次值 6. Exit Function:退出函数过程。 本章目录 VB.NET程序设计目录 13 例8.2 编一求最大公约数的函数过程 Dim r% If m n Then t = m: m = n: n = t r=m mod n Do while r0 m = n: n = r : r = m M

8、od n Loop gcd = n 例8.2 编一求最大公约数的函数过程 Function gcd(m As Integer, n As Integer) As Integer End Function 函数名? 函数的参数? 函数返回值? VB.NET程序设计目录 14 例8.2 编一求最大公约数的函数过程 Dim r% If m n Then t = m: m = n: n = t r=m mod n Do while r0 m = n: n = r : r = m Mod n Loop Return n 例8.2 编一求最大公约数的函数过程 Function gcd(m As Integ

9、er, n As Integer) As Integer End Function 函数过程默认是Public的 VB.NET程序设计目录 练习 求组合数:求组合数: 自定义一个求阶乘的自定义一个求阶乘的SubSub子过程子过程 分别调用函数过程和子过程求组合数分别调用函数过程和子过程求组合数 VB.NET程序设计目录 16 8.1.3函数过程的调用 调用形式:函数过程名(参数列表) 参数列表(称为实参):必须与形参个数相同,位置与类型一一对 应。可以是同类型的常量、变量、表达式。 Sub Form1_Click() Handles MyBase.Click Dim x%, y%, z% x

10、= 124: y = 24 z = gcd(x, y) MsgBox(最大公约数是 & z) End Sub 程序运 行流程 Sub Form1_Click() Handles MyBase.Click Dim x%, y%, z% x = 124: y = 24 z = gcd(x, y) Function gcd( m%, n%) As Integer Dim r% If m 0.5 Then k = 1 Else k = -1 MyMove(k) End Sub Sub MyMove(ByVal Tag As Integer) Label1.Left = Label1.Left + Ta

11、g * 10 End Sub VB.NET程序设计目录 19 8.2.2子过程的定义 子过程定义的方法同函数过程,形式如下: Sub 子过程名(参数列表) 局部变量或常数定义 语句 Exit Sub 语句 End Sub 子过程名、形参同函数过程中对应项的规定,当无 形参时不要括号。MsgBox 本章目录 VB.NET程序设计目录 20 子过程的调用是一句独立的调用语句,有两种形式: Call 子过程名(实参列表) 子过程名 (实参列表) 用Call关键字时,若有实参,则实参必须用圆括号括起 ,无实参圆括号省略 8.2.3子过程调用 本章目录 Call MyMove(k) MyMove(k)

12、VB.NET程序设计目录 21 子过程与函数过程的区别 u 把某功能定义为函数过程还是子过程,没有 严格的规定。一般若程序有一个返回值时,函 数过程直观;当有多个返回值时,习惯用子过 程。 u函数过程必须有返回值,函数名有类型。子 过程名没有值,过程名没有类型,不能在子过 程体内对子过程名赋值。 本章目录 VB.NET程序设计目录 22 例8.4 统计字符串S中定冠词The出现个数,分别 用子过程和函数过程实现,并调用。 处理方法:利用InStr函数反复在字符串S找The 子串。 本章目录 If you cant find the answers you need in the product

13、 i st st表示查找的范围 i表示查找到的位置 VB.NET程序设计目录 23 Private Sub Button1_Click() Handles Button1.Click TextBox2.Text = FuncThe(TextBox1.Text) End Sub 函数过程 Function FuncThe(ByVal s As String) As Integer Dim Count ,i As Integer, st As String Count = 0 : st = Trim(s) i = InStr(st, “ the ) Do While i 0 当i0说明找到 Count = Count + 1 统计个数加1 st = Mid(st, i + 3) 为找下一个准备 i = InStr(st, “ the ) Loop FuncThe = Count End Function VB.NET程序设计目录 24 用子过

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

最新文档


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

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