加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

可以这样子来理解递归作图

(2023-11-12 15:24:19)
标签:

林老师

pclogo

mswlogo

fmslogo

c

分类: WinXP~7~8~10运行Logo语言
可以这样子来理解递归作图
可以这样子来理解递归作图
     像前面所提到的“作图递归”历来都是使大家感到非常抽象非常困难的。其实所有的这一类型的图形递归题都能使用在林老师编著的《MSWLogo讲义Plus》第四章第130页开始讲解的“学会使用递归模式标识图”这样的思维方式来分析理解。所有的递归图形我们一眼看上去,就能找到图形中的“递归起点”、“递归点”。有些更复杂的图形中还有“插花点”。这些“点”使用以下图形来标识:
可以这样子来理解递归作图

      这里原有的程序是这样子的:
to dg :x
  if :x=0[stop] 
  circle 50
  fd 100 dg :x-1
  rt 90 fd 100 dg :x-1
  rt 90 fd 100 rt 90 fd 100 rt 90
end                
      为了便于分析,必须将原来程序中的“递归点”单独“择”出来、分离出来,整理成这个样子:
to dg :x
  if :x=0[stop] ;递归终止条件
  circle 50     ;以当前点为圆心画一个半径50的圆圈
  fd 100        ;前进100从A到达B点
  dg :x-1       ;递归点
  rt 90 fd 100    ;转向,前进到B点
  dg :x-1       ;递归点
  rt 90 fd 100 rt 90 fd 100 rt 90 ;画出完整的正方形并到达A点
end 
      上面的程序用递归标识图画出来的框架图形是这样子的:
 可以这样子来理解递归作图
      这个递归模式图的“框架”其实就是 dg 1 画出来的基础图形,但是在“起点”和程序中 dg :X-1 处有“递归点”的符号。LOGO画图是是有方向感的,那个箭头的方向就是“当时”的图形指向。
      如果有多重递归,就是在“递归点”上重复地调用整个框架图形叠依次加在 dg 1 基础图形之上形成的。下图是递归叠加的示意图。
可以这样子来理解递归作图

      这样的递归图形叠加是有方向感的。上面的图形可以仔细琢磨。
      再次强调的是:递归叠加图形是有方向感的。 dg 3 的图形如下:
 可以这样子来理解递归作图

可以这样子来理解递归作图


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有