写在西摩尔·派普特离开之后 纪念我的第
创建Logo语言的人叫西摩尔·派普特,英语:SymourPaprt,出生于年3月1日,逝世于年7月31日。 今天我才知道正是这个人创建了Logo这门语言,他已经走了,不过他留下了Logo。 1 LOGO Logo的原型来自另一个计算机语言LISP,派普特修改了LISP的语法使得他更易于阅读。Logo通常被称作没有括号的Lisp。 大概在15年前,因为比赛的关系,我学习了这门语言。这是一门非常神奇的语言,而其他语言有一个很大的不同之处在于,它的输出可以变成图形。如下图所示: 这也是我在学习这门语言最后玩的东西——迭归,你可以用递归创造出很美妙的分形。当然,早期我们是在DOS玩这个东西的,所以没有这么炫丽的色彩。 2 入门 于是我又重新了一个Logo语言的环境,然后安装了。在初始化这个程序的时候,这将得到一只海龟和一个画板。 你可以在上面画任何你想要的东西,而且因为它是一个解释型语言,所以我们只需要运行即可。 它有几个基础的命令,这些命令都是基于海龟的头的方向来决定了,这和我们现在世界特别相似。 前进:Forward。画一条向前90单位的直线就是FD90或者Forward90 后台:Back。同Forward一样,只是这个是往后画。 右转:Right。右转角度,如RT90就是向右转90度。 左转:Lft。左转,和右转类似。 用这几个命令,就可以画出基本的几何图型。如矩形: 我们所要做的就只是简单的重复四次:前进,然后右转90 FDRT90FDRT90FDRT90FDRT90 不过,Logo里有REPEAT命令,所以这个会变得更加简单。 那么等边三角形呢? 由于海龟和等边三角形的夹角并不都是一样的,第一个相差30度,第二个是度,而最后要转一个90度。所以它的代码是这样的: RT30FDRTFDRTFDRT90 而,这个代码要用REPEAT来实现就有一些困难了。 3 REPEAT REPEAT是我在写这篇文章还记住的几个命令之一(PS:还有一个是HOME,这是我在一次小学比赛中夺冠的最后一个命令。。),它就是重复。如果把上面的正文形用REPEAT来实现就是这样的: REPEAT4[FDRT90] 五边形的右转角度是72度,所以它就是这样的 REPEAT5[FDRT72] 只要我们的REPEAT次数x角度=,我们就可以创建出各种多边形 当我们的角度越来越小时: 我们将会得到一个圆: REPEAT[FD3RT1] 接着,再多重复几次吧 看上去是不是很棒,它只需要这样子 REPEAT24[REPEAT[FD1RT1]RT15] 4 分形 以前我觉得这个东西看上去挺棒的,就是画起来比较耗脑子,而我多数时候又比较懒。现在,我还是这么觉得的。 并且,如果你有密集恐惧症的话,会更加的可怕。 想象一下这是由一个个FD和RT变成的美妙图形 等等~~(PS:我已经吹不下去了)。 感谢西摩尔·派普特! 最后,问题来了你会不会教你的孩子写代码? 又写了十几行代码赞赏 人赞赏白癜风能治好吗专业治白癜风医院转载请注明原文网址:http://www.gzdatangtv.com/bcyytx/1416.html |