通用LOGO语言的基本知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通用LOGO吾言的基本知识
1.常数
⑴LOG O语言允许使用十进制数,写法与平常的十进制数相同。
⑵ 使用的数为整型量,允许值为0——65535 ,不能直接使用小数和分数,小数 3.14*100 可写
为314*100/100 ,计算机会自动取整。
2.变量
⑴ 变量名为字母开头的任意长度的字母与数字的组合,但不能使用作为命令的关键字(关键字
见附表),变量名前要加:如:A。
⑵ 变量名中不能有空格,不能使用方括号、圆括号、运算符。
⑶ 所有变量,除过程参数外,必须先定义后使用。
⑷WO、W1为预定义的字变量(字变量允许值为0―― 65535),如使用其他名做字变量,须用。
Make " 变量名表达式定义后使用。
⑸ 所有变量均为过程变量(只限于本过程中使用),TY0-16 为全程变量(可在整个程序中使用),使用前要定义。
3 .表达式
⑴ 表达式可以为常量、变量、运算符等。
⑵ 如果其中使用变量,必须用:变量名的形式,如:A+B 应写成:A+:B。
⑶ 表达式的写法与数学中有些不同,4a+3b-2 应写成
4*:A+3* :B-2
4.运算
⑴LOGO语言中有加、减、乘、除四种运算,加号、减号、乘号、除号分别用“+”、“- ”、“*”、
“ / ”符号表示。
⑵LOGO语言中没有乘方运算,23可写成2*2*2
⑶ 运算的次序与数学一样,先乘除后加减,同级运算自左至右顺序计算,要改变顺序,可加圆括号,不能使用方括号和花括号。
⑷LOGO语言中逻辑运算符有三种:AND(与)、OR或)、NOT(非),逻辑运算符,逻辑运算符前
后的表达式要加圆括号,如(:A+:B)AND (:B+:C)。
四、通用LOGO吾言的基本命令
对于在LOGC语言中,输入命令就被立即执行,我们通常称之为“立即方式”,或“命令方式”。
1 •前进命令FORWARD简写FD)
【格式】FD 步长【功能】命令机器人按当前方向前进指定的步长。
【说明】
⑴ 在LOGO语言中,命令与数据之间是以空格分隔的。
女口,在输入的前进命令和步长之间必须用
空格分隔。
⑵ 机器人移动时,要特别注意它的当前位置和方向,当前方向就是它的头所指的方向。
⑶ 让机器人移动时,是通过步长的长短来控制机器人前进的距离。
⑷ 步长的具体值就是指距离的长短(机器人的默认值为每1 个步长为0.5 厘米)。
如FD 100 中
步长值为100,是让机器人前进50 厘米。
⑸输入的LOGO命令既可以是大写字母,也可以是小写字母,例如,“ fd 100 ”命令,也可以
写成“ FD 100 ”,两种输入方式的执行效果相同 2.右转命令RIGHT (简写RT)
【应用】
前进100 步:
⑴ 命令方式:FD 100
⑵ 过程方式:
TO QJ
FD 100
END 2 •后退命令BACK(简写BK
【格式】BK 步长
【功能】命令机器人按当前方向后退指定的步长。
【说明】
⑴ 让机器人移动时,是通过步长来控制机器人后退的距离。
⑵ 机器人移动时,要特别注意它的当前位置和方向,后退方向就是它的头所指的反方向。
⑶ 步长的具体值就是指步长的长短(机器人的默认值为每一步长为0.5 厘米)。
⑷ 前进、后退等命令需要的数据既可以是具体数值,也可以是一个算式,机器人会自动计算算式,再按计算的结果完成任务。
在计算机中加号、减号、乘号、除号分别用“+”、“- ”、
“ * ”、“ /
符号表示。
【应用】
后退100 步:
⑴ 命令方式:BK 100
⑵ 过程方式:
TO HT
BK 100
END
3.左转命令LEFT (简写LT)
【格式】LT 角度【功能】命令机器人向左(逆时针方向)转动指定的角度。
【说明】
⑴ 让机器人转动时,是通过角度的值来控制机器人向左转动的角度。
⑵LOGO语言中LT 180,此命令的是让机器人左转180度。
【应用】
向左转动90 度:
⑴ 命令方式:LT 90
⑵ 过程方式:
TO ZZ
LT 90
END
4 .右转命令RIGHT (简写RT)
【格式】RT 角度【功能】命令机器人向右(顺时针方向)转指定的角度。
【说明】
⑴ 让机器人转动时,是通过角度的值来控制机器人向右转动的角度。
⑵LOG0语言中RT 90 ,此命令的意思是机器人右转90度。
【应用】
向右转动90 度:
⑴ 命令方式:RT 90
⑵ 过程方式:
TO YZ
RT 90
END
5.时间命令WAIT
【格式】WAIT 时间【功能】等待一段时间。
【说明】
⑴ 在让机器人运动时,可以通过时间命令,调整两个命令间的等待时间。
⑵ WAIT 1000 此命令是将等待时间设为1000 毫秒(1 秒)。
【应用】
前进100 步,等待1 秒:
⑴ 命令方式:FD 100 WAIT 1000
⑵ 过程方式:
TO DD
FD 100 WAIT 1000
END
6.初始化命令DRAW
【格式】DRAW
【功能】将LOGO吾言系统恢复为启动时的初始状态。
【说明】
⑴ 初始化命令,将系统恢复为启动时的初始状态。
⑵ 初始化命令,是一个无参数命令。
⑶ 系统启动时默认为初始状态,可以省略。
7.落笔命令PD
【格式】PD
【功能】命令机器人落下“画笔” ,机器人就又可以画图了。
⑴ 落笔命令在“仿真”运行时可以使用,落笔后,机器人移动时可以留下移动的轨迹。
⑵ 安装了画笔模块,机器人就会有一支真正的画笔,这时落笔命令才有作用。
⑶落笔命令PD后面没有参数。
⑷ 落笔命令要与抬笔命令配合使用,当机器人处于抬笔状态时,移动不会留下痕迹,只有输入落笔命令,机器人移动时可以留下移动的轨迹。
【应用】
机器人落下画笔,前进100 步:
⑴ 命令方式:PD
⑵ 过程方式:
TO DD
PD FD 100
END
8.抬笔命令PU
【格式】PU
【功能】命令机器人抬起“画笔” ,这时,机器人再移动时,就不会留下痕迹了。
【说明】
⑴ 抬笔命令在“仿真”运行时可以使用,系统默认为抬笔状态。
⑵ 机器人安装了画笔模块,机器人就会有一支真正的画笔,这时抬笔命令才有作用。
⑶抬笔命令PU后面没有参数。
【应用】
机器人落下画笔,前进100 步,抬起画笔,前进100 步:
⑴ 命令方式:PU
⑵ 过程方式:
TO DD
PD FD 100 PU FD 100
END
9.重复命令REPEAT
【格式】REPEAT 重复次数[ 需要重复的命令]
【功能】将方括号内的命令重复执行指定的次数。
【说明】
⑴ 使用重复命令的关键是要找准“需要重复的命令” 。
画4条线就应重复4 次,画一条线的命令就是“需要重复的命令” 。
⑵ 当某些命令需要反复执行多次时,用重复命令,可以简化命令的输入过程。
【应用】
画正方形:
⑴ 命令方式:REPEAT 4[FD 100 WAIT 500 RT 90 WAIT 500]
⑵过程方式:
TO ZFX
REPEAT 4[FD 100 WAIT 500 RT 90 WAIT 500]
END
10.赋值命令MAKE
【格式】MAKE "变量名表达式
【功能】将表达式的值,赋给指定的变量。
【说明】
⑴“"”表示赋值对象,“后面是变量名。
⑵ 表达式是赋值内容,执行赋值命令时先计算,然后将值赋给变量名表示的变量,如MAKE "A 8*3/2,执行后A的值就是12.。
【应用】
给变量赋值(前进200步):
⑴ 命令方式:MAKE " A 100
⑵过程方式:
TO QJ
MAKE " A 100
MAKE " B : A+100
FD : B
END
11 •声音命令PLAY
【格式】PLAY [On C D E F G A B]
【功能】让机器人按照曲谱演奏音乐。
【说明】
在PLAY命令的曲谱中,包括音符、音阶、节拍、音速。
⑴音符:
在PLAY命令中,简谱的1、2、3、4、5、6、7分别是用字母 C D、E、F、G A、B表示的。
⑵音阶:
在PLAY命令中,用On表示音阶的组别,n为0〜6之间的整数,表示从低到高的7个音阶,系统默认的音阶是O3o
⑶节拍:
节拍是指音符发声的长度。
在PLAY命令中,Ln指定了音符的节拍,它后面的音符都按规定的节拍演奏。
n为节拍代码,它是1~64之间的整数,系统默认的节拍是L4。
常用节拍对照表
⑷音速
音速是指机器人演奏乐曲的速度,当我们让机器人演奏欢快的乐曲时,就应设置快些的音速。
Tn
指定了音速,系统默认的音速是T120o当n大于120时,演奏速度较慢;当n小于120时,演
奏速度较快。
⑸在音符前面的节拍代码,可以单独指定这音符的长度。
如,“ 2E”表示让机器人唱两拍的“ 3”音,即"3- ” o
⑹在音符后面的符号“.”相当于简谱中的符点。
如,“2E . ”表示三拍的“ 3”音,即“ 3-- ”
⑺乐曲的末尾岀现了休止符,在PLAY命令中,休止符用Pn表示,n的取值与节拍代码相同。
如,P8表示八分休止符。
【应用】
演奏1、2、3、4、5、6、7
⑴命令方式:PLAY [ O2 C D E F G A B ]
⑵过程方式:
TO MUSIC
PLAY [ O2 C D E F G A B]
END
12 •条件转移命令1
【格式1】IF 条件表达式THEN 命令组
【功能】当条件表达式成立时,先执行THEN后面的命令,再执行下一行命令。
当条件表达式不
成立时,就直接执行下一行命令。
【说明】
⑴ 条件转移命令使机器人有了判断的能力。
根据判断岀的结果,机器人可以有选择地进行下一步的工作。
在条件表达式中,可以使用下面的关系运算符号:
⑵条件表达式可以分为简单条件和复杂条件:
①简单条件
两个表达式比较就是简单条件(表达式我们放在后面讲,在这里可以理解为一个算式),形式为:(表达式)(关系运算符)(表达式)
例如::A>60 : X+2>5*2 : N=0 都是简单条件。
②复杂条件
由简单条件进行一些逻辑运算就是复杂条件。
⑶逻辑运算
LOGO语言中逻辑运算符有三种:AND(与)、OR(或)、NOT(非),逻辑表达式的运算结果是一个
逻辑值。
逻辑运算结果如下:
:A AND : B 只有A为真,B为真,逻辑表达式为真。
:A OR : B A 和B中只要一个为真,逻辑表达式为真。
:NOT : N N 为真,逻辑表达式值为假;N为假,逻辑表达式值为真。
⑷在逻辑运算、关系运算、数学运算的组合条件判断中,必须使用括号来表明运算顺序。
⑸各种数学运算的范围为:0〜65535,不能超过。
除法运算为整数除法,即取商。
【应用】
躲避前方障碍物
过程方式:
TO QBZ
FD 2 WAIT 2
IF : PIN5=0 THEN RT 90
END
13 •条件转移命令2
【格式2】IF < 条件表达式> THEN <命令1> ELSE < 命令2>
【功能】当条件表达式成立时,执行THEN后面的“命令1”;当条件表达式不成立时,执行ELSE 后面的“命令2”。
执行完命令1或命令2后,再执行下一条命令。
【说明】
条件转移命令IF < 条件表达式> THEN <命令组1> ELSE <命令组2>
必须写在一行。
【应用】
躲避前方障碍物
过程方式:
TO QBZ
IF :PIN5=0 THEN RT 90 ELSE FD 2 WAIT 2
END
14.停止命令STOP
【格式】STOP
【功能】过程执行中遇到此命令,立即停止执行当前的过程。
【应用】躲避前方障碍物
过程方式:
TO QBZ
FD 2 WAIT 2
IF :PIN5=0 THEN STOP
END
15.返回命令RETURN 【格式】RETURN 【功能】返回调用过程命令的下一个命令。
五、过程
1.什么是过程我们把机器人完成一件事情所需要的所有命令放在一起,取个名字保存起来,就形成了一个
过程。
调用过程时,只要直接调用过程的名字,机器人就会自动完成过程中所有的命令,做完这件事情。
LOGC系统有两种执行方式:
在LOGO吾言下传过程名对话框中,输入命令,进行命令下传后,命令就被立即执行,我们通常称之为“立即工作方式” ,或“命令工作方式” ;
在LOGO吾言窗口中编辑的过程,需要被调用后才能执行,我们通常称之为“延迟方式”,或
“程序工作方式” 。
使用过程不仅为LOGC系统增添了新的命令,而且修改起来十分方便,还可以长期保存、随时调用。
2.过程的组成
过程由三部分组成:过程头、过程体、过程尾。
【格式】
TO 过程名(过程头)
过程体(完成某一任务的全部命令)
END (过程尾)
【功能】让机器人做一件事情的所有的命令放在一起就形成了一个过程,只要直接调用过程的名字,机器人就会自动完成过程中所有的命令。
【说明】
⑴ 过程头:过程开始的标志。
以“TO'开始,后面是给岀的过程名,“ TO'与过程名之间用空
格分开。
⑵过程名可以是英文字母、英文字母与数字的组合或汉字,但不能与LOGC命令名相同,也不能
用+、—、x、/、人等运算符号和空格键。
⑶ 过程体:完成某一任务的全部命令,我们学过的命令都可以做过程体的内容。
⑷过程尾:过程的最后一行是“END',表示过程的结束,END必须另起一行。
六、输入和输岀端口
1.机器人共有16 个双向的I/O (输入输岀)口,打开和关闭不同的I/O 口,机器人会有不同的反应。
2.红外线传感器端口
(号端口)的默认值
七、运动折算率
⑴单击菜单栏的“设置语言选择”命令,出现“LOGC运动折算率调整”对话框,如图所示。
⑵移动调整系数可以调整运动的距离,单击移动调整系数的上下箭头,可以调整步长的距离统默认1个步长为0.5厘米,100% ,调整系数可在1%到200%之间选择。
⑶转动调整系数可以调整转动的角度,单击转动调整系数的上下箭头,可以调整转动的角度统默认1为1度,100%),调整系数可在1%到200%之间选择。
(系
(。