时间:2016-11-5来源:本站原创作者:佚名
写在西摩尔·派普特离开之后 纪念我的第

创建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
------分隔线----------------------------