vb教案(过程与函数)

上传人:油条 文档编号:11833175 上传时间:2017-10-15 格式:DOC 页数:9 大小:112KB
返回 下载 相关 举报
vb教案(过程与函数)_第1页
第1页 / 共9页
vb教案(过程与函数)_第2页
第2页 / 共9页
vb教案(过程与函数)_第3页
第3页 / 共9页
vb教案(过程与函数)_第4页
第4页 / 共9页
vb教案(过程与函数)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

1、韶 关 学 院 课 程 教 学 设 计 ( 2 学时)教学主要内容: 第 8 章 过程与函数教学目标与要求: 通过对本章的学习,使学生掌握 Sub 过程与函数过程的使用,理解参数传递的意义。教学重点与难点: 教学重点:Sub 过程与函数过程的定义与调用教学难点:参数传递的意义教学素材:Visual Basic 程序设计教程 多媒体课件 多媒体课室教学方法:讲授法 课型: 新授课教学过程:一、课程引入 :先列出 1 个问题,让学生思考这样的问题用以前学过的知识怎样解决,之后引入过程。例: 某同学遇到了这样的一个编程问题:1!+3!+5!=?分析:该题目是把三个数的阶乘求和。若用前面学习的方法,每

2、个数的阶乘都需要写一段代码。若把求阶乘的代码作为“公共”程序段落,那么求各个数的阶乘时,就只需调用这个“公共”程序段落就可以了。这个“公共”程序段落可以定义成过程,称为“通用过程” 。过程的引入: 使同类的操作不重复(操作方法相同、参数不同 )过程: 完成一段独立功能,可供其他过程使用( 调用) 。过程又称为子程序调用过程: 调用其他过程的过程调用过程: 调用fact调用fact调用fact子程序: fact过程分类:Function 过程分为:内部函数和自定义函数Sub 过程分为:内部过程、事件过程和自定义过程二、课堂讲解 :8.1 Function 过程8.1.1 Function 过程的

3、定义1. Function 过程的格式Public|PrivateStatic Function () As = Exit Function = End Function2. 说明(1) Public: 缺省值。使用 Public 时表示所有模块的所有其他过程都可以调用该 Function 过程。(2) Private: 使用 Private 时表示只有本模块中的其他过程才可以调用该 Function 过程。(3) Static: 使用 Static 时表示将过程中的所有局部变量说明为静态变量。(4) : Function 过程的名称,遵循变量的命名规则。(5) : 表示在调用时要传递给 Fu

4、nction 过程的参数 变量列表。多个变量之间用逗号隔开。格式: ByVal|ByRef( ) As ByVal: 表示该参数按值传递。ByRef: 缺省值。表示该参数按地址传递。: 遵循变量命名规则的任何变量名 或数组名。( ): 当参数为数组时使用。(7) Exit Function 语句: 从 Function 过程中退出。(8) Function 过程通过赋值语句= 将函数的返回值赋给 。(9) Function 过程的定义不能嵌套。3. Function 过程的建立: 直接在代码窗口中输入。 在代码窗口: “工具”菜单 “添加过程”命令。8.1.2 Function 过程的调用直接

5、在表达式中调用。格式: (): 常量、变量或表达式,各参数之间用逗号分隔。如果是数组,在数组名之后必须跟一对空括号。【例 8-1】求 1!+3!+5!=?自定义求阶乘的函数过程 FactFunction Fact(N As Integer) As DoubleDim i As Integer, F As DoubleF = 1 F 用于保存阶乘值For i = 1 To NF = F * iNext iFact = F 给函数过程名赋值End Function 在按钮的 Click 事件过程中调用函数过程Private Sub Form_Click()Dim sum As Doublesum

6、= sum + Fact(1) + Fact(3) + Fact(5) 调用函数Print 1!+3!+5!=; sumEnd Sub1.函数需先定义再调用。2.函数通过函数名返回结果。【例 8-2】利用 Function 过程计算阶乘,求组合数。界面如下图所示。运行时,在文本框 Text1 和 Text2 中输入 m 和 n 值,单击按钮计算组合数,结果显示于文本框 Text3中。 自定义求阶乘的函数 FactFunction Fact(N As Integer) As DoubleDim F As Double, i As IntegerF = 1For i = 1 To NF = F *

7、 iNext iFact = FEnd Function 按钮的 Click 事件过程Private Sub Command1_Click()Dim m As Integer, n As Integer, c As Doublem = Val(Text1.Text): n = Val(Text2.Text) 调用 Fact 函数求各阶乘值c = Fact(m) / (Fact(n) * (Fact(m - n)Text3.Text = Trim(Str(c)End Sub调用时的参数可以是常量,也可以是变量。8.2 Sub 过程8.2.1 Sub 过程的定义1. Sub 过程的格式Privat

8、e|PublicStatic Sub ()Exit SubEnd Sub2. 说明(1) Exit Sub 用于退出 Sub 过程。(2) 不具有值的意义,在 Sub 过程中不能给赋值,也不能给定义类型。(3) Sub 过程通过 中的参数返回值。(4) Sub 过程的建立方法与 Function 过程的建立方法相同。2. 说明(1) Exit Sub 用于退出 Sub 过程。(2) 不具有值的意义,在 Sub 过程中不能给赋值,也不能给定义类型。8.2.2 Sub 过程的调用格式一: Call ()格式二: 说明: (1) : 要调用的 Sub 过程名;(2) : 可以是常量、变量或表达式,各

9、参数之间用逗号分隔。如果是数组参数,则要在数组名之后跟一对空括号。(3) 用 Call 语句调用一个 Sub 过程时,如果过程本身没有参数,则省略和括号。(4) 格式二省略了 Call 关键字,同时 两边也不能带括号。【例 8-3】用 Sub 过程实现求 1!+3!+5!。Option ExplicitSub Fact(N As Integer, F As Double) Dim I As IntegerF = 1For I = 1 To NF = F * INext IEnd SubPrivate Sub Command1_Click()Dim F1 As Double, F2 As Dou

10、ble, F3 As DoubleDim sum As Double 调用 Fact 过程求 1 的阶乘,阶乘值存于实参 F1 中Call Fact(1, F1) 调用 Fact 过程求 3 的阶乘,阶乘值存于实参 F2 中Call Fact(3, F2) 调用 Fact 过程求 5 的阶乘,阶乘值存于实参 F3 中Call Fact(5, F3)sum = F1 + F2 + F3Print 1!+3!+5!=; sumEnd SubSub 过程通过参数来返回结果。【例 8-4】编写 Sub 过程,打印以下图形。分析: 打印以上图形,不需要返回值,因此无需引入参数。Sub a()For i

11、= 1 To 6Print Tab(7 - i);For j = 1 To 2 * i - 1Print *;Next jPrintNext iEnd SubPrivate Sub Form_Click()Call a()End Sub * * * 【例 8-5】编写 Sub 过程,求三个数中的最大数和最小数。分析: 首先要设置三个参数,如 x、y、z,用于接收三个原始数据,另外引入两个参数 max 和 min,用于返回最大和最小数。Sub s(x, y, z, max, min) max = xmin = xIf y max Then max = yIf y max Then max = z

12、If z 0。单击窗体时调用该过程打印 51、5 2、5 3、5 4、5 5 的值。Option ExplicitFunction Power(x As Single, ByVal y As Integer)Dim result As Singleresult = 1Do While y 0result = result * xy = y - 1LoopPower = resultEnd FunctionPrivate Sub Form_Click()Dim i As IntegerFor i = 1 To 5 Print Power(5, i)Next iEnd Sub思考: 如果取消过程

13、Power 中参数 y 前的关键字 ByVal,则会出现什么情况?8.6 过程的嵌套在一个过程执行期间又调用另一个过程,称为过程的嵌套调用。调用S2【例 8-9】用 Function 过程求 1!+2!+3!+20!Private Sub Command1_Click()Dim n As Integern = Val(InputBox(n=)Print Sigma(n) 调用 Sigma 过程End SubFunction Sigma(n As Integer) As DoubleDim i As Integer, sum As Doublesum = 0For i = 1 To nsum =

14、 sum + Fact(i) 调用 Fact 过程Next iSigma = sumEnd FunctionFunction Fact(n As Integer) As DoubleDim i As Integer, f As Doublef = 1For i = 1 To nf = f * iNext iFact = f调用过程 子过程S1 子过程S2调用 S1End Function过程的递归调用用自身的结构来描述自身,称递归。例如,对阶乘的定义:n!=n*(n-1)!(n-1)!=(n-1)*(n-2)!2!=2*1!1!=1Visual Basic 允许在一个 Sub 子过程和 Fun

15、ction 过程的定义内部调用自己,即递归Sub 子过程和递归 Function 函数。【例 8-10】利用递归调用计算 N!Private Function fact(n As Integer) As DoubleIf n 0 Then fact = n * fact(n - 1)Elsefact=1End IfEnd FunctionPrivate Sub Form_Click()Print “fact(4)=”;fact(4)End Sub三、本次授课内容小结 :1)课堂内容综述过程的分类、Function 过程的定义与调用、Sub 过程的定义与调用、参数传递(按值传递和按地址传递) 、过程的嵌套与递归2)课外作业布置某班有 50 名学生,按学号输入了 49 名学生的计算机成绩,学号为 27 号的学生成绩没有输入,请将 27 号学生的计算机成绩插入到指定位置。要求用过程来实现程序的编写。调用S2调用S1调用过程 子过程S1 子过程S2

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

当前位置:首页 > 行业资料 > 其它行业文档

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