LOGO语言命令.docx
《LOGO语言命令.docx》由会员分享,可在线阅读,更多相关《LOGO语言命令.docx(16页珍藏版)》请在冰豆网上搜索。
![LOGO语言命令.docx](https://file1.bdocx.com/fileroot1/2023-2/1/d13a2c91-6220-4431-a1a0-6e0d0cca0f12/d13a2c91-6220-4431-a1a0-6e0d0cca0f121.gif)
LOGO语言命令
pclogo语言命令
(一)
LOGO语言的编程
一般的编程语言都需要编写程序,当然,LOGO语言也不例外。
由于指令容易输入错误,不易修改且无法保存,更不能重复使用,如果需要重新绘制相同的图形,那么必须输入与以前相同的指令,并且这些曾输入的指令不能加以组合。
至于程序的内容,是由解决问题的步骤所需要的指令组合而成的,需由设计者赋予该程序以名称,以供识别。
使用LOGO语言作图,虽然可以通过命令行方式进行,但这仅针对初学LOGO语言时,可以开始学一些常用命令,作出一些简单的图形,以引起儿童的兴趣。
在对命令比较了解及熟悉以后,就可以进行针对性地学习一些简单的程序编写,作出更加漂亮的图形。
下面我将以MSWLogo为例来介绍如何建立一个程序的基本语法:
1.作为一个程序是以“起始”为开始,“终止”为结束。
当选择“编辑新程序”时,在程序编辑区中将会出现以下的字符,供程序者填入相应的命令。
To(起始)程序名称N//修改程序名称以供识别
…………..
…………..//输入解决问题所用到的命令
…………..
End(终止)
2.绘制不同大小的图形时需要选择不同的参数,所以使用者在设计程序时,需要使用一个比较适合的并有意义的名称来代表,传给参数的数值资料不同则执行结果也就不同,并且程序在执行过程中,也会不断地变化参数的内容。
在选择参数时,需要在参数名称前面加上冒号,用来与一般程序中的命令区别开。
如:
起始程序名称N:
参数1:
参数2…//定义列
…………….
Repeat:
参数1[Forward:
参数2…]//输入解决问题所需的命令
…………….
终止
当程序内容含有参数时,必须将所有参数写在定义列之后,以便执行时能接收必要的资料。
…THEN…ELSE…条件执行语句
基本格式为:
IF条件表达式THEN[命令行1]ELSE[命令行2]
[命令行3]
当条件表达式:
成立时,执行[命令行1]内的命令;不成立时,执行[命令行2]内的指令;在执行完[命令行1]或[命令行2]之后,则继续执行[命令行3]
该软件可在处下载。
LOGO命令的简写和功能
1.前进命令FORWARD(简写FD)
【格式】FD步长
【功能】命令小海龟按当前方向前进指定的步长。
【说明】
⑴在LOGO语言中,命令与数据之间是以空格分隔的。
如,在输入的前进命令和步长之间必须用空格分隔。
⑵小海龟移动时,要特别注意它的当前位置和方向,当前方向就是它的头所指的方向。
⑶让小海龟移动时,是通过步长的长短来控制机器人前进的距离。
⑷步长的具体值就是指距离的长短(小海龟的默认值为每1个步长为厘米)。
如FD100中步长值为100,是让小海龟前进50厘米。
⑸输入的LOGO命令既可以是大写字母,也可以是小写字母,例如,“fd100”命令,也可以写成“FD100”,两种输入方式的执行效果相同
2.后退命令BACK(简写BK)
【格式】BK步长
【功能】命令小海龟按当前方向后退指定的步长。
【说明】
⑴让小海龟移动时,是通过步长来控制小海龟后退的距离。
⑵小海龟移动时,要特别注意它的当前位置和方向,后退方向就是它的头所指的反方向。
⑶步长的具体值就是指步长的长短(小海龟的默认值为每一步长为厘米)。
⑷前进、后退等命令需要的数据既可以是具体数值,也可以是一个算式,小海龟会自动计算算式,再按计算的结果完成任务。
在计算机中加号、减号、乘号、除号分别用“+”、“-”、“*”、“/”符号表示。
【应用】后退100步:
⑴命令方式:
BK100
⑵过程方式:
TOHT
BK100
END
3.左转命令LEFT(简写LT)
【格式】LT角度
【功能】命令小海龟向左(逆时针方向)转动指定的角度。
【说明】
⑴让小海龟转动时,是通过角度的值来控制小海龟向左转动的角度。
⑵LOGO语言中LT180,此命令的是让小海龟左转180度。
【应用】向左转动90度:
⑴命令方式:
LT90
⑵过程方式:
TOZZ
LT90
END
4.右转命令RIGHT(简写RT)
【格式】RT角度
【功能】命令小海龟向右(顺时针方向)转指定的角度。
【说明】
⑴让小海龟转动时,是通过角度的值来控制小海龟向右转动的角度。
⑵LOGO语言中RT90,此命令的意思是小海龟右转90度。
【应用】向右转动90度:
⑴命令方式:
RT90
⑵过程方式:
TOYZ
RT90
END
5.时间命令WAIT
【格式】WAIT时间
【功能】等待一段时间。
【说明】
⑴在让小海龟运动时,可以通过时间命令,调整两个命令间的等待时间。
⑵WAIT1000此命令是将等待时间设为1000毫秒(1秒)。
【应用】
前进100步,等待1秒:
⑴命令方式:
RT90
⑵过程方式:
TODD
FD100WAIT1000
END
6.初始化命令DRAW
【格式】DRAW
【功能】将LOGO语言系统恢复为启动时的初始状态。
【说明】
⑴初始化命令,将系统恢复为启动时的初始状态。
⑵初始化命令,是一个无参数命令。
⑶系统启动时默认为初始状态,可以省略。
7.落笔命令PD
【格式】PD
【功能】命令小海龟落下“画笔”,小海龟就又可以画图了。
⑴落笔命令在“仿真”运行时可以使用,落笔后,小海龟移动时可以留下移动的轨迹。
⑵安装了画笔模块,小海龟就会有一支真正的画笔,这时落笔命令才有作用。
⑶落笔命令PD后面没有参数。
⑷落笔命令要与抬笔命令配合使用,当小海龟处于抬笔状态时,移动不会留下痕迹,只有输入落
笔命令,小海龟移动时可以留下移动的轨迹。
【应用】
小海龟落下画笔,前进100步:
⑴命令方式:
PD
⑵过程方式:
TODD
PDFD100
END
8.抬笔命令PU
【格式】PU
【功能】命令小海龟抬起“画笔”,这时,小海龟再移动时,就不会留下痕迹了。
【说明】
⑴抬笔命令在“仿真”运行时可以使用,系统默认为抬笔状态。
⑵小海龟安装了画笔模块,小海龟就会有一支真正的画笔,这时抬笔命令才有作用。
⑶抬笔命令PU后面没有参数。
【应用】
小海龟落下画笔,前进100步,抬起画笔,前进100步:
⑴命令方式:
PU
⑵过程方式:
TODD
PDFD100PUFD100
END下一个命令。
9、清屏命令CS
【格式】cs
【功能】清除屏幕上所有的图形,海龟回到初使位置。
注:
清屏幕命令不带参数,清屏幕命令只能将屏幕的图形清除,海龟回到初始位置,不改变当前其他状态参数的设置。
10、清图命令CLEAN
【格式】clean
【功能】CLEAN (只清除了屏幕上的图形,其他一切不变)
pclogo语言命令
(二)
STAMPOVAL画椭圆命令
1) 画空心椭圆
格式:
STAMPOVAL 参数1 参数2
注:
如果是显龟,海龟始终处在所画图形的中间位置。
不论海龟头的方向如何,画出的椭圆的对称轴始终与X轴、Y轴保持一致。
当两轴取值相同时所画图形为圆。
例如:
?
DRAW
?
STAMPOVAL10050
?
RT45FD50
?
STAMPOVAL100100
2) 画实心椭圆
格式:
(STAMPOVAL 参数1 参数2” TRUE)
注:
实心圆内所填充的颜色与当前笔的颜色一致。
例如:
?
DRAW
?
(STAMPOVAL150 50”TRUE)
?
PUFD150PD
?
(STAMPOVAL60 80”TRUE)
画矩形命令 STAMPRECT
1) 画空心矩形
格式:
STAMPRECT 参数1 参数2
注:
参数1为矩形横向的宽度,参数2为矩形的纵向宽度,不论海龟的方向如何,海龟始终处在所画图形的左下角。
当两个宽度相等时所画图形为正方形。
例如:
?
DRAW
?
STAMPRECT250100
?
DRAW
?
STAMPRECT130130
2) 画实心矩形
格式:
(STAMPRECT 参数1 参数2”TRUE)
注:
参数1为矩形横向宽度,参数2矩形纵向的宽度。
例如:
?
DRAW
?
(STAMPRECT100 100”TRUE)
?
(STAMPRECT280 170”TRUE)
pclogo语言命令(三)
9.重复命令REPEAT
【格式】 REPEAT 重复次数[需要重复的命令]
【功能】将方括号内的命令重复执行指定的次数。
⑴ 使用重复命令的关键是要找准“需要重复的命令”。
画4条线就应重复4次,画一条线的命令就是“需要重复的命令”。
⑵ 当某些命令需要反复执行多次时,用重复命令,可以简化命令的输入过程。
【应用】
画正方形:
⑴ 命令方式:
REPEAT4[FD100WAIT500RT90WAIT500]
⑵ 过程方式:
TOZFX
REPEAT4[FD100WAIT500RT90WAIT500]
END
10.赋值命令MAKE
【格式】 MAKE"变量名 表达式
【功能】 将表达式的值,赋给指定的变量。
【说明】
⑴ “"”表示赋值对象,"后面是变量名。
⑵ 表达式是赋值内容,执行赋值命令时先计算,然后将值赋给变量名表示的变量,如MAKE
"A8*3/2,执行后A的值就是12.。
【应用】
给变量赋值(前进200步):
⑴ 命令方式:
MAKE"A100
⑵ 过程方式:
TOQJ
MAKE"A100
MAKE"B :
A+100
FD :
B
END
12.条件转移命令1
【格式1】 IF 条件表达式 THEN 命令组
【功能】当条件表达式成立时,先执行THEN后面的命令,再执行下一行命令。
当条件表达式不成立时,就直接执行下一行命令。
【说明】
⑴ 条件转移命令使机器人有了判断的能力。
根据判断出的结果,小海龟可以有选择地进行下一步的工作。
等于 =
大于 >
大于等于 >=
小于 <
小于等于 <=
不等于 <>
⑵ 条件表达式可以分为简单条件和复杂条件:
① 简单条件
两个表达式比较就是简单条件(表达式我们放在后面讲,在这里可以理解为一个算式),形式为:
(表达式)(关系运算符)(表达式)
例如:
:
A>60 :
X+2>5*2 :
N=0 都是简单条件。
② 复杂条件
由简单条件进行一些逻辑运算就是复杂条件。
⑶ 逻辑运算
LOGO语言中逻辑运算符有三种:
AND(与)、OR(或)、NOT(非),逻辑表达式的运算结果是一个
逻辑值。
逻辑运算结果如下:
:
AAND :
B 只有A 为真,B为真,逻辑表达式为真。
:
AOR :
BA和B中只要一个为真,逻辑表达式为真。
:
NOT :
NN为真,逻辑表达式值为假; N为假,逻辑表达式值为真。
⑷ 在逻辑运算、关系运算、数学运算的组合条件判断中,必须使用括号来表明运算顺序。
⑸ 各种数学运算的范围为:
0~65535,不能超过。
除法运算为整数除法,即取商。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
FD2WAIT2
IF :
PIN5=0THENRT90
END
13.条件转移命令2
【格式2】 IF<条件表达式>THEN<命令1>ELSE<命令2>
【功能】当条件表达式成立时,执行THEN后面的“命令1”;当条件表达式不成立时,执行ELSE后面的“命令2”。
执行完命令1或命令2后,再执行下一条命令。
【说明】
条件转移命令IF<条件表达式>THEN<命令组1>ELSE<命令组2> 必须写在一行。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
IF :
PIN5=0THENRT90ELSEFD2WAIT2
END
14.停止命令STOP
【格式】 STOP
【功能】过程执行中遇到此命令,立即停止执行当前的过程。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
FD2WAIT2
IF :
PIN5=0THENSTOP
END
15.返回命令RETURN
【格式】 RETURN
【功能】返回调用过程命令的
pclogo语言命令——转移
条件转移命令1
【格式1】IF条件表达式THEN 命令组
功能】当条件表达式成立时,先执行THEN后面的命令,再执行下一行命令。
当条件表达式不成立
时,就直接执行下一行命令。
【说明】
⑴条件转移命令使机器人有了判断的能力。
根据判断出的结果,机器人可以有选择地进行下一步的工
作。
等于大于大于等于小于小于等于不等于
=>>=<<=<>
⑵条件表达式可以分为简单条件和复杂条件:
①简单条件
两个表达式比较就是简单条件(表达式我们放在后面讲,在这里可以理解为一个算式),形式为:
(表达式)(关系运算符)(表达式)
例如:
:
A>60 :
X+2>5*2:
N=0都是简单条件。
②复杂条件
由简单条件进行一些逻辑运算就是复杂条件。
⑶逻辑运算
LOGO语言中逻辑运算符有三种:
AND(与)、OR(或)、NOT(非),逻辑表达式的运算结果是一个
逻辑值。
逻辑运算结果如下:
:
AAND:
B 只有A为真,B为真,逻辑表达式为真。
:
AOR:
B A和B中只要一个为真,逻辑表达式为真。
:
NOT :
N N为真,逻辑表达式值为假;N为假,逻辑表达式值为真。
⑷在逻辑运算、关系运算、数学运算的组合条件判断中,必须使用括号来表明运算顺序。
⑸各种数学运算的范围为:
0~65535,不能超过。
除法运算为整数除法,即取商。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
FD2WAIT2
IF:
PIN5=0THEN RT90
END
条件转移命令2
【格式2】IF<条件表达式>THEN<命令1>ELSE<命令2>
【功能】当条件表达式成立时,执行THEN后面的“命令1”;当条件表达式不成立时,执行ELSE后面的
“命令2”。
执行完命令1或命令2后,再执行下一条命令。
【说明】
条件转移命令IF<条件表达式>THEN<命令组1>ELSE<命令组2>
必须写在一行。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
IF:
PIN5=0THENRT90ELSEFD2WAIT2
END
pclogo语言命令——stop
停止命令STOP
【格式】STOP
【功能】过程执行中遇到此命令,立即停止执行当前的过程。
【应用】
躲避前方障碍物
过程方式:
TOQBZ
FD2WAIT2
IF:
PIN5=0THENSTOP
END
返回命令RETURN
【格式】RETURN
【功能】返回调用过程命令的下一个命令
pclogo语言——过程
我们把机器人完成一件事情所需要的所有命令放在一起,取个名字保存起来,就形成了一个过 程。
调用过程时,只要直接调用过程的名字,机器人就会自动完成过程中所有的命令,做完这件 事情。
LOGO系统有两种执行方式:
在LOGO语言下传过程名对话框中,输入命令,进行命令下传后,命令就被立即执行,我们通常称使用过程不仅为LOGO系统增添了新的命令,而且修改起来十分方便,还可以长期保存、随时调用。
2.过程的组成
过程由三部分组成:
过程头、过程体、过程尾。
【格式】
TO过程名 (过程头)
过程体 (完成某一任务的全部命令)
END (过程尾)
【功能】让机器人做一件事情的所有的命令放在一起就形成了一个过程,只要直接调用过程的名字,机器人就会自动完成过程中所有的命令。
【说明】
⑴过程头:
过程开始的标志。
以“TO”开始,后面是给出的过程名,“TO”与过程名之间用空格分开。
⑵过程名可以是英文字母、英文字母与数字的组合或汉字,但不能与LOGO命令名相同,也不能用+、-、×、/、^等运算符号和空格键。
⑶过程体:
完成某一任务的全部命令,我们学过的命令都可以做过程体的内容。
⑷过程尾:
过程的最后一行是“END”,表示过程的结束,END必须另起一行。
pclogo画图例子
例1、 请你编写过程,帮小海龟建起这栋房子吧!
(如下图)
解 分析这个房子图,它是由三角形,圆形,长方形和正方形组成,根据这些形状的大小,我们先为每个形状编一个过程。
TO sanj \\三角形的过程\\
REPEAT 3[FD 60 RT 120]
END
TO chang\\长方形的过程\\
REPEAT 2[FD 80 RT 90 FD 60 RT 90]
END
TO chuang\\四个正方形的过程\\
REPEAT 4[REPEAT 4[FD 20 RT 90]RT 90]
END
TO yuan\\圆的过程\\
REPEAT 36[RT 5 FD *20/36 RT 5]
END
然后,我们就将这些过程拼起来,组成一栋小房子。
在拼接的过程中,要注意两点:
(1) 拼图时,要确定好整个图形的起笔点。
(2) 一定要注意各个图形之间的衔接,这就要求我们牢记基本模块的起笔点,并弄清拼接时的位置要求。
这一题中,房顶的三角形需要先将海龟向右转30度(RT 30),然后再开始。
拼接的过程如下:
TO fangzi
CS
RT 30 san
RT 60 FD 30 LT 90 PU FD 20 RT 90 PD
yuan
RT 90 PU FD 20 RT 90 FD 30 RT 90 BK
80 PD chang
PU FD 30 RT 90 FD 30 LT 90 PD chuang
END
例2、 画一列小火车,接大家去做客!
(如下图)
解:
观察这列火车,有四节相同的车厢部分,而这些车厢又有长方形和圆形组成,因此,我们先定义一个画圆的过程和一个画长方形的过程,
TO YUAN\\定义圆的过程\\
REPEAT 36[RT 5 FD 6*36 RT 5]
END
TO CHANG\\定义长方形的过程\\
REPEAT 2[FD 30 RT 90 FD 40 RT 90]
END
然后将这两个过程组合起来画成一个车厢,
TO CHEXIANG\\定义车厢的过程\\
RT 90 FD 7 LT 90 BK 15
CHANG
RT 90 FD 10 YUAN FD 20 YUAN
END
最后调用车厢的过程并加上一些辅助图形完成整副火车
拼接的过程中,同样要注意,每个过程中海龟的起点在什么位置,终点在什么位置,下一个部分要从什么位置开始,怎样将海龟移到正确的位置。
具体拼接过程如下:
TO HUOCHE
CS HT PU LT 90 FD 100
PD RT 90 CHEXIANG FD 10
REPEAT 2[FD 40 LT 90 FD 60 LT 90]
FD 10 YUAN FD 20 YUAN FD 10
LT 90 FD 60 LT 90