




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
递归分析下面程序TO S :L IF :L 5 STOP FD :L LT 45 FD :L BK :L RT 45 S :L - 5END S 20递归:过程调用自身过程称为递归。尾递归:递归调用位置在过程的最后。问题:尾递归的作用就是重复?上述问题确实可以用带参过程加上重复命令来完成。TO S :L REPEAT 4 FD :L LT 45 FD :L BK :L RT 45 MAKE L :L - 5END递归与循环是有区别的!分析下面程序运行结果TO S :L IF :L 5 STOP FD :L LT 45 FD :L BK :L RT 45 S :L - 5 PR :LEND? s 205101520根据递归在程序中的位置可以分成首递归、中间递归和尾递归。首递归:递归调用位置在过程的前面。TO S :L IF :L 5 STOP S :L - 5 FD :L LT 45 FD :L BK :L RT 45ENDS 20中间递归:递归调用位置在过程的中间。TO S :L IF :L 5 STOP FD :L LT 45 FD :L BK :L RT 45 S :L - 5 RT 45 FD :L BK :L LT 45 BK :LENDS 20多次递归:在一个过程中允许多次递归调用。 2次递归过程例:TO TREE :N :L IF :N = 0 STOP FD :L LT 45 TREE :N - 1 :L * 0.6 RT 90 TREE :N - 1 :L * 0.6 LT 45 BK :LENDTREE 6 60编写多次递归过程的技巧以树为例1定义几个名词基本图形:构成图案的基本图形 基本图形(最基本图形为一直线)起始点:绘此图案的起始点递归点:递归调用时所在的点(N次递归就有N个递归点)2编写N次递归程序一般步骤准备工作找出基本图形、找出起始点、找出递归点(N次递归应该有N个递归点)。编程TO TREE :N :L N为计数器控制递归的级数 IF :N = 0 STOP 倒计数到0中止递归 FD :L LT 45 从起始点沿图案线到达第1递归点(要考虑位置与方向) TREE :N - 1 :L * 0.6 1次递归 RT 90到达下一个递归点(已在第2递归点所以只修正方向) TREE :N - 1 :L * 0.6 2次递归 LT 45 BK :L 沿图案线返回到起始点(要考虑位置与方向)END举一反三1用递归编写出下图的程序。SGX 5 160TO SGX :N :BC IF :N = 0 STOP FD :BC RT 120 从起始位置A沿图案到B递归点和修正方向 SGX :N - 1 :BC * 0.5 1次递归 FD :BC RT 120 从B点沿图案到C递归点 SGX :N - 1 :BC * 0.5 2次递归 FD :BC RT 120 从C点沿图案到A递归点(与超始点重合) SGX :N - 1 :BC * 0.5 3次递归END上面程序可以利用重复命令进行简化TO SGX :N :BC IF :N = 0 STOP REPEAT 3 FD :BC RT 120 SGX :N - 1 :BC * 0.5END2用递归编写出下图的程序。YUAN 4 50分析:原始点在D,有4个递归点分别为A、B、C、D程序:TO YUAN :N :R IF :N = 0 STOP REPEAT 90 FD :R * PI / 180 RT 1 沿图案到达A递归点 RT 180 修正方向 YUAN :N - 1 :R / 2 RT 180 1次递归 REPEAT 90 FD :R * PI / 180 RT 1 RT 180 YUAN :N - 1 :R / 2 RT 180 REPEAT 90 FD :R * PI / 180 RT 1 RT 180 YUAN :N - 1 :R / 2 RT 180 REPEAT 90 FD :R * PI / 180 RT 1 RT 180 YUAN :N - 1 :R / 2 RT 180END将上面的程序用重复命令来简化:TO YUAN :N :R IF :N = 0 STOP REPEAT 4 REPEAT 90 FD :R * PI / 180 RT 1 RT 180 YUAN :N - 1 :R / 2 RT 180END3这次竞赛
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工化学安全知识培训课件
- 养护员安全知识培训课件
- 别夔州官吏赏析课件
- 初识财务报表课件
- 初级中学安全培训课件
- 内部食堂厨房安全培训课件
- 初中教师安全培训教学课件
- 创新安全培训考核课件
- 创成助力课件
- 创建统计图表课件
- 格拉斯哥(GCS)昏迷评估量表(详xi操作)
- 肝硬化患者健康宣教知识
- YC/T 188-2004高速卷烟胶
- GB/T 31586.1-2015防护涂料体系对钢结构的防腐蚀保护涂层附着力/内聚力(破坏强度)的评定和验收准则第1部分:拉开法试验
- 以友辅仁教案
- 经济效益证明(模板)
- 某机库施工方案
- 生物竞赛动物学教学课件第十一章 节肢动物门
- 项目施工重大安全隐患排查表
- 材料、构配件进场检验记录
- 《Unit2 Let's talk teens》教学设计教案
评论
0/150
提交评论