- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
递归
分析下面程序
TO S :L
IF :L 5 STOP
FD :L LT 45 FD :L BK :L RT 45
S :L - 5
END
S 20
▲递归:过程调用自身过程称为递归。
▲尾递归:递归调用位置在过程的最后。
问题:
尾递归的作用就是重复?
上述问题确实可以用带参过程加上重复命令来完成。
TO S :L
REPEAT 4 [FD :L LT 45 FD :L BK :L RT 45 MAKE L :L - 5]
END
▲递归与循环是有区别的!
分析下面程序运行结果
TO S :L
IF :L 5 STOP
FD :L LT 45 FD :L BK :L RT 45
S :L - 5
PR :L
END
? s 20
5
10
15
20
▲根据递归在程序中的位置可以分成首递归、中间递归和尾递归。
▲首递归:递归调用位置在过程的前面。
TO S :L
IF :L 5 STOP
S :L - 5
FD :L LT 45 FD :L BK :L RT 45
END
S 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 :L
END
S 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 :L
END
TREE 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 160
TO 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.5]
END
2.用递归编写出下图的程序。
YUAN 4 50
分析:
原始点在D,有4个递归点分别为A、B、C、D
程序:
TO YUAN :N :R
IF :N = 0 STOP
REPEAT 90 [FD :R * PI / 180
您可能关注的文档
最近下载
- 必修一 1.1质点与参考系.pptx VIP
- 网络设备配置与管理项目教程(华为eNSP模拟器版)全册电子课件汇总.pptx
- 2024年新人教版7年级上册英语全册课件(新版教材).pptx
- DM.05 ×× U9 ERP项目-项目日报-年月日.docx VIP
- DM.01 ×× U9 ERP项目-项目章程.pptx VIP
- (含六套期末试卷)七年级下册地理精品学案:第2课时复杂的气候.doc VIP
- DM.18 ×× U9 ERP项目-阶段汇报.pptx VIP
- DM.16.01 ××U9 ERP项目培训计划书.docx VIP
- 标准图集-03J601-2 木门窗(部品集成式).pdf VIP
- 2025年江苏省高考化学试卷真题(含答案及解析).pdf
文档评论(0)