《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt

上传人(卖家):晟晟文业 文档编号:4301446 上传时间:2022-11-27 格式:PPT 页数:24 大小:266KB
下载 相关 举报
《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt_第1页
第1页 / 共24页
《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt_第2页
第2页 / 共24页
《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt_第3页
第3页 / 共24页
《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt_第4页
第4页 / 共24页
《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、从前有座山,山里有个庙,庙里从前有座山,山里有个庙,庙里有个老和尚讲故事,讲什么呢?有个老和尚讲故事,讲什么呢?从前有座山,山里有个庙从前有座山,山里有个庙从前有座山从前有座山你的眼睛你的眼睛他的眼睛他的眼睛函数函数A函数函数A函数函数B 如果一个函数在定义时,直接如果一个函数在定义时,直接或间接地调用了自己,这种算或间接地调用了自己,这种算法在程序设计中统称为递归法。法在程序设计中统称为递归法。和尚移盘和尚移盘 一个庙里有三个柱子(一个庙里有三个柱子(A,B,C),第一),第一个柱子(个柱子(A)有)有7 7个盘子,从上往下盘子越来越个盘子,从上往下盘子越来越大。要求庙里的老和尚把这大。要求

2、庙里的老和尚把这7 7个盘子全部移动到个盘子全部移动到第三个柱子(第三个柱子(C)上。)上。规则:规则:1、一次只能移动一个盘子、一次只能移动一个盘子 2、移动的时候始终只能小盘子压着大盘子、移动的时候始终只能小盘子压着大盘子 3、A柱和柱和C柱不能相互直接移动。柱不能相互直接移动。第一个第一个和尚想法和尚想法 要是有一个人能把前要是有一个人能把前6个盘子移动好,我移个盘子移动好,我移动最后一个盘子,我的任务就能完成了。动最后一个盘子,我的任务就能完成了。Pan(7)=2+pan(6)*3第二个第二个和尚想法和尚想法 要是有一个人能把前要是有一个人能把前5个盘子先移动好,我个盘子先移动好,我移

3、动最后一个盘子,我的任务也能完成了。移动最后一个盘子,我的任务也能完成了。Pan(6)=2+pan(5)*3 一直找下去,直到找到第六个一直找下去,直到找到第六个和尚为止和尚为止 pan(2)=2+pan(1)*3 第七个第七个和尚移盘和尚移盘 把第一个盘子先移动到第二个柱子上,然把第一个盘子先移动到第二个柱子上,然后再移动到第三个柱子上。后再移动到第三个柱子上。Pan(1)=2 第六个第六个和尚移盘和尚移盘Pan(2)=2+pan(1)*3=8 第五个第五个和尚移盘和尚移盘Pan(3)=2+pan(2)*3=26Pan(7)=2+pan(6)*3=2186 第一个第一个和尚移盘和尚移盘Pan

4、(7)=2+pan(6)*3Pan(6)=2+pan(5)*3Pan(5)=2+pan(4)*3Pan(4)=2+pan(3)*3Pan(3)=2+pan(2)*3Pan(2)=2+pan(1)*3Pan(1)=2递归算法的实现方式递归算法的实现方式:函数的调用函数的调用和尚移盘算法的实现方式和尚移盘算法的实现方式:自定义函数的调用自定义函数的调用和尚移盘算法的自定义函数:和尚移盘算法的自定义函数:pan(n)和尚移盘算法的实现:和尚移盘算法的实现:盘子个数123456789盘子移动数2826802427282186656019682Pan(n)=2+pan(n-1)*3Pan(1)练一练练一

5、练桌面桌面:作业作业和尚移盘和尚移盘和尚移盘和尚移盘.frm递归算法有什么特点递归算法有什么特点?1、递归法:函数直接或间接地调用了自己、递归法:函数直接或间接地调用了自己3、递归必需要有结束条件、递归必需要有结束条件2、递归分为递推(问题、递归分为递推(问题下下推)与回归(结推)与回归(结果回归)两个过程果回归)两个过程4、递归函数的调用方式相当耗费计算机资源,、递归函数的调用方式相当耗费计算机资源,因而其效率比较低因而其效率比较低想一想想一想1Public Function story(byval n as integer)as integer If n=0 then end else s

6、tory=story(n-1)end if end Function想一想想一想2public sub f(byval n as long)Dim a as long a=a+n print n end sub3Public Function f(byval a as integer)as integer dim b as integer f=f(a,b)end fuction 经典数学问题经典数学问题1)1+2+3+N2)N!试一试试一试 知识回顾知识回顾 2、下面哪个问题可以用递归法解决?、下面哪个问题可以用递归法解决?(1)钻石图案)钻石图案 (2)百鸡百钱)百鸡百钱(3)加密程序)加密

7、程序 (4)汉诺塔)汉诺塔1、递归分为、递归分为()与(与()两个过程。两个过程。3、只要调用函数都是递归法?、只要调用函数都是递归法?4、递归法必需要有结束条件?、递归法必需要有结束条件?现实生活现实生活 一层梦境一层梦境 二层梦境二层梦境 三层梦境三层梦境 四层梦境四层梦境 现实生活现实生活 一层梦境一层梦境 二层梦境二层梦境 三层梦境三层梦境 四层梦境四层梦境 课后思考课后思考 讨论本章学习的五种算法,从程序的执讨论本章学习的五种算法,从程序的执行效率、代码编写的方便性、可读性等方面,行效率、代码编写的方便性、可读性等方面,分析它们各自的特点,指出其适用范围。分析它们各自的特点,指出其适用范围。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《第三章-算法的程序实现35-用递归法解决问题课件》高中信息技术教科版选修1-算法与程序设计.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|