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

LOGO编程题 这个图形应该怎么画★

(2010-08-28 15:48:53)
标签:

中小学信息技术

编程

logo语言

分形

林正山老师

教育

科普

趣味科学

杂谈

分类: LOGO语言画图及计算编程题

LOGO编程题 <wbr>这个图形应该怎么画★

      LOGO编程题 这个图形应该怎么画★

    有朋友发来一个邮件说,上面的图形应该怎么画?

    这个图形在LOGO语言中是一个非常基础的递归作图题,但是把这个问题说清楚对于许多初学者确是非常有益的。编写好的过程如下。
    TO LXZFX :L
      IF :L>200 THEN STOP
      FD :L RT 91
      LXZFX :L+1
    END

    输入DRAW HT LXZFX 1,就能画出前面的图形。图形中的鼠标箭头是另外加上去的。从箭头处能够看到,这个图形是向内卷曲的。
    现在我们来分析一下过程为什么这样编写。

    一、这各图形明显是一个从小到大螺旋着画出来的图形。使用尾递归画出多根线条组成整个图形。当你输入DRAW HT LXZFX 1后,作图窗口上就会出现前面的图形。输入这个命令,相当于连续执行200次FD :L RT 91命令。其中:L的长度是1、2、3、4、……199、200。当尾递归LXZFX :L+1使:L达到201时,执行IF :L>200 THEN STOP,使画图停止下来。

    二、这个程序中好包含着许多重要的信息:

    RT 91命令中RT说明图形是右旋的。如果改写成LT 91,图形就是左旋的。

    RT 91命令中91=90+1。这个90度被称为“临界角度”。这个“临界角度”决定了整个图形的形状

 

    临  界  角  度: 144度   120度    90度     72度    60度  ……

    图形接近的形状: 5角星 6边形  正方形 5边形 6边形 ……   

   

    画这一类的图形直接用“临界角度”画出来的是规则图形(正多边形或正多角星),更多的是是“加一点”或“减一点”角度。例如91=90+1是“加一点”。

    “加一点”的图形是向内收敛卷曲的;“减一点”的图形是向外扩张发散的。这样的例子可以看后面的图形。“加”得太多、“减”得太多,画出来的图形都不好看。

    TO LXZFX :L中所给的:L是开始画的那根线的尺寸,LXZFX :L+1中的那个+1决定了图形越画越大,每根线的长度都增长1。当然也可以+2、+2.5,甚至-1、-3.如果是“减”图形将越画越小。
    IF :L>200 THEN STOP命令中的200,决定了图形最终那根线的极限长度。在这个例子中是不得大于200。
    三、明白了以上的道理,将这个程序改写成下面的样子,就成为画这一类图形的万能程序了。

   TO LX :L :D :S :T
     IF :L>:T THEN STOP
     FD :L RT :D
     LX :L+:S :D :S :T
   END

 LOGO编程题 <wbr>这个图形应该怎么画★

 

    毫不夸张地说,万能程序的表现能力是非常强的。只要你有耐心,输入不同的参数,画出100个不同形态的图形绝对没有问题。

   LOGO编程题 <wbr>这个图形应该怎么画★
    看了这些例图后,你对“临界角度”、“收敛”、“发散”明白了吗?

 

 

 


这里是新颖有趣的LOGO、DEV-C++语言之家

欢迎评论 欢迎转载

 

查找林老师博客最便捷的方法:

  百度、谷歌、搜狗、搜搜、雅虎、有道搜索引擎中输入

   林老师 LOGO 就能找到林老师博客文章了

 

查阅林老师最新发表文章的链接:

      http://blog.sina.com.cn/lzs2099 
 
 

快速检索数百篇博客提高阅读效率的链接:

 《LOGO语言简明教程》及初学者题库
  《LOGO语言画图编程题》目录
  LOGO及DEV-C++计算编程题》目录
  《LOGO竞赛试题及解题分析指导》目录
  《LOGO语言编程新理念及编程技巧》目录
  《奥数及趣味数学问题》目录
  《LOGO语言竞赛教程·习题集内容剖析》目录
  《林老师话说天南地北》目录 

   初学者题库及编程技巧分析

查看林老师拍摄及推荐的照片的链接

 

林正山老师邮箱:  linzhengshan@21cn.com

因网络拥挤“纸条”常不能及时打开查阅。有信息尽量使用“评论”或邮件。 

 

需要LOGO系统文件常用表格工具文件及DEV-C++系统文件的可以发邮件给林老师

 

声明:
    林正山老师发表的文章及照片,媒体、网站或出版物未经本人许可谢绝进行任何形式的删节、改编、重组及转载。

    允许个人博客按原文(含图片及附注)进行完整转载,转载时敬请注明本博作者姓名、文章原始出处,并以链接形式标明来源。

0

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

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

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

新浪公司 版权所有