《过程与函数》PPT课件

《过程与函数》PPT课件

ID:42054066

大小:815.50 KB

页数:42页

时间:2019-09-07

《过程与函数》PPT课件_第1页
《过程与函数》PPT课件_第2页
《过程与函数》PPT课件_第3页
《过程与函数》PPT课件_第4页
《过程与函数》PPT课件_第5页
资源描述:

《《过程与函数》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、掌握Sub过程和Function函数过程的定义和调用方法;掌握传址和传值两种参数传递方式的区别及其用途;熟悉数组参数的使用方法;了解过程的嵌套调用和递归调用的执行过程;掌握过程作用域的有关概念;掌握变量的作用域和生存期。本章要求:本章重点:Sub过程及Function过程的定义与调用。过程调用中数据的传递。过程与变量的作用域。本章难点:过程调用中数据的传递。第6章过程与函数VisualBasic函数分为内部函数和自定义函数,自定义函数是用户根据需要用Function关键字定义的函数过程。6.1.1函数过程(F

2、unction过程)的定义[Public

3、Private][Static]Function函数名([<参数列表>])[As<类型>]<局部变量或常数定义><语句块>[函数名=返回值][ExitFunction]<语句块>[函数名=返回值]EndFunction函数体6.1Function过程Function定义示例(两种方式)调用形式:函数名(实参列表)说明:在调用时实参和形参的数据类型、顺序、个数必须匹配。函数调用只能出现在表达式中,其功能是求得函数的返回值。6.1.2函数的调用PrivateSubForm

4、_Click()Dimx%,y%,z%x=Val(InputBox("输入一个正整数x:"))y=Val(InputBox("输入一个正整数y:"))z=gcd(x,y)Printx&"与"&y&"的最大公约数为:"&zEndSub例6.2打印出100到200之间的所有素数FunctionIsPrime(n%)AsBooleanDimk%IsPrime=True'先假定n是素数Fork=2ton-1Ifnmodk=0ThenIsPrime=False'确定n是不素数,返回FalseExitFunction'退

5、出函数,也可用ExitFor或k=nEndIfNextk'For循环正常结束时,n是素数,返回TrueEndFunctionPrivateSubForm_Click()Dimi%,k%k=0'k用来记录素数的个数,初始值为0Fori=101to199Step2'偶数不可能是素数IfIsPrime(i)ThenPrinti;k=k+1IfkMod10ThenPrintEndIfNextiEndSub6.1.3函数的递归调用递归函数的三个要点①要有一个结束递归的条件。②递归结束时,要有一个明确的值。③要有一个求值

6、的递归公式,且递归能向结束条件的方向发展。例6.4用递归算法求一个正整数的阶乘。PrivateFunctionfac(nAsInteger)AsLongIfn=1Orn=0Then'结束递归的条件fac=1'结束递归时,函数的值为1Elsefac=n*fac(n-1)'递归公式EndIfEndFunctionPrivateSubCommandl_Click()Dimk%k=Val(InputBox("输入一个正整数k"))Printk&"!="&fac(k)EndSub递归函数的执行过程递归程序示例能够用递推

7、算法解决的问题,大多数都能用递归算法来实现!'猴子吃桃问题PrivateFunctiontao(mAsInteger)AsIntegerIfm=7Then'第7天只剩下一个桃tao=1'结束递归时,函数的值为1Elsetao=2+2*tao(m+1)'递归公式EndIfEndFunction'求最大公约数的函数PrivateFunctiongcd2%(ByValm%,ByValn%)IfmModn=0Thengcd2=nElsegcd2=gcd2(n,mModn)EndIfEndFunction6.2Sub过

8、程6.2.1Sub过程的定义[Public

9、Private][Static]Sub过程名([形参表])<局部变量或常数定义><语句块1>[ExitSub]<语句块2>EndSub说明:<过程名>的命名规则与变量名规则相同。过程名不返回值,不能当变量使用。Sub过程的调用形式:子过程名[参数列表]Call子过程名(参数列表)说明:(1)参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。(2)调用时把实参值传递给对应的形参。6.2.2过程的调用或PrivateSubSwap(ByRefx%,y

10、AsInteger)….Callswap(a,b)Swapa,b例6.5交换两个变量值的Sub过程PrivateSubSwap(x%,yAsInteger)DimtempAsIntegertemp=x:x=y:y=tempEndSubPrivateSubCommand1_click()Dima%,b%a=15:b=20Print"BeforeSwap(a,b):a=";a,"b=";bCallswa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。