标题：LOGO语言
简介
绘图是LOGO语言中最主要的功能，佩伯特博士就是希望能通过绘图的方式来培养学生学习电脑的兴趣和正确的学习观念。LOGO语言从开始发展到现在，已有Windows版本——MSWLogo，包括Windows 3.X版及Windows9X版等。在以前的LOGO语言中有一个海龟，它有位置与指向两个重要参数，海龟按程序中的LOGO指令或用户的操作命令在屏幕上执行一定的动作，现在，图中的海龟由小三角形所替代。上世纪90年代，台湾推出繁体版的LOGO语言，称之为：【葛拉堡/Gerlabau】，其后国内也推出了中文化的LOGO语言，分别是“易乐谷/ELOGO”、“创新CX-LOGO/微世界”和“Flash版Logo语言”，发扬了中文编程的优势。
【易乐谷】  “易乐谷ELOGO中文编程系统”由大连大有吴涛易语言软件开发有限公司出品的汉语编程工具易语言开发的，是一个以LOGO语言语法为基本语法规则，易语言中文化为实现目标，以流程图为教学辅助，提供幼儿园、小学、退休人员及小学教学师作为入门级学习编程的一种简单工具。本程序由大连大有吴涛易语言软件开发有限公司向幼儿园、小学校、教师、退休人员等编程爱好入门者提供。
本程序使用易语言编程，用易语言实现了一种新的解释型的中文编程语言工具，在易语言中有丰富的图形组件、动画组件，多媒体命令、网络功能、3D支持库，目前这些功能已在易乐谷中体现，大家在学习“易乐谷ELOGO”的同时，也可以学会这些多媒体支持库的应用方法。“易乐谷ELOGO”与易语言的类似地方在于：同样都是中文编程，语法名称等同易语言的风格；不同地方在于：更加符合自然语言，让小学生们更易于理解，并且更利于小学教师的教学工作。
【创新LOGO】
CX-LOGO语言是一种结构化程序设计语言。它是交互式的，为少年儿童提供了良好的编程环境；它是模块化的，便于程序的修改与扩充；它是过程化的，包含了过程、参数、变量等重要概念，并允许递归调用；它有丰富的数据结构类型，有生动的图形处理功能。
CX-LOGO语言独创的流程图工作方式和过程库的建立，可方便的使用“搭积木”的方法，构建“知识”，使学习更容易、操作更简便，学生只需简单的学习就可以操作。
CX-LOGO语言不仅具备多种优秀程序设计语言的优点，而且更接近自然语言，生动有趣，简单易学，它能用直观的运动来体现编程的结果，让少年儿童在游戏中进行思考，在趣味中学习，深受少年儿童的欢迎。通过CX-LOGO语言的教学，以学习一种“玩具”为出发点，可以培养学生学习计算机的兴趣，使他们初步了解计算机是如何工作的，为他们今后学习其他高级程序语言设计铺设道路
CX-LOGO语言是专为中国少年儿童开发的创新平台，孩子们可以在电脑上指挥七色瓢虫移动、转向、行走、发光、响应外界刺激等。这些具有创造性的学习工具所倡导的“做中学”的学习理念，非常适合课堂教学，极大地激发了孩子们学习的兴趣。
【Flash版LOGO语言】
Flash版LOGO语言是用Flash的As3语言编写的程序，模拟了PC-Logo语言中适合中小学生学习的命令，保留了过程、递归等重要概念，简化了一些格式要求，比如变量前不用加冒号和引号等。可以让学习过PC-Logo语言的学生快速接受。
在成功模拟Logo语言的基础上，填加了模拟智能机器人的命令。可以用已画好的图形转变成特定的机器人运行所必须的场地，比如可以图形变火焰，图形变障碍物，图形变水波等，可以实现机器人走迷宫，机器人灭火，机器人弹球等。
由于模拟机器人的命令简单易学，简单几条命令就可以实现有趣的机器人走迷宫，而且机器人的探测器是如何工作的也是简单明了，为以后实战机器人奠定基础。
Flash版Logo语言是位一线教师根据多年教学Logo语言的经验，花费三年多时间，在Flash As3 平台下编写的，由于是Flash版的，它可以在网页上运行，只要是支持Flash的系统都可以运行，比如现今在平板和手机上流行的安卓系统都可以运行，以后可以随时随地编写程序玩了。
基本命令
我们在下面介绍一些LOGO语言中最基本的绘图命令：
1.与移动有关的指令：“前进”、“后退”和“归位”。前进命令可让海龟前移一定的单位数，例如：执行“Forward（前进） 50”命令后，小海龟则会向前移动50个单位；后退命令则可让小海龟向后移动，如果执行“Back（后退） 50”命令，那么小海龟的方向不会发生改变，而会向后退50个单位；执行归位命令后，不论当前小海龟的位置及方向怎样，它就会乖乖地回到绘图区的中央位置，并且朝向屏幕的正上方。
2.与转弯有关的指令：“右转”和 “左转”。右转命令可让小海龟按要求向右边转动一定的角度，例如：执行“Right（右转） 45”命令则小海龟的朝向将向右转动45度角；而左转命令则可让小海龟向左转动，如：执行“Left 45”命令则小海龟的朝向将向左转动45度角。这几种命令可以驱动小海龟绕其中心旋转一定的角度。
3.与控制有关的命令有REPEAT（重复）、IF…THEN…ELSE…（条件执行）等。如执行REPEAT 4[FORWARD 200 RlGHT 9O]就能画出图2中的正方形，如果直接将移动命令和转弯命令相结合，则写出的语句就比较多，但都是一些重复地使用4次“Forward 100”和“Right 90”命令。
特点
LOGO语言之所以是儿童学习计算机编程最好的一种语言，就因为它是针对儿童而制作的编程语言，能使儿童在认知与技能上得到较大的发展。LOGO语言具有较强的针对性，因为对于儿童来说，“画画”比“文字处理”更具有活力，充分发挥自己的想象进行创作，而文字处理却比较枯燥，不适合儿童。LOGO则主要用于“图画”制作，并且采用了“海龟绘图”的方式，适合儿童的特点，能充分引起他们的兴趣和学习该门语言的积极性，达到寓教于乐的目的。在LOGO语言中，它的作图方式与现在所用的作图软件不一样，主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式，而是通过向前，后退、向左转、向右转、回家等儿童易于理解的语言和命令，这非常适合儿童的知识水平，使这些还未接触坐标为何物的儿童更容易上手。在用LOGO语言作图时，需要学习者对一些常见的几何特性进行理解，了解常用的距离、角度和度数的概念。
编程
一般的编程语言都需要编写程序，当然，LOGO语言也不例外。由于指令容易输入错误，不易修改且无法保存，更不能重复使用，如果需要重新绘制相同的图形，那么必须输入与以前相同的指令，并且这些曾输入的指令不能加以组合。至于程序的内容，是由解决问题的步骤所需要的指令组合而成的，需由设计者赋予该程序以名称，以供识别。使用LOGO语言作图，虽然可以通过命令行方式进行，但这仅针对初学LOGO语言时，可以开始学一些常用命令，作出一些简单的图形，以引起儿童的兴趣。在对命令比较了解及熟悉以后，就可以进行针对性地学习一些简单的程序编写，作出更加漂亮的图形。　下面我将以MSWLogo V6.4为例来介绍如何建立一个程序的基本语法：
1.作为一个程序是以“起始”为开始，“终止”为结束。当选择“编辑新程序”时，在程序编辑区中将会出现以下的字符，供程序者填入相应的命令。
To（起始） 程序名称 N //修改程序名称以供识别
（过程体）
End（终止）
2.绘制不同大小的图形时需要选择不同的参数，所以使用者在设计程序时，需要使用一个比较适合的并有意义的名称来代表，传给参数的数值资料不同则执行结果也就不同，并且程序在执行过程中，也会不断地变化参数的内容。在选择参数时，需要在参数名称前面加上冒号，用来与一般程序中的命令区别开。如：
起始 程序名称 N ：参数1 ：参数2 … //定义列
…………….
Repeat ：参数 1[Forward ：参数2 …] //输入解决问题所需的命令
…………….
终止
当程序内容含有参数时，必须将所有参数写在定义列之后，以便执行时能接收必要的资料。
3.IF…THEN …ELSE…条件执行语句
基本格式为：IF 条件表达式 THEN [命令行1] ELSE [命令行2]
[命令行3]
当条件表达式：成立时，执行[命令行1]内的命令；不成立时，执行[命令行2]内的指令；在执行完[命令行1]或[命令行2]之后，则继续执行[命令行3]
LOGO命令的简写
DRAW - 清屏、海龟回母位 
CLEAN清除基本命令
CS 清屏并复位
CT 清除先前所有文
FD 前进
BK 后退 
RT 右转 
LT 左转 
PU 抬笔 
PD 落笔 
HT 藏龟 
ST 显龟 
HOME - 回家 
Repeat - 重复 
SS 图文混合屏 
FS 全图形屏 
TS 全文字屏 
ND 全文字屏、清屏 
WRAP - 环绕状态 
WINDOW - 窗口状态 
FENCE - 围栏状态 
SHOW - 屏幕输出 
TT - 在画图区显示文字 
TO……END - 过程头、尾 
IF…THEN…STOP-如果……那么……停止
PAUSE -正确
CONTINUE CO -
EDIT ALL - 进入编辑部 
STOP - 停止
TOPLEVEL - 
SETPC - 设置画笔颜色 
SETBG - 设置屏幕底色坐标作图SETX - 指定海龟横向位置 
SETY - 指定海龟纵向位置 
SETXY - 指定海龟任意位置 
SETHEADING SETH - 指定海龟方向 
XCOR - 显示海龟当前位置的X坐标 
YCOR - 显示海龟当前位置的Y坐标 
GETXY - 显示海龟当前位置的X，Y坐标 
HEADING - 显示海龟指向角度文件管理POTS - 显示工作区内所有过程的标题 
POPS（PO ALL） - 显示工作区内所有过程的内容 
PRINTOUT PO 显示工作区内过程的内容 
ERASE（ER ALL） ER 删除工作区中的过程 
DIRECTORY DIR 显示磁盘文件目录 
DISK - 显示当前盘 
SETDISK - 设置当前盘 
SAVE - 把程序存盘 
LOAD - 读程序文件
SAVEPIC - 图形存盘 
LOADPIC - 读图形文件 
DELETE - 删除文件
RENAME REN 文件改名数值计算PRINT PR 换行打印 
TYPE - 同行打印 
SETCURSOR - 打印格式 
OUTPUT OP 输出 
INT - 取整函数
ROUND - 四舍五入函数
QUOTIENT - 求商函数
REMAINDER - 余数函数
RANDOM - 随机函数
SQRT - 平方根函数
ABS - 绝对值函数
MAKE - 赋值
PRECISION - 数字显示精度字表处理FIRST - 取首 
LAST - 取尾 
BUTFIRST BF 去首 
BUTLAST BL 去尾 
EMPTY？ - 判断是否为空 
READ - 从键盘上接受一串字符
READCHAR RC 从键盘上接受一个字符 
READLIST RL 从键盘上接受一个表 
READQUOTE RQ 从键盘上接受一个字 
RESULT：- 结果 
TRUE - 真 
FALSE - 假 
COUNT - 测长函数
MAKE - 赋值
ITEM - 输出表中第：K个元素 
TEST - 测试条件 
IFTRUE IFT 测试真 
IFFALSE IFF 测试假 
KEY？ - 是否有键盘输入 
NUMBER？ - 是否是数 
WORD？ - 是否是字 
LIST？ - 是否是表 
WORD - 连接字 
SENTENCE SE 字与表、表与表的连接 
FPUT - 连接到表（字）首 
LPUT - 连接到表（字）尾 
LIST - 组成表 
RUN - 运行表 
DEFINE - 定义过程 
ASCII - 输出字符的ASCII码 
CHAR - 输出ASCII码值的字符
logo题目
一，选择填空：（每空1分，共16分）
⑴进入LOGO的命令是 _______ .
A. LOGO B. DRAW C. 键盘 D. 显示器 E. 鼠标 F. 中央处理器
⑵在编辑过程时，输入上档符号，如+号时，要用_________键，换行时要用 ______ 键，把光标快速移到行尾，要用 ______ 键，前翻一页，要用______ 键，退出编辑，回到图文混合显示方式时，要用 ______ 键.
A. F2 B. END C. SHIFT D. 回车键 E. HOME F. PageUp
⑶任何时候都能和 DRAW 起同样作用的是命令组 ______，海龟在母位时，能和SETX XCOR+40 起同样作用的命令组是 ______，能画出正方形的命令组是 ______ .
A. SETX 100 SETY 100 SETY 100 SETX 100
B. SETX 100 SETY 100 SETX 0 SETY 0
C. ST PD SS HOME
D. ST PD SS CS
RT 90 FD 40 LT 90
LT 90 FD 40 RT 90
⑷下列命令的简写形式是：
HOME _____ PENDOWNU _______ RIGHT ________ FORWARD _________
FULLSCREEN ________ SETXY __________ SHOWTURTLE ___________
A. FD B. FS C. RT D. PD E. ST F. 没有简写
二，填空：（每空1分，共14分）
⑴写出命令的名称：BK ____ LT _____ PU _____ HT ____ CS ______.
⑵LOGO系统提供了三种屏幕显示方式，它们是_______,_______和 ________ .
⑶LOGO系统提供了两种执行方式，它们是 ______ 和 ________ .
⑷背景的命令是_____，笔色的命令是_____，填充颜色的命令是_____
⑸改变笔的粗细命令是：___________
三，根据过程画出对应图形：（每题3分，共18分）
⑴ TO A1
HT FD 60 LT 90 FD 20 RT 120 FD 60 RT 120
FD 60 RT 120 FD 20 LT 90 FD 60 RT 90 FD 20
END
执行 A1
⑵TO A2
REPEAT 5 [ LT 18 FD 50 RT 90 ]
END
执行 A2
⑶TO A3
REPEAT 4 [ REPEAT 3 [ FD 20 RT 90 FD 60 RT 90 ] LT 90 ]
END
执行 A3
⑷TO A4
DRAW REPEAT 4 [ A5 RT 90 ]
END
TO A5
FD 98 RT 135 FD 40 RT 45 FD 40 RT 45 FD 40 RT 135
END
执行 A4
⑸TO A6 :N
REPEAT :N [ FD 40 RT 360/:N ]
END
TO A7 :N
REPEAT 4 [ A6 :N+1 FD 40 ] HT
END
执行 A7 3
⑹TO A8 :Y
DRAW HT
LT 90 A9 :Y RT 90 A9 :Y
SETY -100 SETY YCOR+60
LT 90 A9 :Y/2
RT 90 A9 :Y/2
END
TO A9 :Y
REPEAT 2 [ REPEAT 9 [ RT 5 FD :Y*0.174 RT 5 ] RT 90 ]
END
执行 A8 60
四，根据图形完成下列过程：（每题3分，共12分）
⑴TO LX
REPEAT _____ [ FD 40 RT 60 FD 40 RT _____ ]
END
TO EX1
HT LT _____
REPEAT _____ [ LX RT _____ ]
END
⑵TO DD
REPEAT 2 [ RT 90 FD 20 LT 90 FD 20 ]
END
TO EX2
DRAW HT
REPEAT ____[DD ___________]
END
执行：EX2
⑶ TO EX3
（STAMPOVAL 40 40 true)
REPEAT 12[_____________________________RT 30]
END
⑷ TO EX41
fd 40 rt 90 fd 40 rt 90
fd 20 rt 90 fd 20 rt 90
fd 40 rt 90 fd 10 rt 90
fd 10 rt 90 fd 20
END
TO EX4
REPEAT ______[EX41 __________]
END
执行：EX4
五，根据图形填写完整程序：（每题5分，共10分）
TO EX51
REPEAT 27[RT 5 FD 0.174*60 RT 5]
END
TO EX5
REPEAT ___[EX51 LT __________]
END
执行：EX5
TO EX52
REPEAT ___[REPEAT 3[FD 30 RT 120]RT _____]
END
执行：EX52
六，编写一个过程执行不同参数画出相对应的图形：（共10分）
七，编写一个动画，让海龟在半圆轨道上左右来回爬行.(等待时间为10秒）（共20分）
要求：带一个变量，输入10秒，则整个动画运用10秒，输入15秒，则整个动画运用15秒，以此类推.