函数和过程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12主要介绍:•定义Sub过程•定义Function函数过程•调用Sub过程或Function函数过程编写过程,可以实现代码重复使用。38.1.1什么是过程•过程是编写程序的功能模块•使用过程主要有以下两方面的原因:1.可以把复杂的问题简单化•任务分解为子任务,子任务用过程实现•使程序结构清晰、易读,也便于调试和维护。2.可以实现代码重复使用•可以避免重复编写的烦琐•可以减少出错。45•通用过程又分两类:•Sub过程(子过程、子程序)•往往用于处理不需要有返回值的一些基本任务•如显示矩阵。•Function函数过程:•可作为函数使用,它一般应有一个返回值•如求阶乘。68.4.1定义Sub过程•Sub过程一般指通用子过程,可在程序中调用执行,执行完毕后无返回值。•格式:Sub过程名([参数列表])[语句块]EndSub71.关于格式•过程名的命名方式与变量名命名一致。•参数列表为调用时传递给Sub过程的参数,用逗号间隔。•Sub过程也可以没有参数,但括号不可省。•Sub和EndSub必须成对出现82.关于语句块•语句块即为过程体,与事件过程的代码编写一样•包含变量声明和可执行的语句、方法等•可以由顺序、分支、循环三种结构综合而成。•语句块中可直接使用参数Sub过程名([参数列表])[语句块]EndSub9•完整代码应为:SubHello(XXX)Document.write(XXX&你好!“)EndSub•以上过程的过程名为Hello•参数为XXX•过程体只用了一句,并同时使用了参数XXX。10•程序中使用调用语句可调用Sub过程•过程运行完毕或跳出过程运行后,返回到调用处。1.调用Sub过程的方法使用以下两种格式之一:格式一:过程名[参数列表]格式二:Call过程名[(参数列表)]例如Hello过程,可以使用:Hello王小红或CallHello(王小红)11【例】分析以下程序:SubA(n)DimiFori=1TonDocument.write(i)NextCallBEndSubSubB()Document.write(BBBBBB“)EndSubCallA(9)A9A(9)122、定义Function函数过程•Function函数过程执行完毕后有一个返回值。而SUB过程没有返回值。•函数过程定义后,可像系统函数一样使用。•格式:Function函数名([参数列表])[函数体]EndFunction131.关于格式•函数名、参数列表的要求与Sub过程的过程名、参数相同。•Function必须在EndFunction之前出现,且必须成对148.5.1定义Function函数过程2.关于函数体•函数体是一系列用于完成某一功能的代码•包含变量声明和可执行语句•可由顺序、分支、循环三种结构合成。一般格式:[语句块]函数名=表达式[语句块]•一般,函数体中应有一句“函数名=表达式”,•表示该表达式的值就作为函数的返回值•该表达式的类型应该与函数的类型说明一致153.函数定义步骤•同编写过程一样,在“通用”对象代码窗口输入函数首行。•如定义函数过程Max,实现求三个数的最大值:FunctionMax(a,b,c)Max=aIfbMaxThenMax=bIfcMaxThenMax=cEndFunction•以上函数过程的过程名为Max•参数a、b、c•函数体中多次使用了函数名Max,并使用了参数168.5.2调用Function函数过程•调用格式:函数过程名[(实参数列表)]•调用函数往往在可以使用表达式的代码中出现,只要类型相同就可以了。•如对Max函数过程,可以使用:A=Max(1,43,5)17【例8-4】编程计算。要求计算n!使用函数过程Factorial(n)实现。)!(!!nmnm18•FunctionFactorial(N)'函数过程,求n!Dimi,T•T=1•Fori=1ToN•T=T*i•Next•Factorial=T•EndFunction•DimM,N•N=inputbox(输入一个数n)•m=Factorial(n)•Document.write(N&的阶乘为&m))!(!!nmnm19用递归实现求阶乘•递归调用是指在一个过程内直接或间接调用自己。【例】利用递归调用编写的求n!的函数Factorial(n)。•求n!时,n!=n×(n-1)!,(n-1)!=(n-1)×(n-2)!,……,若知道1!=1或0!=1,则可回推可以算出n!。•在求n!时要调用Factorial(n-1),产生了递归调用。FunctionFactorial(n)Ifn=0Orn=1ThenFactorial=1ElseFactorial=n*Factorial(n-1)EndIfEndFunction

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功