模块6 函数与过程(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)

2024-08-04
| 10页
| 64人阅读
| 2人下载
普通

内容正文:

课题名称 模块6 函数与过程 计 划 学 时 10学时 内容分析 Visual Basic 的应用程序是由许多的过程和函数组成的。本章我们一起来学习如何使用函数和过程。我们通过使用函数可以提高编程效率。使用过程可以实现代码的重用,把某些功能完全相同或相近的子任务单独提取出来,划分为基本单元,方便其他程序重复调用,使程序代码更容易维护和修改,也减少了代码的出错率。学会如何使用函数和过程是十分必要的。 一、VB中的常用函数 1、输入函数 2、 输出函数 3、 常用数学函数 4、 常用字符串函数 5、 常用转换函数 6、 常用日期时间函数 2、 VB中的过程 1、 事件过程 2、 通用过程 3、 函数过程 三、过程中参数的传递 教学目标及基本要求 1、理解函数和过程的基本概念。 2、理解参数传递的意义,知道什么形式参数什么是实际参数。 3、掌握函数和过程的使用。 重点及措施 1、掌握常用输入输出函数和常用内部函数的使用。 2、掌握过程的定义和调用。 3、VB编程中参数过程的调用 难点及措施 1、常用函数在编程中的实际应用 2、理解过程中两种参数传递的两种方式 教学方式 讲师课堂教学以PPT讲授为主,结合多媒体进行教学 教 学 过 程 第一学时 认识输入与输出函数(一) 一、教师演示案例6-1:制作“密码重置”程序 1.需求分析:我们在使用app时经常会忘记密码而需重新设置密码,今天我们来制作一个修改密码的程序。 在这个程序中首先我们需要通过输入函数InputBox获取用户注册邮箱;然后再次通过输入函数InputBox来获得用户输入的新密码,;最后通过输出函MsgBox告知用户密码设置成功。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-1。 二、内容讲解 (以教师讲解为主) 1. 输入函数 在 Visual Basic 中,我们已经学会了通过文本框输入信息,除此之外,我们还可以 利用 InputBox 函数来产生输入对话框,提供给用户输入信息。 InputBox 函数的一般格式: InputBox(" 提示内容 " [, " 标题 " ][, 默认值 ]) 2. 输出函数 在计算机操作的过程中,经常会出现提示信息,在 VB 中我们使用 MsgBox 函数来 设计弹出的提示信息框。 MsgBox 函数的一般格式: MsgBox(" 提示内容 " [, 按钮 ] [," 标题 "]) MsgBox 函数的第一个参数是提示信息框中的提示文字。第二个参数决定消息框内的按钮和图标的种类和数目。 第二学时 认识输入与输出函数(二) 一、教师带领学生回顾案例6-1,制作“密码重置”程序。 二.内容讲解 1.回顾InputBox 函数的一般格式: InputBox(" 提示内容 " [, " 标题 " ][, 默认值 ]) 回顾MsgBox 函数的一般格式: MsgBox(" 提示内容 " [, 按钮 ] [," 标题 "]) MsgBox 函数的第二个参数决定消息框内的按钮和图标的种类和数目。如何确定第二个函数呢?该参数是3个数值相加之和。这3个数值分别代表按钮的类型、显示图标的种类和哪一个按钮是缺省的“活动按钮”。书中表 6-1 列出了这三个值 的含义,表中的第一组值 (0 ~ 5) 用于描述对话框中显示的按钮类型与数目;第二组值 (16, 32, 48, 64) 用于描述图标的样式;第三组值 (0, 256, 512) 用于确定默认按钮。在将这 些数字相加以生成按钮参数值时,只能从每组值中取用一个数字。 三、自我探索(以学生自主讨论和操作为主) 使用输入函数 InputBox 和输出函数 MsgBox设计一个程序,根据用户输入的圆的半径值,计算圆的周长和面积。 第三学时 常用内部函数(一) 一、教师演示案例6-2:制作程序 随机显示1-100间的10个数字。 1.需求分析:通过程序获取用户需要的随机数字。在Visual Basic中我们使用随机函数Rnd来获取随机数。本案例就是使用随机函数Rnd设计一个程序,当单击窗体时,在窗体上可以随机出现10个1-100间的数字。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-2。 二、内容讲解 (以教师讲解为主) 1、Rnd(x)函数:用来返回小于 1 且大于或等于 0 的随机数。若要得到整数 x~y(x<y)之间的随机数,可以使用下面的表达式:Int((y - x + 1) * Rnd + x) 2、Rnd(x)函数是 VB 中提供的常用内部函数之一。这些内部函数可供用户直接 调用,包括数学函数、字符串函数和转换函数。 注意:Rnd 函数返回小于 1 且大于等于 0 之间的单精度随机数。VB 用于产生随机数的公式取决于被称为种子(seed)的初始值。默认情况下,每次运行一个应用程序,VB提供相同的种子,即Rnd产生相同序列的随机数。为了每次运行时,产生不同序列的随机数,可执行 Randomize 语句。 第四学时 常用内部函数(二) 一、教师带领学生回顾案例6-2:制作程序 随机显示1-100间的10个数字。 二.内容讲解 1、程序中用到的Rnd(x)函数是 VB 中提供的常用数学函数之一。除了Rnd(x)函数VB中还有以下常用数学函数。 2、除了常用的数学函数外我们还需要了解VB中有的常用字符串函数及功能、常用转换函数及功能、常用日期时间函数及功能。 三、自我探索(以学生自主讨论和操作为主) 阅读下面的程序,根据我们今天学习的常用函数,试想它的运行结果如何? Private Sub Form_Click() Dim x As Integer, a As Integer Dim b As Integer, c As Integer x = 36 a = Int(x / 10) b = x Mod 10 c = b * 10 + a Print " 处理后的数 : "; c End Sub 第五学时 事件过程 一、教师演示案例6-3:制作程序 获取当前系统日期与时间。 1.需求分析:运行程序,当用户双击窗体时,窗体上会显示当前系统日期和时间。需要注意的是,这个案例中,在窗体上像以往一样单击鼠标后,窗体上是不会出现任何信息的。为什么程序会发生这样的变化呢?因为在这个程序中我们指定通过“双击”窗体才可以执行程序,“双击”就是Visual Basic中的一种“事件”。在这个案例中,我们首次尝试使用双击DblClick事件来触发程序的运行。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-3。 二、内容讲解 (以教师讲解为主) “事件”是由系统事先设置好的某一对象可以识别和响应的动作。通俗的说,“事件”是作用在对象上以实现某种规定的动作。如单击窗体、双击窗体都是不同的“事 件”。在 VB 中共有两类过程:事件过程和通用过程,每个事件过程都由相应的“事 件”触发而执行。窗体能识别的常用事件有:鼠标事件、键盘事件和其他事件。 常用鼠标事件包括:在窗体上移动鼠标(Mouse Move)、按下鼠标键(Mouse Down)、 释放鼠标键(Mouse Up)、单击(Click)、双击(DbClick)。 3、 自我探索(以学生自主讨论和操作为主) 1、尝试编写程序,当用户在键盘上按下任意一个键时,会在窗体的指定位置(2600,2000)处画出一个半径为1000的红色圆圈。本程序中我们使用键盘事件KeyDown来触发程序。 2、尝试设计一个程序,运行程序,当用户移动鼠标时,弹出提示信息框,显示“请勿随意使用本机”提示信息。 第六学时 通用子过程 一、教师演示案例6-5:制作程序 用*打印三角图形。 1.需求分析:运行程序,当单击窗体上的“打印图形”按钮,就可以在窗体上得到一个用*号组成的三角形。在这个案例中我们第一次尝试使用Visual Basic中的“过程”。过程通常可以完成一个独立的功能,可在多个程序中多次调用。这样,当我们编写一个复杂程序时,就可以使程序更清晰、更具有结构化,在调试和修改程序时更利于我们减少工作量、加快工作效率。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-5。 二、内容讲解 (以教师讲解为主) 在实际编程中,有时多个不同的事件驱动程序可能需要用到一段相同的程序(公共程序),或一个程序要多次使用一段相同的程序。这时为了避免程序的重复,可以把这一段相同的程序独立出来,成为一个“通用过程”。 Sub 过程是 VB 通用过程之一,Sub 过程又称为子程序。 1. 定义Sub过程 一般格式为: [Static] [Private] [Public] Sub 过程名 [( 参数表 )] [ 语句块 ] [ Exit Sub ] End Sub 说明: (1)Sub 过程必须以 Sub 开头,以 End Sub 结束。 Static:表明这个过程中的局部变量是静态的,即过程执行完成后,过程内的变量的值将保留下来。如果没有 Static,则局部变量是动态的,即过程执行完成后,过程内的变量的值将清空(0 或空字符串)。 Private:表明这个过程是私有过程,只能被本模块中的其他过程使用,不能被其他模块使用。 Public:表明这个过程是公有过程,可以在程序的任何地方使用。 (2)参数表:传送数据进入 Sub 的变量或数组,参数之间用逗号分隔。每个参数的格式为: [ ByVal ] 变量名 [ ( ) ] [ As 类型 ] 其中类型就是 Integer、Single 等,缺省则为变体型。 ByVal:表明该参数是“传值”(Passed By Value)参数,缺省时(相当于 ByRef) 表明该参数是“引用”(Passed By Reference)参数。 一般用不加 ByVal 的“引用”参数即可。 在定义时的参数称为“形式参数”(形参),使用时必须换成“实际参数”(实参)。没有参数的过程称为“无参过程”。无参过程后面的空括号可省略。 (3)Exit Sub 用于在必要时中途退出过程。 (4)Sub 过程不能嵌套。即 Sub 过程的过程体内不能包含内部的 Sub 过程。但调用时可以嵌套。 2. 建立Sub过程 通用 Sub 不属于任何一个事件驱动过程,所以不能把通用 Sub 放在事件过程内部, 应该放在事件过程外面,与事件过程独立开来,即通用 Sub 与事件过程是同一级别的。 建立通用 Sub 的方法如下: 方法1,进入代码窗口,单击“工具”→“添加过程”按钮,打开“添加过程”对话框,然后输入过程名,选择过程的类型,选择过程的作用范围最后单击“确定”按钮,这时代码窗口上方的“对象框”出现“通用”过程,程序区出现过程的开始语句Sub和结束语句End Sub,最后在过程内输入通用过程的过程体。 方法 2,进入代码窗口,光标移到事件过程的外面,这时代码窗口上方的“对象框” 出现“通用”过程,此时可以输入通用过程的所有语句,包括开始语句 Sub 和结束语句 End Sub。 3. 调用Sub过程 调用 Sub 过程就等于执行这个过程。Sub 过程的调用有两种方法: 方法 1,用 Call 语句。 格式:Call 过程名(实参) 如果是无参过程,括号可以省略。 方法 2,把过程名作为一个独立的语句来使用。与 Call 的区别为,去掉 Call,去掉实参的括号。 三、自我探索(以学生自主讨论和操作为主) 设计一个程序,运行程序后当用户单击命令按钮,在指定位置显示 3 个数中最大的那个数。 要求:用户自定义一个子程序zuidazhi,通过调用该子程序实现程序功能。 第七学时 Function过程的定义 一、教师演示案例6-6:制作程序 求1!+2!+3!+4!+5!之和。 1.需求分析:运行程序,在窗体双击鼠标后,窗体将显示1!+2!+3!+4!+5!=153。在本案例中,因为 Visual Basic 标准函数中没有提供阶乘这样的特殊函数,我们需要定义 Function 过程来实现阶乘的计算,因此Function 过程也叫“自定义函数”。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-6。 二、内容讲解 (以教师讲解为主) Function 函数的一般格式为: [Static] [Private] [Public] Function 函数名 [( 形式参数表 )] [As 类型 ] 语句块 [ Exit Function ] 函数名 = 计算结果 End Function 说明: (1)[As 类型 ] 为函数返回值的类型,若省略,则返回变体类型值。 (2)在函数体内至少对函数名进行一次赋值操作。 (3)即使没有参数,函数名后的括号也不能省略。 (4)参数可以是常量、变量或表达式,各参数之间使用逗号隔开。 第八学时 Function过程的调用 1、 教师演示案例6-7:制作程序 求两个数的最大公约数。 1.需求分析:运行程序,在两个文本框中分别输入两个数值,单击窗体上的按钮可以求出刚才我们输入的两个数的最大公约数是多少。在此案例中我们仍然使用Function过程来我们需要的函数。在这个案例中我们可以发现,Function 过程的调用是很简单的,因为我们可以像使用 VB 内部函数一样来调用 Function 过程。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-7。 二、内容讲解 (以教师讲解为主) 调用 Function 过程 Function 过程定义好以后,就成了一个与标准函数一样的函数,调用方法也与标准 函数一样,直接在表达式中调用。其格式为: 过程名 ([ 参数列表 ]) 参数列表:常量、变量或表达式,各参数之间用逗号分隔。如果是数组,在数组名之后必须跟一对空括号。 需要注意:Sub 过程和 Function 过程的主要区别在于有无返回值。Sub 过程没有返回值,而Function 过程有返回值。 过程名也有类型,Sub 过程名没有值,因而也没有“AS 数据类型”以指定函数类型。 三、自我探索(以学生自主讨论和操作为主) 设计一个程序,运行程序后当用户单击命令按钮,在指定位置显示 3 个数中最大的那个数。 要求:用户自定义一个名字为 max 的 Function 过程,通过调用该 Function 过程实现程序功能。 第九学时 形参与实参以及参数的调用 一、教师演示案例6-8和6-9:制作程序 观察两个程序的输出结果有什么不同。 1.需求分析:运行例6-8程序,鼠标单击窗体后观察窗体上显示的内容,体会如何利用传地址的方式来实现传递参数。使用传地址方式来传递参数可以提高过程的独立性,通常只在必要时才使用这种传递参数方式。再运行例6-9程序,这个程序使用的是传值的参数传递方式。通过两个程序体会使用传值方式实现传递参数的结果与使用传地址方式来传递参数结果有什么区别。 2.新建工程创建对象并设置属性 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-8、6-9。 二、内容讲解 (以教师讲解为主) 在调用过程的时候,我们必须把实际参数传递给过程,完成形式参数与实际参数的结合,然后再用实际参数执行调用的过程。参数是用来传送数据的。形式参数又叫形参,是在Sub过程和Function过程的定义中出现的变量名。实际参数又叫实参,是在调用Sub过程或Function过程时传送给Sub过程或Function过程的常数、变量、表达式或数组。形参表中的各个变量和实参表中的各个参数都用逗号来分隔。 在 Visual Basic 语言中,参数通过以按地址传递的方法称为“引用”,在默认的情况下,变量都是通过“引用”来传递 Sub 或 Function 过程的。在这种情况下,可以通过改变过程中相应的参数来改变该变量的值。这意味着,当通过“引用”来传递实参时,有可能改变传递给过程的变量的值。 按地址传递是指将实参的地址传给形参,使形参和实参具有相同的地址,即形参与实参共享同一存储单元。按地址传递可以实现调用过程与子过程之间数据的双向传递。所谓按数值传递就是通过数值传递实际参数,即传递实参时只传递它的数值而不是传递它的地址。在这种情况下,数据的传递是单向的,系统把需要传递的变量复制到一个临时内存中的存储单元中,然后,把该临时单元地址传递给被调用的通用过程。 由于通用过程没有访问变量(实参)的原始地址,因而,不会改变原来变量的值,所有的变化都是在变量的副本上进行的。在Visual Basic语言中,传值方式是通过关键字ByVal来实现的,也就是说,在定义通用过程时,如果形参前面有关键字 ByVal,则该参数用传值方式传递,当缺省关键字ByVal时,系统就默认使用传地址方式传递参数。形参比实参的传递效率要高。 第十学时 对象参数 一、教师演示案例6-10:制作程序 转化预设内容的文字样式。 1.需求分析:运行程序,当我们单击“体会对象参数”命令按钮,文本框中的文字会自动转化为程序预设的文字样式。在以往的程序中我们大多使用变量作为参数,而在这个案例中我们使用对象作为参数。请大家通过这个案例来体会如何使用对象参数中的控件参数完成程序。 3.案例实施:具体步骤略 4.学生操作,教师指导学生完成案例6-10。 二、内容讲解 (以教师讲解为主) 前面我们介绍了用数值、字符串等作为过程的参数,以及如何把这些类型的参数传递给过程。除此之外,由于 VB 与其他传统程序设计语言的不同,VB 还允许用对象即窗体或控件作为通用过程的参数,我们称他们为对象参数。用对象作为参数与一般数据类型作为参数的过程在定义和调用时没有什么区别,所以,在某些情况下,使用对象参数可以简化程序设计,提高效率。 对象作为过程的参数的格式为: Sub < 过程名 > (< 形参表 >) < 语句块 > [Exit Sub] …… …… End Sub 行参表中形参的类型通常为 Control 或 Form。 思考和习题 教 学 后 记 学科网(北京)股份有限公司 $$

资源预览图

模块6 函数与过程(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
1
模块6 函数与过程(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
2
模块6 函数与过程(教案)-《程序设计基础-Visual Basic》同步教学(语文出版社)
3
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。