VB过程与函数课件.ppt
《VB过程与函数课件.ppt》由会员分享,可在线阅读,更多相关《VB过程与函数课件.ppt(17页珍藏版)》请在冰豆网上搜索。
复习与回顾复习与回顾2、For语句一定可以改成语句一定可以改成Do语句,反之不一定成立。
语句,反之不一定成立。
11、ForFor语句与语句与DoDo语句的区别语句的区别(11)forfor语句:
语句:
事先可知循环次数,事先可知循环次数,通过通过次数次数控制循控制循环;循环体先执行后判断环;循环体先执行后判断次数次数完否,完否,至少执行一次循至少执行一次循环环;控制循环控制循环次数次数的的循环变量的值会按步长自动变化,循环变量的值会按步长自动变化,循环会循环会自动结束。
自动结束。
(22)dodo语句:
语句:
事先可不知循环次数,事先可不知循环次数,通过通过条件条件控控制循环;制循环;条件条件先判断后执行循环体,先判断后执行循环体,循环次数可以循环次数可以为为00次次;控制;控制循环循环条件条件的主要变量的值必须在的主要变量的值必须在循环体循环体中改中改变,并要最终能终止循环。
变,并要最终能终止循环。
(1)、有以下程序段:
Fori=1To3Forj=1To5s=i*jNextjNexti则语句s=i*j的执行次数是()(A)15(B)16(C)17(D)183、程序阅读、程序阅读A
(2)、有如下程序段:
x=1y=0DoWhilex10x=x*2y=y+1Loop该程序段运行后,y的值为()(A)0(B)2(C)3(D)43、程序阅读、程序阅读D4.44.4过程与函数过程与函数一、概念:
VB应用程序是按模块化的方式组成的,每个模块完成一部分任务。
模块分成两种:
模块分成两种:
1.过程过程2.函数函数过程:
强调的是动作,比如显示一个对话框过程:
强调的是动作,比如显示一个对话框MsgBox你输入东西了,哈哈你输入东西了,哈哈“函数:
强调的是值的计算,如求算术平方根,函数:
强调的是值的计算,如求算术平方根,sqr(5)过程:
将程序划分为一个个较小的逻辑单元,每个逻辑单元构成一个过程。
过程中的代码被重复的调用。
过程分为:
事件处理过程和通用过程。
二、过程的分类:
$4.4过程与函数模块分成两种:
模块分成两种:
1.过程过程2.函数函数过程:
强调的是动作,比如显示一个对话框过程:
强调的是动作,比如显示一个对话框MsgBoxMsgBox你输入东西了,哈哈你输入东西了,哈哈“函数:
强调的是值的计算,如求算术平方根,函数:
强调的是值的计算,如求算术平方根,sqr(5)sqr(5)二、过程的分类:
(11)事件处理过程:
当对象)事件处理过程:
当对象XX上发生某个事件上发生某个事件YY时,需要执行一段程序来响应这个事件。
时,需要执行一段程序来响应这个事件。
常用格式常用格式sub对象名对象名_事件的标准名(参数表)事件的标准名(参数表)语句块语句块endsub如:
如:
PrivatePrivateSubSubCommand1_Click()Command1_Click()a=a=InputBoxInputBox(请输入你的姓名请输入你的姓名:
):
)MsgBoxMsgBox(a+(a+我知道你了,哈哈我知道你了,哈哈!
)!
)EndSubEndSub事件处理过程名事件处理过程名事件处理过程名事件处理过程名
(2)通用过程(教材省略,不作要求)通用过程(教材省略,不作要求)三、事件处理过程三、事件处理过程11、例:
文本框、例:
文本框11,内容改变事件,内容改变事件PrivatePrivateSubSubText1_Change()Text1_Change()MsgBoxMsgBox你输入东西了,哈哈你输入东西了,哈哈“EndSubEndSub22、事件处理过程名事件处理过程名=对象名对象名__事件的标准名事件的标准名对象名对象名:
文本框文本框(Text)(Text)、命令按钮(、命令按钮(CommandCommand)、标)、标签签(label)(label)事件事件的标准的标准名名单击单击(click)(click)、双击、双击(DblclickDblclick)、改、改变内容变内容(change)(change)、键盘按下(键盘按下(KeyPressKeyPress)(参见教材参见教材P84P84表表4.4.1)4.4.1)44、事件处理过程、事件处理过程以以subsub开始,并且以开始,并且以endsubendsub结束结束四、过程的调用四、过程的调用四、过程的调用四、过程的调用PrivateSubCommand1_Click()PrivateSubCommand1_Click()DimaAsStringDimaAsStringLabel2.Caption=(Label2.Caption=(请输入你的姓名请输入你的姓名:
):
)a=Text2.Texta=Text2.TextIfaThenIfaThenPicture1.Print(a+Picture1.Print(a+我知道你了,哈哈我知道你了,哈哈!
)!
)EndIfEndIfEndSubEndSubPrivateSubLabel1_Dblclick()PrivateSubLabel1_Dblclick()Picture1.PrintPicture1.Print你双击我了,哈哈你双击我了,哈哈!
Command1_ClickCommand1_ClickEndSubEndSubPrivateSubText1_Change()PrivateSubText1_Change()Picture1.PrintPicture1.Print你输入东西了,哈哈你输入东西了,哈哈Command1_ClickCommand1_ClickEndSubEndSub演示演示“函数与过程调用工程中的过程调用函数与过程调用工程中的过程调用(Form1)Form1)”五、函数五、函数函数也是一个程序模块,不同之处是函数执行完后会返回一个函数值。
函数的函数值是通过函数名返回的五、函数五、函数
(一)函数分为标准函数和自定义函数
(一)函数分为标准函数和自定义函数11、标准函数:
、标准函数:
(11)、常用数学函数:
)、常用数学函数:
Abs(x)Int(x)Sqr(x)Exp(x)Log(x)Sin(x)Cos(x)Tan(x)(22)、类型转化函数和字)、类型转化函数和字符串函数:
符串函数:
Asc(x)asc(“A”)=65Chr(x)chr(48)=“0”Val(x)val(“170”)=170Str(x)str(170)=“170”Len(x)len(“asd”)=3Mid(x,n,k)如:
mid(“abcde”,3,2)=“cd”Fix(x)fix(2.56)=22、自定义函数自定义函数的格式:
Function函数名(参数表)函数名(参数表)AS类型名类型名语句块语句块(其中至少有一个语句是(其中至少有一个语句是:
函数名函数名=表达式)表达式)EndFunction例例例例:
Function:
Functionou(aou(a)AsString)AsStringIfaMod2=0ThenIfaMod2=0Thenouou=该数为偶数!
该数为偶数!
该数为偶数!
该数为偶数!
ElseElseouou=该数为奇数!
该数为奇数!
该数为奇数!
该数为奇数!
EndIfEndIfEndFunctionEndFunction这样表达式这样表达式的结果才能的结果才能作为函数的作为函数的返回值返回值PrivateSubText1_Change()DimaAsIntegera=Val(Text1.Text)Label2.Caption=ou(a)EndSubFunctionou(a)AsStringIfaMod2=0Thenou=该数为偶数!
该数为偶数!
Elseou=该数为奇数!
该数为奇数!
EndIfEndFunction
(二)、调用
(二)、调用(使用使用)函数函数应用实例应用实例:
判断一个数是否为偶数判断一个数是否为偶数演示演示“函数与过程调用工程中的函数调用函数与过程调用工程中的函数调用(Form2)Form2)”应用实例:
在文本框text1和text2中输入两个整数,单击按钮对象command1,在标签label1中显示这两个数的较大数。
Founctionbig(x,y)asintegerifxythenbig=xelsebig=yEndifEndFounctionprivatesubcommand1_click()dima1,a2asintegera1=val(text1.text)a2=val(text1.text)Label1.caption=Big(a1,a2)分析:
自定义函数big用于求两个整数中的较大数由于输入的整数是a1,a2。
即调用函数时对应的参数为a1,a2,而不是x,y,因此答案为Big(a1,a2)六、模块化程序设计的方法1、把判断、把判断A是否是否为偶数为偶数为偶数为偶数这样的一个过程从整个程序中分这样的一个过程从整个程序中分离出来,成为一个独立的模块,离出来,成为一个独立的模块,(模块可以是函数,也模块可以是函数,也可以是过程可以是过程),这是一种模块化程序设计方法。
,这是一种模块化程序设计方法。
2、VB应用程序是按模块化的方式组成的,一个程序模应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的块是程序的一部分,每个模块负责解决整个应用问题的一部分。
一部分。
3、使用这样的方法的好处是:
、使用这样的方法的好处是:
、使程序设计结构简单化、使程序设计结构简单化、过程规模小,容易调用和维护、过程规模小,容易调用和维护、过程可以被反复使用,从而避免了重复编码、过程可以被反复使用,从而避免了重复编码七、总结七、总结:
VbVb是一种基于模块化的设计方法,函数与过是一种基于模块化的设计方法,函数与过程是模块的具体实现。
程是模块的具体实现。
调用过程相当于执行了一条语句(过程名),调用过程相当于执行了一条语句(过程名),强调的是动作,它不返回值。
调用函数时,强调的是动作,它不返回值。
调用函数时,强调的是表达式中值的计算,返回值由函数强调的是表达式中值的计算,返回值由函数名带回。
名带回。
PublicFunctionf(m,n)AsIntegerDoWhilemnDoWhilemnm=m-nLoopDoWhilenmn=n-mLoopLoopf=mEndFunctionPrivateSubCommand1_Click()Text1.Text=Str(f(24,18)EndSub运行结果运行结果:
6函数函数f的功能是的功能是:
求最大公约数求最大公约数演示:
“函数与过程调用工程中的函函数与过程调用工程中的函数调用阅读练习数调用阅读练习(Form3,Form4)Form3,Form4)”