2.8过程和函数.ppt_第1页
2.8过程和函数.ppt_第2页
2.8过程和函数.ppt_第3页
2.8过程和函数.ppt_第4页
2.8过程和函数.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1过程和函数的概念 VB应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的一部分任务。程序模块分为过程和函数两种。过程强调的是动作,函数强调的是值的计算。,28 过程和函数,过程 可以将程序划分成一个个较小的逻辑单元,每个这样的逻辑单元可以构成一个过程。过程中的代码可以被重复地调用,从而避免了不必要的代码的重复编制,减少了编程的工作量。过程分为两类:一类是事件过理过程,一类是通用过程。 事件处理过程描述的是,当对象X上发生某个事件Y时,需要执行一段程序来响应这个事件,如鼠标单击Click事件过程,窗体加载Load事件过程等;而通用过程则是一个独立的程序段

2、,不同的事件可能需要使用同一个程序段时,可以把这个程序段单独地建成一个通用过程,供其他事件处理过程或其他通用过程调用。,函数 函数是类似于过程的一个程序模块,不同之处是函数执行完成后,函数的计算结果(即“函数返回值”)被送到函数的调用点上(即调用函数的程序位置),供程序的后续部分继续进行处理。 过程与函数的最大区别是:函数有返回值,过程没有返回值。,2事件处理过程 事件过理过程的一般形式参考如下: Sub 事件处理过程名(参数表) 局部变量或常数声明 语句块 Exit Sub 语句块 End Sub Sub过程以Sub开头,以End Sub结束。在Sub与End Sub之间是描述过程操作的语句

3、块,称为子程序体或过程体。过程体可以含有多个Exit Sub的语句,程序执行Exit Sub时提前退出该进程,返回到调用该过程的下一条语句。,事件处理过程名必须符合的规则是:“对象名_事件”的标准名。 VB常用对象的事件处理过程名有: 窗体:Form_Load、Form1_Click 文本框:Text1_Click、Text1_KeyPress、Text1_Change、Text1_DblClick 按钮:Command1_Click 标签:Label1_Click、Label1_DblClick 图像框:Image1_Click 计时器:Timer1_Timer 其中,Load事件是窗体加载

4、事件,Click是鼠标单击事件,DblClick是鼠标双击事件,KeyPress是按下键盘任意键事件,Timer是计时器事件。,建立事件处理过程 打开“代码编辑器”窗口打开“代码编辑器”窗口在Private Sub与End Sub之间输入代码保存工程(分别保存窗体文件和工程文件)。,3自定义函数 虽然VB提供了常用的标准函数,可以使用这些函数来实现某些数学计算或数据类型的转换,但许多应用程序常常需要自己来定义函数,以实现某种特定的计算。 自定义函数建立过程格式如下: Function 函数名(参数表) As 类型名 局部变量或常数声明 语句块 Exit Function 语句块 函数名表达式

5、End Function,自定义函数以Function语句开头,以End Function语句结束。其间是描述过程操作的语句,称为函数体。在函数体内可以含有多个Exit Function语句,程序执行Exit Function语句时,就提前退出函数,返回调用点。 函数名的命令规则与变量名的命名规则相同。在函数体内,可以像使用简单变量一样使用函数名。,参数表是对于函数需要的原始数据的类型进行一一地说明。As后的类型名,是说明函数的计算结果,即函数返回值的数据类型。End Function之前的语句块,描述了函数的计算过程,在这些语句中,至少有一个形如“函数名表达式”的语句,这样,表达式的计算结果

6、才能作为函数的返回值,被VB送到函数的调用点上。 自定义函数的调用比较简单,与内部函数没有什么区别,只不过内部函数由VB提供,而自定义函数由用户自己定义。调用的格式如下:自定义函数名(参数表)。,4列表框控件 列表框ListBox用于列出可供用户选择的项目列表。用户用鼠标单击,被选中的项目即被加亮显示;为了能正确操作,列表框的项目应不少于3项。 (1)列表框属性: 列表框的一般属性包括Enabled(允许)、FontBold(字体加粗)、Visible(可视)等属性。 List属性:即表属性。用于保存列表内容。也可以使用以下形式来访问列表: 对象名List(列表项序号) 其中的“对象名”即为列

7、表框的名称属性值,列表项的序号由上下到依次为0、1、2、3等。,ListCount:列表项目数目。该属性列出列表框的数量。列表框中表项的次序是从0开始的,最后一项为ListCount1。 ListIndex:列表项索引。该属性的值为最后选中的列表项序号,第一个列表项的符号0,如果未选任何表项,则其值为1。 Selected:选择属性。该属性实际上是一个数组,各个元素的值为True或False。每个元素与列表框中的一项相对应。当元素的值为True时,表明选择了该项。例如,执行下面的语句可以测试指定的表项是否被选择: ListBox 列表框Selected(索引值),(2)列表的方法: AddIt

8、em 添加列表项。格式:列表框AddItem ,插入位置序号 该方法只能单个地向表中添加项目,若不指定插入位置,则插入到列表末尾。 Clear 删除列表中所有项目。格式:列表框Clear 执行该语句后,列表框中的内容被清空,ListCount属性重新被置为0. RemoveItem 删除列表项。格式:列表框RemoveItem 删除项序号 该方法每次只能删除一个项目。,(3)列表的事件 列表框可以响应单击(Click)与双击(DblClick)事件,但一般情况下,都使用单击事件。,本节课的学习过程中,需要理解过程与函数的概念,能识记对象常用事件名的含义,能根据算法理解函数或过程的功能,能将代码

9、补充完整。在自定义函数时,注意在函数内需要有函数返回值的表达式。能掌握自定义函数的调用方法。掌握列表框控件的详细使用方法。考查方式为选择题与填空题。,窗体装载事件过程可以对程序进行初始化。VB窗体装载事件过程的名称是() AForm1_Click BForm1_Load CCommand1_Click DText1.Change,B,B,小李在设计VB程序时所使用的单选框对象的属性窗口如下图所示。他想编制该单选框的单击事件处理过程,则该事件处理过程名是 (),AOptionButton_ClickBOption1_Click C单选_ClickD单选框_Click,C,有如下VB程序段: Pr

10、ivate Sub Label1_Click() Dim a As Integer, b As Single a Val(Text1.Text) b a 5 / 3 b b / log(a) Label1.Caption Str(a) End Sub 能运行该段程序的事件是() A单击文本框Text1B单击命令按钮Command1 C单击标签Label1D双击标签Label1,某VB程序段如下: Private Sub Command1_Click() Dim x As Integer, i As Integer For i 3 To 10 Step 2 x i * (i 1) List1Ad

11、dItem Str(x) Next i End Sub,运行程序,单击命令按钮Command1后,弹出如下图所示的出错信息提示:,引起该错误的语句是 () AFor i 3 To 10 Step 2 Bx i * (i 1) CList1AddItem Str(x) DNext i,C,C,5在窗体上画一个名称为List1的列表框,列表框中显示若干城市的名称(如下图所示)。当单击列表框中的某个城市名时,该城市名消失。下列在List1_Click事件过程中能正确实现上述功能的语句是 (),C,AList1.RemoveItem List1.Clear BList1.RemoveItem List

12、1.ListCount CList1.RemoveItem List1.ListIndex DList1.RemoveItem List1.Selectled 注:该示例程序在素材文件夹下vb4文件夹中。,D,6已知VB自定义函数fun(a As Single,b As Single) As Integer,以下赋值语句正确的是() Ax fun(3, 5) “abc” Bx fun(“3”, “5”) 3 Cx fun(3, “a”) “123” Dx fun(3, 5) 6,B,7有如下VB程序段: Private Sub Command1_Click() Dim a As Integer

13、, b As Integer a 9 b 13 Print fun(a, b); a; b End Sub Private Function fun(a As Integer, b As Integer) As Integer a a Mod 5 b b 5 fun a End Function 程序运行时,单击命令按钮Command1,则窗体上的输出结果是() A9132 B442C413 9 D139 2,D,8以下为VB自定义求两数最大公约数函数的代码: Function gcd(a As Integer, b As Integer) As Integer 此处省略语句块内容 End F

14、unction 若要在文本框Text1中输出8、18、24这三个数的最大公约数,下面正确的语句是() AText1.Textgcd(8,18),gcd(18,24),gcd(8,24) BText1.Textgcd(8,18,24) CText1.Textgcd(8),gcd(18),gcd(24) DText1.Textgcd(8,gcd(18,24),Fact(n),9下列VB程序的实现如下功能:程序运行时,在文本框Text1中输入n的 值,单击命令按钮Command1后,调用函数fact计算s1!2!3! n!的值,并在文本框Text2中输出结果。 Private Sub Command

15、1_Click() Dim n As Integer, s As Long n Val(Text1.Text) s _ Text2.Text Str(s) End Sub Function fact(n As Integer) As Long,Dim i As Integer, f As Long, sum As Long sum 0 f 1 For i 1 To n f f * i _ Next i fact sum End Function 为实现该程序的功能,划线处的语句应填写为 注:该示例程序在素材文件夹下vb5文件夹中。,Sum=sum+f,10编写一个VB程序,实现如下功能:在文本

16、框Text1、Text2、Text3中分别输入三个圆的半径长度,单击命令按钮Command1,在文本框Text4、Text5、Text6中分别输入这三个圆的面积。程序代码如下: Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a Val(Text1.Text) b Val(Text2.Text) c Val(Text3.Text) Text4.Text Str(s(a) Text5.Text Str(s(b) Text6.Text End Sub Function s(n As Single) As

17、Single s End Function,Str(s(n),3.1416+n+n,运行界面如下图所示: (1)加框处有错,应改为_。 (2)加框处有错,应改为_。,3.1416*n*n,Str(s(c),注:该示例程序在素材文件夹下vb6文件夹中。,11已知方程 f(x)0 在单调区间 a, b中有唯一的根,用二分法求解方程近似根的算法如下: (1) 求该区间的中点 m(ab)/2,并求出 f(m) 的值; (2) 如果 f(m)0,则根为 m,求解结束; (3) 若 f(m)与 f(a)的值同为正数或者同为负数,则 a m, 否则 b m; (4) 重复第(1) (3) 步,直到满足|ba

18、|小于精确度 e 为止。 编写 VB 程序,使用二分法求解方程 3x34x22.1x2.80 在0,10中的根, 程序设计界面如下图所示:,f,请根据算法将下列程序补充完整。 Function f(x As Single) As Single _ 3 * x 3 4 * x 2 2.1 * x 2.8 End Function Private Sub Command1_Click() Dim a As Single, b As Single, m As Single a 0 b 10 Do While Abs(b a) 0.00001 m (a b) / 2 If f( m) 0 Then Exit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论