欢迎来到天天文库
浏览记录
ID:45098732
大小:1.42 MB
页数:65页
时间:2019-11-09
《《VB子过程子函数》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、项目四过程编写1共74页主要内容求组合数函数过程的定义和调用竞赛评分子过程的定义和调用参数传递可选参数变量的作用域函数过程和子过程的作用域共74页2活动一求组合数活动说明某班有m名学生,要选派n名学生参加合唱队,计算有多少种选派方法。程序界面如图所示。共74页3活动一求组合数活动分析本例是一个计算组合数的例子,可以利用如下组合数公式进行计算:在组合公式中,三次用到了求阶乘,其算法相同。对于算法相同的程序段,可以独立编写成函数过程。在程序中用到这段程序时,只需调用这一函数过程。共74页4函数过程的定义、调用-1函数(Function)过程的定义、调
2、用定义函数过程函数过程定义的格式:[Private
3、Public]Function<函数过程名>(<参数列表>)[As<类型>]<语句块><函数过程名>=<表达式>或Return<表达式>[ExitFunction][<语句块>][<函数过程名>=<表达式>]或Return<表达式>EndFunction共74页5学习支持函数过程返回值的数据类型函数过程的定义、调用-2函数过程由Function语句声明它的名称、参数以及构成其主体的代码Private
4、Public:用于指出函数过程被调用的范围。Public表示函数过程是公共(全局)过程,Publ
5、ic函数过程可在整个项目内被调用。Private函数过程是局部过程,只能被包含其声明的窗体或模块调用。省略时,系统默认为是“Private”。共74页6学习支持函数过程的定义、调用-3参数列表:指明了参数类型和个数。每个参数的格式为:[ByVal
6、ByRef]<变量名>[()][As<类型>]在定义函数过程时,“参数列表”中的参数为形式参数(Formalparameter。形参只能是变量名或数组名(数组名后加“()”),定义时没有值,参数名之间用逗号分隔。函数过程没有参数时,函数过程名后的括号不能省。当参数为类、数组、接口、字符串类型时,默认的参
7、数传递方式是按地址传递。共74页7学习支持表示其后的参数是按值传递还是按地址传递参数类型函数过程的定义、调用-4“As<类型>”:定义函数过程返回值的数据类型。如省略,则为Variant。函数过程直接返回一个值到调用处,因此在函数过程体中至少要对“函数过程名”赋一次值;或用Return(表达式)。“ExitFunction”:退出函数过程。共74页8学习支持函数过程的定义、调用-5定义函数过程的操作利用命令定义函数过程在代码窗口中,将光标置于所有过程之外,右击鼠标,在快捷菜单中单击“插入代码段”命令,在弹出的下拉列表中,双击“通用代码模式”选项。
8、在弹出的列表中双击“属性和过程”命令。在弹出的第三级下拉列表中双击“定义函数”命令。由此建立了一个函数过程的模板,在其中输入函数过程代码。模板中的函数名可以更改。在代码窗口定义函数过程在代码窗口所有过程之外,直接输入定义函数过程的代码。共74页9学习支持函数过程的定义、调用-6函数过程的调用函数过程的调用和标准函数相同,格式如下:函数过程名([参数列表])参数列表:列表中的参数称为实际参数(Actualparameter),简称实参。实参的个数、位置、类型与形参完全一致。实参可以是同类型的常量、变量和表达式。如果是数组,省略维数和括号。与标准函数
9、一样,函数过程不能作为单独的语句使用,只能作为表达式或表达式中的一部分。共74页10学习支持函数过程的定义、调用-7例4-1-1:编写计算n!的函数过程。n!=n×(n-1)×(n-2)…×2×1分析:编写计算n!的函数过程,n是一个自变量。因此在函数过程中,将n作为一个参数。共74页11学习支持函数过程的定义、调用-8在代码窗口的窗体模块声明段中定义函数过程:共74页12学习支持PublicClassForm1PublicFunctionfactorial(ByvalnAsInteger)AsDoubleDimtasDouble,iAsInte
10、gert=1Fori=1Tont=t*iNextiReturntEndFunctionEndClass函数过程的定义、调用-9共74页13学习支持单击“计算”按钮的事件过程:PrivateSubButton1_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)HandlesButton1.ClickLabel3.Text=factorial(Val(TextBox1.Text))EndSub单击“清除”按钮的事件过程:PrivateSubButton2_Click(ByValsenderAsO
11、bject,_ByValeAsSystem.EventArgs)HandlesButton2.ClickTextbox1.Text=""
此文档下载收益归作者所有