fbpx
维基百科

Logo (程序语言)

Logo是一种计算机程式设计语言,在1966年由西摩爾·派普特和Wally Feurzeig设计[2],Logo一词源自希腊语邏各斯(logos)。Logo是一种直譯語言,和其他语言不同的是,它内置一套海龟绘图(Turtle Graphics)系统[3],通过向海龟发送命令,用户可以直观地学习程序的运行过程,因此很适于初学者特别是儿童学习程序设计。

Logo
MSWLogo英语MSWLogo海龟绘图示例gif动画[1]
编程范型多范型: 函数式, 教育, 过程式, 反射式
语言家族Lisp
設計者Wally Feurzeig英语Wally Feurzeig, Seymour Papert, Cynthia Solomon英语Cynthia Solomon
實作者Bolt, Beranek and Newman
发行时间1967年,​56年前​(1967
型態系統动态
主要實作產品
UCBLogo英语UCBLogo, 很多其他实现
衍生副語言
StarLogo英语StarLogo, NetLogo, AppleLogo
啟發語言
Lisp
影響語言
AgentSheets英语AgentSheets, NetLogo, Smalltalk, Etoys英语Etoys (programming language), Scratch, Microsoft Small Basic, KTurtle, REBOL, Boxer

Logo的原型来自另一个计算机语言LISP[4],派普特修改了LISP的语法使其更易于阅读。Logo常被称作没有括号的Lisp。Logo继承了Lisp的「表」的概念,所以在函数处理等方面拥有强大的能力,也是有特殊需求的计算机科学家的好帮手[5]

海龟绘图

 
绘图海龟英语Turtle (robot)

海龟绘图使得Logo用户可以通过简单的编程创作出丰富多彩的视觉效果或图案。假想一只带着画笔的海龟可以接受简单的命令,例如向前走100步,或者左转30度。通过对这只海龟发送命令,可以让它绘制出较为复杂的图形,例如正方形,三角形,圆等。

海龟的移动相对于它本身所在的位置。例如,命令"左90"意味着让海龟左转90度,学生可以站在海龟的角度来思考它将如何执行命令,这使得程序设计更加形象化,也更易于理解。

程式实例

设计Logo的初衷是为了向儿童教授计算机编程技能。它亦適合用作數學教學。初学者可以不需要任何程式设计的知识而直接向海龟发送命令。学习海龟作图将会让用户懂得一些关于几何学方面的知识。而一旦掌握了海龟作图的基础之后,引入程式设计的概念也变得更加容易。下面看一些例子: FD是前进 LT是左转 画一个正方形

FD 100 LT 90 FD 100 LT 90 FD 100 LT 90 FD 100 LT 90 

由于输入的语句都是重复的,可以用重复语句简化为:

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直譯器列表

  • UCBLogo英语UCBLogo,又叫Berkeley Logo[6],用C寫成,可運行於多個平台。
  • MSWLogo英语MSWLogo,有良好的GUI、詳盡的說明文件,運行於Windows,建基於Berkeley Logo,由Borland C++寫成。它支援三維圖像、聲響、鍵盤等多個功能[7]
  • StarLogo英语StarLogo[8]
  • NetLogo[9]
  • Comenius Logo[10]
  • rLogo[11],可於瀏覽器上執行(需Java
  • CLogo[12],可用中文為指令(需要Java
  • Galapago[13],用Java寫成
  • ProLOGO[14],用Prolog寫成,可用意大利語為指令
  • PyLogo[15],用Python寫成
  • SharpLOGO[16],用C#寫成
  • XLogo[17],用Objective-C寫成,運行於Mac
  • Logo++[18],可說是一種精簡化的Logo,主要的分別在於沒有了Logo的即時回應(interactive)、去掉了不少語法。

引用

  1. ^ Pietrocola, Giorgio. . Maecla. 2005 [2021-05-30]. (原始内容存档于2021-02-11). 
  2. ^ Abelson, Hal; Goodman, Nat; Rudolph, Lee. . Artificial Intelligence Lab, Massachusetts Institute of Technology. December 1974 [August 28, 2016]. hdl:1721.1/6226. (原始内容存档于September 11, 2016). 
  3. ^ . el.media.mit.edu. [2011-04-07]. (原始内容存档于2011-07-21). 
  4. ^ CSLS Vol 1, Preface .pxvi, Harvey 1997
  5. ^ 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.
  6. ^ Berkeley Logo (页面存档备份,存于互联网档案馆
  7. ^
  8. ^
  9. ^ NetLogo (页面存档备份,存于互联网档案馆
  10. ^
  11. ^
  12. ^ CLogo
  13. ^ Galapago (页面存档备份,存于互联网档案馆
  14. ^ ProLOGO (页面存档备份,存于互联网档案馆
  15. ^ PyLogo (页面存档备份,存于互联网档案馆
  16. ^
  17. ^ XLogo (页面存档备份,存于互联网档案馆
  18. ^ Logo++ (页面存档备份,存于互联网档案馆

延伸阅读

  • 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

外部链接

  • Logo Interpreter (页面存档备份,存于互联网档案馆
  • papert: logo in your browser (页面存档备份,存于互联网档案馆
  • Online PHP-based Logo Interpreter (页面存档备份,存于互联网档案馆
  • MachineLab TurtleSphere (MaLT) (页面存档备份,存于互联网档案馆) Online LOGO Interprepter with 3D graphics using three.js javascript library.
  • Vlad Tudor's Free Online Logo Interpreter using HTML5, CSS3 and JQuery (页面存档备份,存于互联网档案馆
  • TurtleAcademy (Learn Logo for free) (页面存档备份,存于互联网档案馆
  • XLogo4Schools (页面存档备份,存于互联网档案馆) is a revised version of XLogo
  • XLogoOnline (页面存档备份,存于互联网档案馆) is a modern, browser-based programming environment for the primary school. The programming language is a subset of the XLogo dialect. In addition to the online version, offline versions are available for Windows, macOS and Linux.
  • DR Logo at CPCWiki (页面存档备份,存于互联网档案馆
  • WIN-LOGO 3.0 (页面存档备份,存于互联网档案馆) of a German Author in English and German language
  • POOL is a compiled LOGO dialect
  • QLogo (页面存档备份,存于互联网档案馆
  • Digitool, producers of ObjectLOGO
  • turtleSpaces (页面存档备份,存于互联网档案馆) is an OpenGL re-implementation and broad extension of Apple (LCSI) Logo II intended for making 3D models, animations and games. It is currently available for Windows, macOS and Linux.

logo, 程序语言, logo是一种计算机程式设计语言, 在1966年由西摩爾, 派普特和wally, feurzeig设计, logo一词源自希腊语邏各斯, logos, logo是一种直譯語言, 和其他语言不同的是, 它内置一套海龟绘图, turtle, graphics, 系统, 通过向海龟发送命令, 用户可以直观地学习程序的运行过程, 因此很适于初学者特别是儿童学习程序设计, logomswlogo, 英语, mswlogo, 海龟绘图示例gif动画, 编程范型多范型, 函数式, 教育, 过程式, 反射式. Logo是一种计算机程式设计语言 在1966年由西摩爾 派普特和Wally Feurzeig设计 2 Logo一词源自希腊语邏各斯 logos Logo是一种直譯語言 和其他语言不同的是 它内置一套海龟绘图 Turtle Graphics 系统 3 通过向海龟发送命令 用户可以直观地学习程序的运行过程 因此很适于初学者特别是儿童学习程序设计 LogoMSWLogo 英语 MSWLogo 海龟绘图示例gif动画 1 编程范型多范型 函数式 教育 过程式 反射式语言家族Lisp設計者Wally Feurzeig 英语 Wally Feurzeig Seymour Papert Cynthia Solomon 英语 Cynthia Solomon 實作者Bolt Beranek and Newman发行时间1967年 56年前 1967 型態系統动态主要實作產品UCBLogo 英语 UCBLogo 很多其他实现衍生副語言StarLogo 英语 StarLogo NetLogo AppleLogo啟發語言Lisp影響語言AgentSheets 英语 AgentSheets NetLogo Smalltalk Etoys 英语 Etoys programming language Scratch Microsoft Small Basic KTurtle REBOL BoxerLogo的原型来自另一个计算机语言LISP 4 派普特修改了LISP的语法使其更易于阅读 Logo常被称作没有括号的Lisp Logo继承了Lisp的 表 的概念 所以在函数处理等方面拥有强大的能力 也是有特殊需求的计算机科学家的好帮手 5 目录 1 海龟绘图 2 程式实例 3 多代理建模语言 4 LOGO直譯器列表 5 引用 6 延伸阅读 7 外部链接海龟绘图 编辑主条目 海龟绘图 英语 Turtle graphics 绘图海龟 英语 Turtle robot 海龟绘图使得Logo用户可以通过简单的编程创作出丰富多彩的视觉效果或图案 假想一只带着画笔的海龟可以接受简单的命令 例如向前走100步 或者左转30度 通过对这只海龟发送命令 可以让它绘制出较为复杂的图形 例如正方形 三角形 圆等 海龟的移动相对于它本身所在的位置 例如 命令 左90 意味着让海龟左转90度 学生可以站在海龟的角度来思考它将如何执行命令 这使得程序设计更加形象化 也更易于理解 程式实例 编辑设计Logo的初衷是为了向儿童教授计算机编程技能 它亦適合用作數學教學 初学者可以不需要任何程式设计的知识而直接向海龟发送命令 学习海龟作图将会让用户懂得一些关于几何学方面的知识 而一旦掌握了海龟作图的基础之后 引入程式设计的概念也变得更加容易 下面看一些例子 FD是前进 LT是左转 画一个正方形 FD 100 LT 90 FD 100 LT 90 FD 100 LT 90 FD 100 LT 90 由于输入的语句都是重复的 可以用重复语句简化为 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直譯器列表 编辑UCBLogo 英语 UCBLogo 又叫Berkeley Logo 6 用C寫成 可運行於多個平台 MSWLogo 英语 MSWLogo 有良好的GUI 詳盡的說明文件 運行於Windows 建基於Berkeley Logo 由Borland C 寫成 它支援三維圖像 聲響 鍵盤等多個功能 7 StarLogo 英语 StarLogo 8 NetLogo 9 Comenius Logo 10 rLogo 11 可於瀏覽器上執行 需Java CLogo 12 可用中文為指令 需要Java Galapago 13 用Java寫成 ProLOGO 14 用Prolog寫成 可用意大利語為指令 PyLogo 15 用Python寫成 SharpLOGO 16 用C 寫成 XLogo 17 用Objective C寫成 運行於Mac Logo 18 可說是一種精簡化的Logo 主要的分別在於沒有了Logo的即時回應 interactive 去掉了不少語法 引用 编辑 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 页面存档备份 存于互联网档案馆 MSWLogo StarLogo NetLogo 页面存档备份 存于互联网档案馆 Comenius Logo rLogo CLogo Galapago 页面存档备份 存于互联网档案馆 ProLOGO 页面存档备份 存于互联网档案馆 PyLogo 页面存档备份 存于互联网档案馆 SharpLOGO XLogo 页面存档备份 存于互联网档案馆 Logo 页面存档备份 存于互联网档案馆 延伸阅读 编辑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外部链接 编辑维基共享资源中相关的多媒体资源 Logo 程序语言 維基教科書中的相關電子教程 en Logo ProgrammingLogo Interpreter 页面存档备份 存于互联网档案馆 papert logo in your browser 页面存档备份 存于互联网档案馆 Online PHP based Logo Interpreter 页面存档备份 存于互联网档案馆 MachineLab TurtleSphere MaLT 页面存档备份 存于互联网档案馆 Online LOGO Interprepter with 3D graphics using three js javascript library Vlad Tudor s Free Online Logo Interpreter using HTML5 CSS3 and JQuery 页面存档备份 存于互联网档案馆 TurtleAcademy Learn Logo for free 页面存档备份 存于互联网档案馆 XLogo4Schools 页面存档备份 存于互联网档案馆 is a revised version of XLogo XLogoOnline 页面存档备份 存于互联网档案馆 is a modern browser based programming environment for the primary school The programming language is a subset of the XLogo dialect In addition to the online version offline versions are available for Windows macOS and Linux DR Logo at CPCWiki 页面存档备份 存于互联网档案馆 WIN LOGO 3 0 页面存档备份 存于互联网档案馆 of a German Author in English and German language POOL is a compiled LOGO dialect QLogo 页面存档备份 存于互联网档案馆 Digitool producers of ObjectLOGO turtleSpaces 页面存档备份 存于互联网档案馆 is an OpenGL re implementation and broad extension of Apple LCSI Logo II intended for making 3D models animations and games It is currently available for Windows macOS and Linux 取自 https zh wikipedia org w index php title Logo 程序语言 amp oldid 71637191, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。