3.5.3递归法的实现_第1页
3.5.3递归法的实现_第2页
3.5.3递归法的实现_第3页
3.5.3递归法的实现_第4页
3.5.3递归法的实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、求1+2+3+100的和,1+2+3+100,=(1+2+3+98)+99,=1+2,1,递 推,回 归,出口: 1,通式:1加到n的和 =(1加到n-1的和)+n,=(1+2+3+99)+100,递归算法,递归算法,一个函数在定义时,直接或间接地调用了自己,这种算法统称为递归法。,自定义函数,为了实现某种功能而自己编写的一段相对独立的程序,称为自定义函数。,格式: Private function(参数列表)as 类型 语句组 End function,在VB中,通常在通用过程中编写自定义函数,初试身手,任务一: 用递归算法计算1+2+3+100的和,自定义一个函数,求某数的阶乘,Priva

2、te function s(n) As Double If n=1 then s=1 Else s= s(n-1) + n End if End function,如何调用自定义函数,变量=函数名称(参数) 函数名称(参数) Call 函数名称(参数),调用自定义函数s(n),Private Sub Command1_Click() Print “1+2+100的和为; s(100) End Sub,递归算法基本思想: 把规模大的问题变成规模较小的问题,规模较小的问题又变成规模更小的问题,并且小到一定程度直到可以直接得出它的解,从而得到原来问题的解!递归算法必须有边界条件及边界值,小结,优点:结构清晰,可读性强 缺点:耗费计算机资源,效率比较低。,递归法优缺点:,知识迁移,任务二: 用递归算法计算10!,拓展延伸:,猴子第一天摘了若干个桃子,当即吃了一半后,还不过瘾,又多吃了一个。第二天将剩下的桃子吃掉一半,又多吃一个。以后每天都吃了前一天剩下的桃子的一半零一个。到第十天想吃的时候,见只剩下一个桃子了,求第一天共摘了多少桃子。,思考题:猴子吃桃,小提示,第10天 9 8 1,S(10)=1 S(9)=(s(10)+1)*2 S(8)=(s(9)+1)*2 S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论