logo语言教程LOGO是一种计算机程序设计语言,LOGO源自希腊文,原意为思想,最初的LOGO语言是由一名叫佩伯特的心理学家设计的。
他在从事人工智能的研究中,一个像海龟的机械装置,触发了他的灵感。
他利用广博的知识及聪明的才智完成了LOGO语言的设计。
佩伯特希望孩子不要机械地记忆事实,强调创造性的探索。
他说:“学校的多数课程是记忆一些数据和科学事实,却很少着眼于真正意义上的学习与思考。
”他用LOGO语言启发孩子们学会学习,一些孩子用LOGO语言设计出了真正的程序。
LOGO语言是一种结构化程序设计语言。
它是交互式的,为人们提供了良好的编程环境;它是模块化的,便于程序的修改与扩充;它是过程化的,包含了过程、参数、变量等重要概念,并允许递归调用;它有丰富的数据结构类型;有生动的图形处理功能;。
它不仅具备多种优秀程序设计语就能掌握LOGO的基本绘图指令,高年级学LOGO程序设计自然不是难事。
LOGO语言是中小学生十分喜爱的一种计算机程序设计语言,它里面有一个绘画能手——小海龟。
小海龟本领高强,会唱歌、会画画,多才多艺。
我们可以指挥小海龟在屏幕上画出丰富多彩的图画,奏出美妙动听的音乐。
你是不是想和神通广大的小海龟交朋友?对于在LOGO语言中,输入命令就被立即执行,我们通常称之为“立即方式”,或“命令方式”。
1.前进命令FORWARD(简写FD)【格式】 FD 步长【功能】命令小海龟按当前方向前进指定的步长。
【说明】⑴ 在LOGO语言中,命令与数据之间是以空格分隔的。
如,在输入的前进命令和步长之间必须用空格分隔。
⑵ 小海龟移动时,要特别注意它的当前位置和方向,当前方向就是它的头所指的方向。
⑶ 让小海龟移动时,是通过步长的长短来控制机器人前进的距离。
⑷ 步长的具体值就是指距离的长短(小海龟的默认值为每1个步长为0.5厘米)。
如FD 100中步长值为 100,是让小海龟前进50厘米。
⑸ 输入的LOGO命令既可以是大写字母,也可以是小写字母,例如,“fd 100”命令,也可以写成“FD 100”,两种输入方式的执行效果相同2.后退命令BACK(简写BK)【格式】 BK 步长【功能】命令小海龟按当前方向后退指定的步长。
【说明】⑴ 让小海龟移动时,是通过步长来控制小海龟后退的距离。
⑵ 小海龟移动时,要特别注意它的当前位置和方向,后退方向就是它的头所指的反方向。
⑶ 步长的具体值就是指步长的长短(小海龟的默认值为每一步长为0.5厘米)。
⑷ 前进、后退等命令需要的数据既可以是具体数值,也可以是一个算式,小海龟会自动计算算式,再按计算的结果完成任务。
在计算机中加号、减号、乘号、除号分别用“+”、“-”、“*” 、“/”符号表示。
【应用】后退100步:⑴ 命令方式:BK 100⑵ 过程方式: TO HTBK 100END3.左转命令LEFT(简写LT)【格式】 LT 角度【功能】命令小海龟向左 (逆时针方向) 转动指定的角度。
【说明】⑴ 让小海龟转动时,是通过角度的值来控制小海龟向左转动的角度。
⑵ LOGO语言中LT 180,此命令的是让小海龟左转180度。
【应用】向左转动90度:⑴ 命令方式:LT 90⑵ 过程方式:TO ZZLT 90END4.右转命令RIGHT(简写RT)【格式】 RT 角度【功能】命令小海龟向右 (顺时针方向) 转指定的角度。
【说明】⑴ 让小海龟转动时,是通过角度的值来控制小海龟向右转动的角度。
⑵ LOGO语言中RT 90,此命令的意思是小海龟右转90度。
【应用】向右转动90度:⑴ 命令方式:RT 90⑵ 过程方式:TO YZRT 90END5.时间命令WAIT【格式】 WAIT 时间【功能】等待一段时间。
【说明】⑴ 在让小海龟运动时,可以通过时间命令,调整两个命令间的等待时间。
⑵ WAIT 1000 此命令是将等待时间设为1000毫秒(1秒)。
【应用】前进100步,等待1秒:⑴ 命令方式:RT 90⑵ 过程方式:TO DDFD 100 WAIT 1000END6.初始化命令DRAW【格式】 DRAW【功能】将LOGO语言系统恢复为启动时的初始状态。
【说明】⑴ 初始化命令,将系统恢复为启动时的初始状态。
⑵ 初始化命令,是一个无参数命令。
⑶ 系统启动时默认为初始状态,可以省略。
7.落笔命令PD【格式】 PD【功能】命令小海龟落下“画笔”,小海龟就又可以画图了。
⑴ 落笔命令在“仿真”运行时可以使用,落笔后,小海龟移动时可以留下移动的轨迹。
⑵ 安装了画笔模块,小海龟就会有一支真正的画笔,这时落笔命令才有作用。
⑶ 落笔命令PD后面没有参数。
⑷ 落笔命令要与抬笔命令配合使用,当小海龟处于抬笔状态时,移动不会留下痕迹,只有输入落笔命令,小海龟移动时可以留下移动的轨迹。
【应用】小海龟落下画笔,前进100步:⑴ 命令方式:PD⑵ 过程方式:TO DDPD FD 100END8.抬笔命令PU【格式】PU【功能】命令小海龟抬起“画笔”,这时,小海龟再移动时,就不会留下痕迹了。
【说明】⑴ 抬笔命令在“仿真”运行时可以使用,系统默认为抬笔状态。
⑵ 小海龟安装了画笔模块,小海龟就会有一支真正的画笔,这时抬笔命令才有作用。
⑶ 抬笔命令PU后面没有参数。
【应用】小海龟落下画笔,前进100步,抬起画笔,前进100步:⑴ 命令方式:PU⑵ 过程方式:TO DDPD FD 100 PU FD 100END9.重复命令REPEAT【格式】 REPEAT 重复次数[需要重复的命令]【功能】将方括号内的命令重复执行指定的次数。
⑴ 使用重复命令的关键是要找准“需要重复的命令”。
画4条线就应重复4次,画一条线的命令就是“需要重复的命令”。
⑵ 当某些命令需要反复执行多次时,用重复命令,可以简化命令的输入过程。
【应用】画正方形:⑴ 命令方式:REPEAT 4[FD 100 WAIT 500 RT 90 WAIT 500]⑵ 过程方式:TO ZFXREPEAT 4[FD 100 WAIT 500 RT 90 WAIT 500]END10.赋值命令MAKE【格式】 MAKE "变量名表达式【功能】将表达式的值,赋给指定的变量。
【说明】⑴ “"”表示赋值对象,"后面是变量名。
⑵ 表达式是赋值内容,执行赋值命令时先计算,然后将值赋给变量名表示的变量,如MAKE"A 8*3/2,执行后A的值就是12.。
【应用】给变量赋值(前进200步):⑴ 命令方式:MAKE " A 100⑵ 过程方式:TO QJMAKE " A 100MAKE " B :A+100FD :BEND11.声音命令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个音阶,系统默认的音阶是O3。
⑶ 节拍:节拍是指音符发声的长度。
在PLAY命令中,Ln指定了音符的节拍,它后面的音符都按规定的节拍演奏。
n 为节拍代码,它是1~64之间的整数,系统默认的节拍是L4。
常用节拍对照表音符名全音符二分音符四分音符八分音符十六分音符节拍值4拍2拍1拍1/2拍1/4拍简谱示例6---6-666节拍代码124816⑷ 音速音速是指小海龟演奏乐曲的速度,当我们让小海龟演奏欢快的乐曲时,就应设置快些的音速。
Tn指定了音速,系统默认的音速是T120。
当n大于120时,演奏速度较慢;当n小于120时,演奏速度较快。
⑸ 在音符前面的节拍代码,可以单独指定这音符的长度。
如,“2E”表示让小海龟唱两拍的“3” 音,即“3-”。
⑹ 在音符后面的符号“.”相当于简谱中的符点。
如,“2E .”表示三拍的“3”音,即“3--”。
⑺ 乐曲的末尾出现了休止符,在PLAY命令中,休止符用Pn表示,n的取值与节拍代码相同。
如,P8表示八分休止符。
【应用】演奏1、2、3、4、5、6、7⑴ 命令方式:PLAY [ O2 C D E F G A B ]⑵ 过程方式:TO MUSICPLAY [ O2 C D E F G A B ]END12.条件转移命令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 QBZFD 2 WAIT 2IF :PIN5=0 THEN RT 90END13.条件转移命令2【格式2】 IF <条件表达式> THEN <命令1> ELSE <命令2>【功能】当条件表达式成立时,执行THEN后面的“命令1”;当条件表达式不成立时,执行ELSE后面的“命令2”。
执行完命令1或命令2后,再执行下一条命令。
【说明】条件转移命令IF <条件表达式> THEN <命令组1> ELSE <命令组2> 必须写在一行。
【应用】躲避前方障碍物过程方式:TO QBZIF :PIN5=0 THEN RT 90 ELSE FD 2 WAIT 2END14.停止命令STOP【格式】 STOP【功能】过程执行中遇到此命令,立即停止执行当前的过程。
【应用】躲避前方障碍物过程方式:TO QBZFD 2 WAIT 2IF :PIN5=0 THEN STOPEND15.返回命令RETURN【格式】 RETURN【功能】返回调用过程命令的下一个命令。