版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五讲复杂递归
递归是一种思维、推理和解决问题的方法。递归解决的是规律性很强的问题,只要“略微简化的同类问题”可以解决。即,“自顶而下,步步求精”的方法。递归调用语句出现在过程体的不同位置(尾部、头部或中间)分为尾部递归、首部递归和中部递归三种,后两者是较复杂。一、深入了解递归二、画二叉树学起三、多阶递归过程一、深入了解递归1、实例对照:设计倒计数和正计数过程。TODJS:NIF:N<1STOPPR:N
DJS:N-1
ENDTOZJS:NIF:N<1STOP
ZJS:N-1PR:NEND?DJS5
↙?ZJS5↙5432112345
用尾部递归方式编写过程。
用首部递归方式编写过程。想一想:求⑴、100+99+98+…+2+1⑵、2、实例对照:画逐层减半的正方形内切圆(如图)。用尾部递归方式编写过程:TOZQY1:SIF:S<20STOPREPEAT4[FD:S/2RT90FD:S/2]REPEAT360[RT0.5FD:S/2*PI/180RT0.5]WAIT100ZQY1:S/2WAIT100END用中部递归方式编写过程:TOZQY2:SIF:S<20STOPREPEAT4[FD:S/2RT90FD:S/2]WAIT100ZQY2:S/2WAIT100REPEAT360[RT0.5FD:S/2*PI/180RT0.5]END用尾部递归方式编写过程:TOZQY3:SIF:S<20STOPREPEAT4[FD:S/2RT90FD:S/2]REPEAT360[RT0.5FD:S/2*PI/180RT0.5]PUFD0.75*:SPDWAIT100ZQY3:S/2WAIT100END用中部递归方式编写过程:TOZQY4:SIF:S<20STOPREPEAT4[FD:S/2RT90FD:S/2]PUFD0.75*:SPDWAIT100ZQY4:S/2WAIT100PUBK0.75*:SPDREPEAT360[RT0.5FD:S/2*PI/180RT0.5]END3、实例说明:在一个过程体中允许多次的递归调用。⑴、二次递归过程。⑵、三次递归过程。TOS1:LIF:L<10STOPFD:LLT35
S1:L/2RT70
S1:L/2LT35BK:LENDTOS2:LIF:L<10STOPFD:LLT70
S2:L/2RT70
S2:L/2RT70
S2:L/2LT70BK:LEND⑶、四次递归过程。TOS3:LIF:L<10STOPFD:LLT75
S3:L/2RT50
S3:L/2RT50
S3:L/2RT50
S3:L/2LT75BK:LEND?S1100↙?S2100↙?S3100↙二、画二叉树学起1、叉树问题:以树杈交点(即节点)为界分层,每个节点都分出呈V形的树枝,这是一种复杂而有规律的基本图形。也是一种比较典型较复杂的递归问题。⑴、第一步:画树杈(如右图)。TOSHU:B:JLT:J/2FD:BBK:BRT:JFD:BBK:BLT:J/2END?SHU10060↙【指导说明】:
画完树杈后,海龟要回到原来起始的位置和方向。
⑵、第二步:画二叉树。(编程步骤)【编程关键】:
寻找生叉点并逐一在此处添加递归调用命令。
TOSHU:B:J
LT:J/2FD:B
BK:BRT:JFD:B
BK:BLT:J/2ENDSHU:B/2:JIF:B<10STOPSHU:B/2:J“递归”插入点
?SHU80604↙?SHU80604↙2、深入探究:从创造思维入手,运用“图形想象”的方法去思维、推理和解决问题。在搞清楚“二叉树问题”的基础上,经过变形的各种树的问题就易解。从而总结出用递归进行程序设计的规律和方法。
【指导说明】:⑴、分析每个图形的最基本图形。⑵、确定海龟起始的位置与方向。⑶、找出上下层“递归”插入点。⑷、先编写出最底层的图形过程。⑸、执行过程确定图形正确无误。⑹、逐一插入“递归”步步为营。第二步:编写基本三角形SJ过程。画出如图所示图形⑴、在操作中学:画出左图所示图形。第一步:分析图形的基本结构。基本图形从三角形到树叉TOSJ:BLT90FD:B/2RT120FD:BBK:BRT60FD:BLT120FD:BBK:BLT60FD:B/2RT90ENDTOSJ:B
LT90FD:B/2
RT120FD:B
BK:BRT60FD:B
LT120FD:BBK:BLT60FD:B/2RT90END?SJ100↙逐一添加“递归”与“调整”LT30SJ:B/2RT30RT30SJ:B/2LT30LT30RT30SJ:B/2IF:B<10STOP30°第三步:在上面的过程基础上,逐一插入“递归”命令行。
?SJ100↙?SJ100↙?SJ100↙⑵、在操作中学:再以“递归”插入点直接画出上图形。TOSJA:BIF:B<10STOP
PULT60BK:B/4LT60PDSJA:B/2\PURT60FD:B/4RT60PDFD:BRT120
PULT60BK:B/4LT60PDSJA:B/2\PURT60FD:B/4RT60PDFD:BRT120
PULT60BK:B/4LT60PDSJA:B/2\PURT60FD:B/4RT60PDFD:BRT120ENDTOSJB:BIF:B<10STOPLT90FD:B/2
LT30SJB:B/2RT30RT120FD:B
LT30SJB:B/2RT30RT120FD:B
LT30SJB:B/2RT30RT120FD:B/2RT90END?DRAWRT30SJA100↙?DRAWSJB100↙动脑筋,画一画⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿三、多阶递归过程在一个递归过程体中进行了若干种不同级的递归调用。1、在操作中学:画出右图所示图形。TOD:BFD:BLT45RT45RT45LT45BK:BENDTODD:N:B:JIF:N<0STOPFD:BLT45
DD:N-2:B*:J*:J:JRT45
DD:N-1:B*:J:JRT45
DD:N-2:B*:J*:J:JLT45BK:BEND?FSDD81000.65↙
?D100↙
【说明】::N是级数参数,:B是尺寸参数,:J是相邻两级树的尺寸比例参数。2、在操作中学::S由0变大时树会不同程度地往一边倾斜。TODSB:L:NIF:N<1FD:LSTOPREPEAT2[LT90FD:N/2RT90\FD:LRT90FD:N/2RT90]DSB:L:N-2ENDTODSC:B:A:SIF:B<5STOPDSB:B:B/10LT:A-:S
DSC:B*0.6:A:SRT:A
DSC:B*0.8:A:SRT:A
DSC:B*0.6:A:SLT:A+:SBK:BEND?DSC50300↙?DSC50305↙?DSC503010↙【说明】::B是树干尺寸参数,:A是相邻两树叉夹角参数,:S是风力大小参数。?DSB1005↙3、在操作中学:画出右图所示图形。TOSJG:B:JIF:B<10LT90YUAN5RT90STOPLT:J/2FD:BSJG:B/2:JBK:BRT:JFD:B/2RT90FD:B/2
LT90YUAN5RT90BK:B/2LT90FD:B/2SJG:B/2:JBK:BLT:J/2ENDTOYUAN:RREPEAT360[RT0.5FD:R*PI/180RT0.5]END?SJG10060↙4、想一想:在下面过程中插入“递归”,画出的图形怎样?TOJ2:BIF:B<10STOPREPEAT3[FD:BRT120J2:B/2]ENDTOZ1:BIF:B<10STOPREPEAT4[FD:BZ1:B/2RT90]ENDTOZ2:BIF:B<10STOPREPEAT4[FD:BRT90Z
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度新能源电动车研发与生产承包合同
- 2024年度建筑企业融资租赁合同
- 04年物流仓储服务合同范本
- 2024年度农业保险服务合同
- 紧身套衫市场需求与消费特点分析
- 2024年度技术转让合同转让技术范围与技术保密
- 2024年度大数据分析服务合同:某数据公司与某金融机构之间的大数据分析服务合同
- 2024年度混凝土输送泵车租赁合同书
- 蚕丝被市场发展预测和趋势分析
- 2024年度教育培训合同及服务协议
- 中国石油天然气集团公司物资采购管理办法
- 填埋库区平整土石工程施工设计方案
- Juniper-SRX中文配置手册及图解
- 马丁路德的宗教改革教学课件
- 柜员先进事迹银行先进柜员职工先进事迹演讲稿
- 边坡工程支护设计计算书Word
- 证券投资学习题(霍文文)附答案
- 管理学谷歌案例分析
- 会计专业剖析报告 - 副本
- 政采云采购项目合同创建及录入操作指南
- 谈石灰土施工质量问题及处理措施_工程管理
评论
0/150
提交评论