Logo 命令大全
基础绘图命令
这些是 Logo 最核心的命令,用于控制海龟(Turtle)移动和绘图。

| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
FORWARD |
FD |
向前移动海龟 | FD 100 (向前移动100步) |
BACK |
BK |
向后移动海龟 | BK 50 (向后移动50步) |
RIGHT |
RT |
右转海龟(角度) | RT 90 (向右转90度) |
LEFT |
LT |
左转海龟(角度) | LT 45 (向左转45度) |
PENUP |
PU |
抬起笔,移动时不绘制 | PU FD 50 (移动50步,不画线) |
PENDOWN |
PD |
放下笔,移动时绘制 | PD FD 50 (移动50步,画线) |
SETPENCOLOR |
SETPC |
设置画笔颜色 | SETPC "RED (设置画笔为红色) |
SETBACKGROUND |
SETBG |
设置背景颜色 | SETBG "BLUE (设置背景为蓝色) |
CLEARSCREEN |
CS |
清空画布,海龟回中心 | CS |
CLEAN |
清空画布,海龟不移动 | CLEAN |
|
HOME |
海龟回到初始位置(中心,朝上) | HOME |
|
HIDETURTLE |
HT |
隐藏海龟 | HT |
SHOWTURTLE |
ST |
显示海龟 | ST |
画笔和填充命令
这些命令用于控制线条的粗细、样式以及封闭图形的填充。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
SETPENSIZE |
SETPS |
设置画笔粗细(像素) | SETPS 5 (设置画笔宽度为5像素) |
SETFILL |
设置填充颜色 | SETFILL "YELLOW (设置填充色为黄色) |
|
FILL |
对当前封闭区域进行填充 | FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FILL (画一个正方形并填充) |
|
BEGINFILL |
BF |
开始填充区域 | BF FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 ENDFILL |
ENDFILL |
EF |
结束填充 | (配合 BEGINFILL 使用) |
PENERASE |
PE |
设置橡皮擦模式,移动时擦除 | PE FD 50 (向前移动50步,擦除路径) |
PENPAINT |
PP |
恢复画笔模式 | PP |
重复与循环命令
Logo 的强大之处在于其重复结构,可以轻松绘制复杂图形。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
REPEAT |
重复执行一组命令 | REPEAT 4 [FD 100 RT 90] (画一个正方形) |
|
FOR |
指定次数循环,常用于绘制多边形 | FOR [i 1 6] [FD 100 RT 60] (画一个六边形) |
|
TO |
定义一个新过程(函数/子程序) | TO SQUARE :size ... END |
|
END |
结束一个过程的定义 | (与 TO 配对使用) |
过程(Procedure)定义与使用
过程是 Logo 编程的核心,可以封装代码,实现模块化。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
TO |
开始定义一个过程 | TO SQUARE :size |
|
END |
结束过程的定义 | FD :size RT 90 FD :size RT 90 FD :size RT 90 FD :size RT 90 END |
|
OUTPUT |
OP |
从过程中返回一个值 | TO DOUBLE :num OUTPUT :num * 2 END |
STOP |
停止当前过程的执行 |
如何使用过程:

- 定义一个画正方形的过程:
TO SQUARE :size REPEAT 4 [FD :size RT 90] END - 调用过程:
SQUARE 50(画一个边长为50的正方形)SQUARE 100(画一个边长为100的正方形)
变量与数学运算
Logo 使用变量来存储和计算数据。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
MAKE |
创建或修改变量 | MAKE "side 100 (创建名为 side 的变量,值为100) |
|
THING |
获取变量的值 | FD THING "side (等同于 FD 100) |
|
| 加法 | PRINT 5 + 3 (输出 8) |
||
| 减法 | PRINT 10 - 4 (输出 6) |
||
| 乘法 | PRINT 6 * 7 (输出 42) |
||
| 除法 | PRINT 20 / 5 (输出 4) |
||
RANDOM |
生成一个随机数 | FD RANDOM 100 (向前移动0到99之间的随机步数) |
|
INT |
取整数部分 | PRINT INT 3.14 (输出 3) |
|
SQRT |
计算平方根 | PRINT SQRT 16 (输出 4.0) |
条件判断命令
这些命令让程序能够根据不同情况执行不同的操作。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
IF |
如果条件为真,则执行一组命令 | IF XCOR > 0 [RT 90] (如果海龟的X坐标大于0,则右转90度) |
|
IFELSE |
如果条件为真则执行第一组命令,否则执行第二组 | IFELSE YCOR < 0 [SETBG "BLACK] [SETBG "WHITE] |
|
EQUAL? |
判断两个值是否相等 | IF EQUAL? 4 4 [PRINT "YES] |
|
NOTEQUAL? |
<> 或 |
判断两个值是否不相等 | IF NOTEQUAL? :size 0 [FD :size] |
GREATER? |
> |
判断第一个数是否大于第二个数 | IF GREATER? :size 50 [SETPC "RED] |
LESS? |
< |
判断第一个数是否小于第二个数 | IF LESS? :size 50 [SETPC "BLUE] |
AND |
逻辑与(所有条件都为真时为真) | IF AND (XCOR > 0) (YCOR > 0) [ST] |
|
OR |
逻辑或(任一条件为真时为真) | IF OR (XCOR < 0) (YCOR < 0) [HT] |
|
NOT |
逻辑非(取反) | IF NOT (PENMODE = "DOWN) [PD] |
输入输出与屏幕控制
这些命令用于与用户交互和控制屏幕显示。
| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
PRINT |
在命令行打印文本或变量的值 | PRINT "Hello" (打印 Hello) |
|
PR |
PRINT 的简写 |
PR "Hello |
|
TYPE |
打印文本,不换行 | TYPE "A" TYPE "B" TYPE "C" (会输出 ABC 在同一行) |
|
READLIST |
RL |
从用户读取一行文本(列表) | MAKE "name READLIST |
READWORD |
RW |
从用户读取一个单词 | MAKE "color READWORD |
KEY? |
检测是否有键盘按键被按下 | IF KEY? [PRINT "Key Pressed] |
|
CLEARTEXT |
CT |
清空命令行文本 | CT |
TEXTSCREEN |
TS |
切换到全屏文本模式 | TS |
FULLSCREEN |
FS |
切换到全屏绘图模式 | FS |
SPLITSCREEN |
SS |
分屏模式(绘图和命令行并存) | SS |
高级与特殊命令
这些是一些更高级或特定于某些 Logo 版本的命令。

| 命令 | 缩写 | 功能描述 | 示例 |
|---|---|---|---|
SETPOS |
将海龟移动到指定坐标 | SETPOS [100 100] (移动到坐标 x=100, y=100) |
|
SETHEADING |
SETH |
设置海龟的朝向角度(0度为正上方) | SETH 90 (海龟朝右) |
HEADING |
获取海龟当前的朝向角度 | PRINT HEADING |
|
XCOR |
获取海龟当前的X坐标 | PRINT XCOR |
|
YCOR |
获取海龟当前的Y坐标 | PRINT YCOR |
|
LOAD |
从文件加载 Logo 程序(过程) | LOAD "mylogo.lgo" |
|
SAVE |
将当前所有过程保存到文件 | SAVE "mylogo.lgo" |
|
ERALL |
清除所有已定义的过程 | ERALL |
|
ERNAME |
ERN |
删除指定的过程 | ERNAME "SQUARE |
实用技巧与示例
示例1:画一个彩色螺旋线
TO SPIRAL :size :angle IF :size > 200 [STOP] ; 如果尺寸过大则停止 SETPENCOLOR :size ; 颜色随大小变化 FD :size RT :angle SPIRAL :size + 2 :angle ; 递归调用,尺寸增加 END SPIRAL 5 91
示例2:画一个五角星
TO STAR :size
REPEAT 5 [
FD :size
RT 144
]
END
STAR 100
示例3:一个简单的交互式画图程序
TO DRAW
CS HT
PRINT "Use W/A/S/D to move, Q to quit."
WHILE "TRUE [
IF KEY? [
MAKE "key READCHAR
IF :key = "w [FD 10]
IF :key = "s [BK 10]
IF :key = "a [LT 90]
IF :key = "d [RT 90]
IF :key = "q [STOP] ; 按Q退出
]
]
PRINT "Goodbye!
END
DRAW
希望这份大全能帮助你更好地学习和使用 Logo 语言!Logo 语言非常适合初学者理解编程的基本概念,如循环、条件、变量和递归,祝你玩得开心!
