《教育专题:28过程和函数.ppt》由会员分享,可在线阅读,更多相关《教育专题:28过程和函数.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1过程和函数的概念过程和函数的概念VB应用程序是按模块化的方式组成的,一个程序模块应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的一部是程序的一部分,每个模块负责解决整个应用问题的一部分任务。程序模块分为过程和函数两种。过程强调的是动分任务。程序模块分为过程和函数两种。过程强调的是动作,函数强调的是值的计算。作,函数强调的是值的计算。28 过程和函数过程和函数过程过程可以将程序划分成一个个较小的逻辑单元,每个这样的可以将程序划分成一个个较小的逻辑单元,每个这样的逻辑单元可以构成一个过程。过程中的代码可以被重复地调逻辑单元可以构成一个过程。过程中的代码可
2、以被重复地调用,从而避免了不必要的代码的重复编制,减少了编程的工用,从而避免了不必要的代码的重复编制,减少了编程的工作量。过程分为两类:一类是事件过理过程,一类是通用过作量。过程分为两类:一类是事件过理过程,一类是通用过程。程。事件处理过程描述的是,当对象事件处理过程描述的是,当对象X上发生某个事件上发生某个事件Y时,时,需要执行一段程序来响应这个事件,如鼠标单击需要执行一段程序来响应这个事件,如鼠标单击Click事件过事件过程,窗体加载程,窗体加载Load事件过程等;而通用过程则是一个独立的事件过程等;而通用过程则是一个独立的程序段,不同的事件可能需要使用同一个程序段时,可以把程序段,不同的
3、事件可能需要使用同一个程序段时,可以把这个程序段单独地建成一个通用过程,供其他事件处理过程这个程序段单独地建成一个通用过程,供其他事件处理过程或其他通用过程调用。或其他通用过程调用。函数函数函数是函数是类类似于似于过过程的一个程序模程的一个程序模块块,不同之,不同之处处是是函数函数执执行完成后,函数的行完成后,函数的计计算算结结果果(即即“函数返回函数返回值值”)被被送到函数的送到函数的调调用点上用点上(即即调调用函数的程序位置用函数的程序位置),供程序,供程序的后的后续续部分部分继续进继续进行行处处理。理。过过程与函数的最大区程与函数的最大区别别是:函数有返回是:函数有返回值值,过过程程没有
4、返回没有返回值值。2事件处理过程事件处理过程事件过理过程的一般形式参考如下:事件过理过程的一般形式参考如下:Sub 事件处理过程名事件处理过程名(参数表参数表)局部变量或常数声明局部变量或常数声明 语句块语句块 Exit Sub 语句块语句块End Sub Sub过程以过程以Sub开头,以开头,以End Sub结束。在结束。在Sub与与End Sub之间是描述过程操作的语句块,称为子程序体或过程体。之间是描述过程操作的语句块,称为子程序体或过程体。过程体可以含有多个过程体可以含有多个Exit Sub的语句,程序执行的语句,程序执行Exit Sub时提时提前退出该进程,返回到调用该过程的下一条语
5、句。前退出该进程,返回到调用该过程的下一条语句。事件处理过程名必须符合的规则是:事件处理过程名必须符合的规则是:“对象名对象名_事件事件”的的标准名。标准名。VB常用对象的事件处理过程名有:常用对象的事件处理过程名有:窗体:窗体:Form_Load、Form1_Click文本框:文本框:Text1_Click、Text1_KeyPress、Text1_Change、Text1_DblClick按钮:按钮:Command1_Click标签:标签:Label1_Click、Label1_DblClick图像框:图像框:Image1_Click计时器:计时器:Timer1_Timer其中,其中,Lo
6、ad事件是窗体加载事件,事件是窗体加载事件,Click是鼠标单击事件,是鼠标单击事件,DblClick是鼠标双击事件,是鼠标双击事件,KeyPress是按下键盘任意键事件,是按下键盘任意键事件,Timer是计时器事件。是计时器事件。建立事件建立事件处处理理过过程程打开打开“代代码编辑码编辑器器”窗口窗口打开打开“代代码编辑码编辑器器”窗口窗口在在Private Sub与与End Sub之之间输间输入代入代码码保存工程保存工程(分分别别保存窗保存窗体文件和工程文件体文件和工程文件)。3自定自定义义函数函数虽虽然然VB提供了常用的提供了常用的标标准函数,可以使用准函数,可以使用这这些函些函数来数来
7、实现实现某些数学某些数学计计算或数据算或数据类类型的型的转换转换,但,但许许多多应应用程序常常需要自己来定用程序常常需要自己来定义义函数,以函数,以实现实现某种特定的某种特定的计计算。算。自定自定义义函数建立函数建立过过程格式如下:程格式如下:Function 函数名函数名(参数表参数表)As 类类型名型名 局部局部变变量或常数声明量或常数声明 语语句句块块 Exit Function 语语句句块块 函数名表达式函数名表达式End Function自定自定义义函数以函数以Function语语句开句开头头,以,以End Function语语句句结结束。其束。其间间是描述是描述过过程操作的程操作的
8、语语句,称句,称为为函数体。函数体。在函数体内可以含有多个在函数体内可以含有多个Exit Function语语句,程序句,程序执执行行Exit Function语语句句时时,就提前退出函数,返回,就提前退出函数,返回调调用点。用点。函数名的命令函数名的命令规则规则与与变变量名的命名量名的命名规则规则相同。在相同。在函数体内,可以像使用函数体内,可以像使用简单变简单变量一量一样样使用函数名。使用函数名。参数表是参数表是对对于函数需要的原始数据的于函数需要的原始数据的类类型型进进行一一地行一一地说说明。明。As后的后的类类型名,是型名,是说说明函数的明函数的计计算算结结果,即函数返回果,即函数返回
9、值值的数据的数据类类型。型。End Function之前的之前的语语句句块块,描述了函数的,描述了函数的计计算算过过程,在程,在这这些些语语句中,至少有一个形如句中,至少有一个形如“函数名表达函数名表达式式”的的语语句,句,这样这样,表达式的,表达式的计计算算结结果才能作果才能作为为函数的返回函数的返回值值,被,被VB送到函数的送到函数的调调用点上。用点上。自定自定义义函数的函数的调调用比用比较简单较简单,与内部函数没有什么区,与内部函数没有什么区别别,只不,只不过过内部函数由内部函数由VB提供,而自定提供,而自定义义函数由用函数由用户户自己自己定定义义。调调用的格式如下:自定用的格式如下:自
10、定义义函数名函数名(参数表参数表)。4列表框控件列表框控件列表框列表框ListBox用于列出可供用用于列出可供用户选择户选择的的项项目列表。用目列表。用户户用鼠用鼠标单击标单击,被,被选选中的中的项项目即被加亮目即被加亮显显示;示;为为了能正确操了能正确操作,列表框的作,列表框的项项目目应应不少于不少于3项项。(1)列表框属性:列表框属性:列表框的一般属性包括列表框的一般属性包括Enabled(允允许许)、FontBold(字字体加粗体加粗)、Visible(可可视视)等属性。等属性。List属性:即表属性。用于保存列表内容。也可以使属性:即表属性。用于保存列表内容。也可以使用以下形式来用以下
11、形式来访问访问列表:列表:对对象名象名List(列表列表项项序号序号)其中的其中的“对对象名象名”即即为为列表框的名称属性列表框的名称属性值值,列表,列表项项的序的序号由上下到依次号由上下到依次为为0、1、2、3等。等。ListCount:列表:列表项项目数目。目数目。该该属性列出列表框的数属性列出列表框的数量。列表框中表量。列表框中表项项的次序是从的次序是从0开始的,最后一开始的,最后一项为项为ListCount1。ListIndex:列表:列表项项索引。索引。该该属性的属性的值为值为最后最后选选中的列中的列表表项项序号,第一个列表序号,第一个列表项项的符号的符号0,如果未,如果未选选任何表
12、任何表项项,则则其其值为值为1。Selected:选择选择属性。属性。该该属性属性实际实际上是一个数上是一个数组组,各,各个元素的个元素的值为值为True或或False。每个元素与列表框中的一。每个元素与列表框中的一项项相相对应对应。当元素的。当元素的值为值为True时时,表明,表明选择选择了了该项该项。例如,。例如,执执行行下面的下面的语语句可以句可以测试测试指定的表指定的表项项是否被是否被选择选择:ListBox 列表框列表框Selected(索引索引值值)(2)列表的方法:列表的方法:AddItem添加列表添加列表项项。格式:列表框。格式:列表框AddItem,插入,插入位置序号位置序号
13、该该方法只能方法只能单单个地向表中添加个地向表中添加项项目,若不指定插入位置,目,若不指定插入位置,则则插插入到列表末尾。入到列表末尾。Clear删删除列表中所有除列表中所有项项目。格式:列表框目。格式:列表框Clear执执行行该语该语句后,列表框中的内容被清空,句后,列表框中的内容被清空,ListCount属性重新被属性重新被置置为为0.RemoveItem删删除列表除列表项项。格式:列表框。格式:列表框RemoveItem 删删除除项项序号序号该该方法每次只能方法每次只能删删除一个除一个项项目。目。(3)列表的事件列表的事件列表框可以响列表框可以响应单击应单击(Click)与双与双击击(D
14、blClick)事件,但一事件,但一般情况下,都使用般情况下,都使用单击单击事件。事件。本本节课节课的学的学习过习过程中,需要理解程中,需要理解过过程与函数的概念,能程与函数的概念,能识识记对记对象常用事件名的含象常用事件名的含义义,能根据算法理解函数或,能根据算法理解函数或过过程的功能,程的功能,能将代能将代码补码补充完整。在自定充完整。在自定义义函数函数时时,注意在函数内需要有函,注意在函数内需要有函数返回数返回值值的表达式。能掌握自定的表达式。能掌握自定义义函数的函数的调调用方法。掌握列表用方法。掌握列表框控件的框控件的详细详细使用方法。考使用方法。考查查方式方式为选择题为选择题与填空与
15、填空题题。1.1.窗体装载事件过程可以对程序进行初始化。窗体装载事件过程可以对程序进行初始化。VB窗体窗体装载事件过程的名称是装载事件过程的名称是()AForm1_Click BForm1_LoadCCommand1_Click DText1.ChangeB B B B 2.小李在小李在设计设计VB程序程序时时所使用的所使用的单选单选框框对对象的属性窗口如象的属性窗口如下下图图所示。他想所示。他想编编制制该单选该单选框的框的单击单击事件事件处处理理过过程,程,则则该该事件事件处处理理过过程名是程名是 ()AOptionButton_ClickBOption1_ClickC单选单选_ClickD
16、单选单选框框_ClickC C 3.有如下有如下VB程序段:程序段:Private 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单击命令按钮单击命令按钮Command1C单击标签单击标签Label1D双击标签双击标签Label14.某某VB程序段如下:程序段如下:Private Sub Command1_Click()Dim x As In
17、teger,i As Integer For i 3 To 10 Step 2 x i*(i 1)List1AddItem Str(x)Next iEnd Sub运行程序,单击命令按钮运行程序,单击命令按钮Command1后,弹出如后,弹出如下图所示的出错信息提示:下图所示的出错信息提示:引起该错误的语句是引起该错误的语句是 ()AFor i 3 To 10 Step 2 Bx i*(i 1)CList1AddItem Str(x)DNext iC C C C5在窗体上画一个名称在窗体上画一个名称为为List1的列表框,列表框中的列表框,列表框中显显示若干城示若干城市的名称市的名称(如下如下图
18、图所示所示)。当。当单击单击列表框中的某个城市名列表框中的某个城市名时时,该该城城市名消失。下列在市名消失。下列在List1_Click事件事件过过程中能正确程中能正确实现实现上述功能上述功能的的语语句是句是 ()C AList1.RemoveItem List1.Clear BList1.RemoveItem List1.ListCount CList1.RemoveItem List1.ListIndex DList1.RemoveItem List1.Selectled注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb4文件夹中。文件夹中。D D6已知已知VB自定自定义义函数函
19、数fun(a As Single,b As Single)As Integer,以下,以下赋值语赋值语句正确的是句正确的是()Ax fun(3,5)“abc”Bx fun(“3”,“5”)3Cx fun(3,“a”)“123”Dx fun(3,5)6B B7有如下有如下VB程序段:程序段:Private Sub Command1_Click()Dim a As Integer,b As Integer a 9 b 13 Print fun(a,b);a;bEnd SubPrivate Function fun(a As Integer,b As Integer)As Integer a a M
20、od 5 b b 5 fun aEnd Function程序运行时,单击命令按钮程序运行时,单击命令按钮Command1,则窗体上的输出结果是,则窗体上的输出结果是()A9132 B442C413 9 D139 2D D8以下为以下为VB自定义求两数最大公约数函数的代码:自定义求两数最大公约数函数的代码:Function gcd(a As Integer,b As Integer)As Integer 此处省略语句块内容此处省略语句块内容 End Function若要在文本框若要在文本框Text1中输出中输出8、18、24这三个数的最大公约数,下这三个数的最大公约数,下面正确的语句是面正确的语
21、句是()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)Fact(n)9下列下列VB程序的实现如下功能:程序运行时,在文本框程序的实现如下功能:程序运行时,在文本框Text1中输入中输入n的的值,单击命令按钮值,单击命令按钮Command1后,调用函数后,调用函数fact计算计算s1!2!3!n!的值,并在文本框!的值,并在文本框Text2中输出结果。中输出结果。Private Su
22、b Command1_Click()Dim n As Integer,s As Long n Val(Text1.Text)s _ Text2.Text Str(s)End SubFunction 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 sumEnd Function为实现该程序的功能,划线处的语句应填写为为实现该程序的功能,划线处的语句应填写为注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb5文件夹中。文件夹
23、中。Sum=Sum=sum+fsum+f10编写一个编写一个VB程序,实现如下功能:在文本框程序,实现如下功能:在文本框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(
24、Text3.Text)Text4.Text Str(s(a)Text5.Text Str(s(b)Text6.Text End SubFunction s(n As Single)As Single s End FunctionStr(s(n)3.1416+n+n运行界面如下运行界面如下图图所示:所示:(1)加框加框处处有有错错,应应改改为为_。(2)加框加框处处有有错错,应应改改为为_。3.1416*n*nStr(s(c)注:注:该该示例程序在素材文件示例程序在素材文件夹夹下下vb6文件文件夹夹中。中。11已知方程已知方程 f(x)0 在在单调单调区区间间 a,b中有唯一的根,用二分中有唯一
25、的根,用二分法求解方程近似根的算法如下:法求解方程近似根的算法如下:(1)求求该该区区间间的中点的中点 m(ab)/2,并求出,并求出 f(m)的的值值;(2)如果如果 f(m)0,则则根根为为 m,求解,求解结结束;束;(3)若若 f(m)与与 f(a)的的值值同同为为正数或者同正数或者同为负为负数,数,则则 a m,否否则则 b m;(4)重复第重复第(1)(3)步,直到步,直到满满足足|ba|小于精确度小于精确度 e 为为止。止。编编写写 VB 程序,使用二分法求解方程程序,使用二分法求解方程 3x34x22.1x2.80 在在0,10中的根,中的根,程序程序设计设计界面如下界面如下图图
26、所示:所示:f请请根据算法将下列程序根据算法将下列程序补补充完整。充完整。Function f(x As Single)As Single_ 3*x 3 4*x 2 2.1*x 2.8End FunctionPrivate Sub Command1_Click()Dim a As Single,b As Single,m As Singlea 0b 10Do While Abs(b a)0.00001 m (a b)/2 If f(m)0 Then Exit Do _LoopLabel1.Caption “x”&Str(m)End SubIf(f(m)0 And f(a)0)Or(If(f(m
27、)0 And f(a)0 Then a=m Else b=m12(操作题操作题)修改素材文件夹下修改素材文件夹下vb7文件夹中的工程文件文件夹中的工程文件“工程工程1.vbp”,使其具有下列功能:单击,使其具有下列功能:单击“玩一局玩一局”按钮,在按钮,在“本人本人”下方的图像框下方的图像框Image1中显示本人随机掷出的骰子图片,同时在中显示本人随机掷出的骰子图片,同时在“电脑电脑”下方的图像框下方的图像框Image2中显示电脑自动掷出的骰子图片,并在标签中显示电脑自动掷出的骰子图片,并在标签Label3中显示结果。中显示结果。程序运行效果如下图所示:程序运行效果如下图所示:完善界面。参照上
28、图所示,将窗体完善界面。参照上图所示,将窗体Form1中的中的Caption属性修改属性修改为为“掷骰子游戏掷骰子游戏”,并将标签,并将标签Label3中的中的Caption属性设置为空。属性设置为空。完成下列操作:完成下列操作:参照效果参照效果图图所示,向窗体所示,向窗体Form1中添加中添加图图片框片框Image1,并将,并将其其Picture属性属性值设值设置置为为“Image”文件文件夹夹中的中的“1.bmp”编编制程序代制程序代码码。选择选择命令按命令按钮钮Command1的相的相应应事件事件过过程,程,将将“vb7”文件文件夹夹下下“code.txt”文件中所有代文件中所有代码码复制到复制到该过该过程中。程中。调试调试并运行程序。运行程序,并运行程序。运行程序,单击单击命令按命令按钮钮“玩一局玩一局”,在本,在本人下方的人下方的图图像框中与像框中与电脑电脑下方的下方的图图像框中像框中显显示的是相同的示的是相同的图图片。改片。改正正这这一一错误错误,使在程序运行,使在程序运行时时,在,在电脑电脑下方的下方的图图像框像框Image2中中显显示示电脑掷电脑掷出的骰子出的骰子图图片。片。保存窗体文件和工程文件,生成可保存窗体文件和工程文件,生成可执执行程序行程序“game.exe”并保并保存到存到“vb7”文件文件夹夹下。下。