- 7
- 0
- 约1.1万字
- 约 17页
- 2017-10-03 发布于重庆
- 举报
递归程序教学
LOGO递归程序教学
一、什么是递归?
递归就是把求未知结果回归成对已知内容进行求解。
数学中经常用自身的简单情况来定义自己。如,阶乘n!=1*2*3*…*n,可定义为:
在LOGO语言中,递归是指一个过程直接或间接地调用该过程本身,这种调用方法叫做“递归调用”,相应的过程叫做“递归过程”。
二、递归图形
有些图形,它本身又包含一个或多个与整个图形相似的图形(只是大小上的差别),这样的图形我们把它称为递归图形。可以用递归过程来绘出图形。
三、递归过程的基本结构
TO 过程名 参数表
IF 递归结束条件 STOP
…
过程名 参数表
…
END
四、尾递归
尾递归是递归中最简单的一种特殊情况,其基本形式是在过程的最后(END语句之前)调用过程自身,构成循环。
人们很熟悉的“老和尚讲故事”的故事,由于故事的情节里边又讲述了故事的本身,所以这个故事可以无限地反复,永远讲下去。这就是尾递归一个很形象的例子。
什么样的图形,用尾递归来解
例1 画“正大”图形
画出上图最左边的图形,其中最小正方形的边长为5,最大正方形边长不大于100。
[算法分析]该图形由若干个“正大”形图形组成,且相邻两个半径相差一倍。我们可从最小的“正大”形图形开始一个一个画出。因此画“正大”图形过程的结束前可递归调用(尾部)自己,画出下一个“正大”图形,一直到边长大于100。
TO ZHENGDA :R
FD :R/2 REPEAT 360[FD :R/2*PI/180 RT 1]
BK :R/2 REPEAT 7[FD :R RT 90]
END
TO DO :X
IF :X100 STOP
ZHENGDA :X RT 90
DO :X*2
END
TO MAIN
DRAW DO 5
END
例2 画多个等边长多边形
画出上图最右边的图形。
[算法分析]我们可以先画正三边形,然后画正四边形、…最后画正九边形。由于画正多边形有统一的公式,因此,可以编写一个画n边形的过程,在过程结束前递归调用自己,画n+1边形。
TO DBX :N :A TO MAIN
IF :N10 THEN STOP DRAW DBX 3 50
REPEAT :N[FD :A RT 360/:N] END
DBX :N+1 :A
END
尾递归过程的执行步骤
尾递归总结
尾递归的作用类似于重复命令,直到一个条件成立。
因此,尾递归可看成是一种特殊的重复命令。
五、中间递归
在过程的中部递归调用本过程,称为中间递归(过程)。
什么样的图形,用中间递归来解。
例3 画嵌套三角形
画出如图所示若干个正三角形嵌套在一起的图形,最外三角形的边长为N。
[算法分析] 如下图所示我们先画边长为N的三角形的两边和第三边的一半后,画最外三角形边长为N/2的嵌套三角形(原问题类似的问题),最后画边长为N的三角形的第三边的另一半,并让海龟回到初始位置,方向为原方向。
TO SJX :N
IF :N5 STOP
REPEAT 2[FD :N RT 120]
FD :N/2 RT 60
SJX :N/2
LT 60
FD :N/2
RT 120
END
DRAW LT 30 SJX 150
中间递归过程的执行步骤
六、用递归程序画“树形图案”
1、二叉树程序
[说明]图中,树干长为100,每次分叉后,边长都减半,最短不小于5。
[算法分析]这棵二叉树由树干和左子树、右子树组成。左右子树又是与整棵类似的二叉树。画整棵二叉树时,从根开始,先画树干,然后左转45度画左子树,接着右转90度画右子树,最后再左转45度后退回到根。(最后回到根是很重要的)
TO TREE :N
IF :N5 THEN STOP
FD :N
LT 45 TREE :N/2
RT 90 TREE :N/2
LT 45 BK :N
END
TO MAIN
DRAW TREE 80
END
递归树程序的各种变形
① 基本型(角度变小):
TO SHU1 :A :N
IF :N=0 STOP
FD :A LT 30
SHU1 :A*.6 :N-1
RT 60
SHU1 :A*.6 :N-1
LT 30 BK :A
END
② 节点处加入小圆,两分支长度不同:
TO SHU2 :A :N
IF :N=0 STOP
FD :A LT 60 REPEAT 36[FD :A*PI/180 RT 10] RT 30
SHU2 :A*.6 :N
您可能关注的文档
- 表面等离子共振技术(surfaceplasmonresonancetechnology,SPR)综述.doc
- 袁洪桩基模拟方法.doc
- 表面贴装元器件管理.doc
- 袋式除尘系统运行规程试行.doc
- 裂解汽油加氢第一章工艺技术规程.doc
- 装修后80件后悔的事情.docx
- 裂缝性油藏深部复合调剖终结者毕业论文高景涛1.doc
- 装卸工艺学简答题重点.doc
- 表象的毁灭.doc
- 装柜专家影响计算结果的几大因素-含图片.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)