Logo 编程范型 多范型 : 函数式 , 教育 , 过程式 , 反射式 语言家族 Lisp 設計者 Wally Feurzeig , Seymour Papert , Cynthia Solomon 實作者 Bolt, Beranek and Newman 发行时间 1967年,58年前 (1967 ) 型態系統 动态 UCBLogo , 很多其他实现StarLogo , NetLogo , AppleLogoLisp AgentSheets , NetLogo , Smalltalk , Etoys , Scratch , Microsoft Small Basic , KTurtle , REBOL , Boxer
Logo 是一种计算机程式设计语言 ,在1966年由西摩爾·派普特 和Wally Feurzeig设计[ 2] ,Logo一词源自希腊语邏各斯 (logos)。Logo是一种直譯語言 ,和其他语言不同的是,它内置一套海龟绘图(Turtle Graphics)系统[ 3] ,通过向海龟发送命令,用户可以直观地学习程序的运行过程,因此很适于初学者特别是儿童学习程序设计。
Logo的原型 来自另一个计算机语言LISP [ 4] ,派普特修改了LISP的语法 使其更易于阅读。Logo常被称作没有括号的Lisp。Logo继承了Lisp的「表」的概念,所以在函数处理等方面拥有强大的能力,也是有特殊需求的计算机科学家 的好帮手[ 5] 。
海龟绘图
绘图海龟
海龟绘图使得Logo用户可以通过简单的编程创作出丰富多彩的视觉效果或图案。假想一只带着画笔的海龟可以接受简单的命令,例如向前走100步,或者左转30度。通过对这只海龟发送命令,可以让它绘制出较为复杂的图形,例如正方形、三角形、圆等。
海龟的移动相对于它本身所在的位置。例如,命令LT 90
意味着让海龟左转90度,站在海龟的角度来思考它将如何执行命令,使得程序设计更加形象化,也更易于理解。
程式实例
设计Logo的初衷是为了向儿童教授计算机编程 技能。它亦適合用作數學 教學。初学者可以不需要任何程式设计的知识而直接向海龟发送命令。学习海龟作图将会让用户懂得一些关于几何学 方面的知识。而一旦掌握了海龟作图的基础之后,引入程式设计的概念也变得更加容易。下面看一个画一个正方形的例子:
FD 100
LT 90
FD 100
LT 90
FD 100
LT 90
FD 100
LT 90
FD
是前进,LT
是左转。由于输入的语句都是重复的,可以用重复语句简化为:
REPEAT 4 [ FD 100 LEFT 90 ]
上面两段程序得到的结果相同,由于第一个程式几乎都是重复代码,因此我们用REPEAT
让Logo重复同样的命令4次,同时还使用了命令的缩写。为了重复使用上述代码,我们可以用TO …… END
定义过程:
TO CHAIR
REPEAT 4 [ FD 100 RT 90 ] FD 200
END
一旦定义了CHAIR
过程,就可以直接使用调用它得到结果,为了使得这个过程更加通用化,我们传递一个边长参数:
TO CHAIR : long
REPEAT 4 [ FD : long RT 90 ]
FD : long * 2
END
CHAIR 100
从简单地发送绘图命令,到定义一个通用的绘制多边形的过程,用户不但掌握了程序设计上的一些基本思想(传递参数、重复等),而且对几何学上正多边形的理解也加深了。
多代理建模语言
Logo的方言NetLogo 、StarLogo进一步深化了Logo的海龟绘图概念,可以产生出成百上千个独立的海龟(被称为代理)来模拟诸如物理 、生物 或社会 等复杂系统。建模者可以对众多海龟并行发送指令,来观察微观个体行为与个体之间相互影响产生的宏观样式之间的联系。
LOGO直譯器列表
引用
^ Pietrocola, Giorgio. Tartapelago . Maecla. 2005 [2021-05-30 ] . (原始内容 存档于2021-02-11).
^ Abelson, Hal; Goodman, Nat; Rudolph, Lee. Logo Manual . Artificial Intelligence Lab, Massachusetts Institute of Technology. December 1974 [August 28, 2016] . hdl:1721.1/6226 . (原始内容 存档于September 11, 2016).
^ Logo Foundation . el.media.mit.edu. [2011-04-07 ] . (原始内容 存档于2011-07-21).
^ CSLS Vol 1, Preface .pxvi, Harvey 1997
^ Computer Science Logo Style , Brian Harvey, MIT Press (3 volumes) ISBN 0-262-58148-5 , ISBN 0-262-58149-3 , ISBN 0-262-58150-7 . Available online 互联网档案馆 的存檔 ,存档日期2013-07-04.
^ Berkeley Logo (UCBLogo) . people.eecs.berkeley.edu. [2025-01-15 ] . (原始内容存档 于2025-02-03).
^ MSWLogo, An Educational programming language . softronix.com. [2025-01-15 ] . (原始内容存档 于2025-01-03).
^ StarLogo on the Web . MIT. [2025-01-15 ] . (原始内容 存档于2006-11-15).
^ NetLogo Home Page . ccl.northwestern.edu. [2025-01-15 ] . (原始内容存档 于2011-04-08).
^ Kalas, Ivan. Comenius Logo . www.input.sk. [2025-01-15 ] . (原始内容 存档于2004-06-03).
^ rLogo Home Page . www.embry.com. [2025-01-15 ] . (原始内容 存档于2008-05-09).
^ CLogo簡介 . plum.yuntech.edu.tw. [2025-01-15 ] . (原始内容 存档于2012-12-22).
^ hexidec codex : Java : Galapago . www.hexidec.com. [2025-01-15 ] . (原始内容存档 于2024-12-14).
^ ProLOGO - LOGO in Prolog . [2025-01-15 ] . (原始内容 存档于2018-05-26).
^ PyLogo . pylogo.sourceforge.net. [2025-01-15 ] . (原始内容存档 于2024-11-27).
^ SharpLogo . SourceForge. 2013-03-19 [2025-01-15 ] . (原始内容存档 于2025-01-23) (英语) .
^ XLogo - A Logo learning and drawing application built for Mac OS X . xlogo.sourceforge.net. [2025-01-15 ] . (原始内容存档 于2023-12-12).
^ WELCOME To Logo++ Website !!! . clpp.sourceforge.net. [2025-01-15 ] . (原始内容存档 于2024-07-22).
延伸阅读
The Great Logo Adventure , Jim Muller, Doone Publications ISBN 0-9651934-6-2 ; now out of print; downloadable free of charge in pdf form from The MSWLogo website, along with the freeware MSWLogo program
To Artificial Intelligence (1976) (页面存档备份 ,存于互联网档案馆 ) Early AI textbook where Logo is used extensively. (Using the Edinburgh University dialect, AI2LOGO)
Turtle Geometry (页面存档备份 ,存于互联网档案馆 ) Abelson and diSessa
Children Designers , Idit Harel Caperton, Ablex Publishing Corporation ISBN 0893917885 . Available online (页面存档备份 ,存于互联网档案馆 )
Learning With Logo , Daniel Watt, McGraw Hill, ISBN 0-07-068570-3 . Available Through Amazon
Teaching With Logo: Building Blocks For Learning, Molly Watt and Daniel Watt, Addison Wesley (now Pearson) 1986, ISBN 0-201-08112-1 Available through Amazon
外部链接