1、(授课讲稿) 吴剑辉第二讲、海龟作图 海龟就像是一个能听懂命令的机器人,它可以按照我们的命令在屏幕上爬行,还能够留下爬行的足迹,便形成了图形。所以,海龟就仿佛是我们作图的笔,而屏幕就可看作是用来绘图的纸了。 我们必须给海龟下达一条条命令,指挥它按命令来执行。因此我们首先要学习用来指挥海龟行动的最基本的命令。一、从画一条线学起二、从画正方形说起三、画出奇妙的图案执行命令形式 (1)、命令方式:在 Logo 提示符后输入一条或多条命令,按回车键执行。在这种方式下,一旦发现命令有错或者图形不符合要求要进行修改的话,往往是一切从头做起。 (2)、程序方式:在编辑器里,通常要按先后顺序编排好能完成某种操
2、作的一系列命令。即编写“过程”,它可定义、调试、保存,并能被反复使用。在 Logo 提示符后输入以其过程名作为“新命令”来执行。 一、从画一条线学起1、怎样出现海龟?启动进入启动进入LOGOLOGO系统,在系统,在“?”LogoLogo提示符后输入:提示符后输入:DRAW DRAW 【知识点】:绘图初始化命令格式:DRAW功能:屏幕清除干净,并设置为绘图和文本混合的显示状态;海龟显示在屏幕的中央(这个点称为“源点”);海龟设置成落笔、绘图的颜色为黑色、绘图笔的宽度为 1的状态;屏幕的背景为白色;文本字体的宽度为 1的状态;绘图的显示方式设置为“环绕模式”。DRAW命令所设置的模式,是LOGO语
3、言最常用的绘画模式。 2、怎样藏龟与显龟?在“?”Logo提示符后输入:HT (海龟从屏幕绘图区中消失)在“?”Logo提示符后输入:ST (海龟重新显示在屏幕绘图区) 【知识点】: 基本的作图命令命 令格 式 简写功 能初始化DRAW 出现海龟,初始化,设置图文本状态隐龟HIDETURTLEHT让海龟隐身显龟SHOWTURTLEST让海龟重现前进FORWORD xFD x使海龟向前移动指定的 X步后退BACK xBK x使海龟向后倒退指定的 X步右转RIGHT nRT n海龟向右转 n度,(按顺时针方向)左转LEFT nLT n海龟向左转 n度,(按逆时针方向)抬笔PENUPPU把海龟的画笔
4、提起来, 移动时不留下笔迹落笔PENDOWNPD让海龟下笔, 恢复海龟的画线功能回家HOME回源点。不清屏,不改变海龟的其它状态笔擦PENERASEPE海龟移动擦掉原来图好的线条清屏复位CLEARSCREENCS清屏幕。海龟回源点,颜色粗细花纹等不变清屏CLEAN清屏幕。但不改变海龟当前的位置和方向3、怎样画一条直线?(竖、横、斜、虚、)画虚线:?CS FD 30 PU FD 30 PD FD 30 PU FD 30 PD FD 30(这条命令中出现清屏命令CS、抬笔命令PU和落笔命令PD)4、怎样画直角三角形? ?CS FD 50 RT 90 FD 80 HOME (这条命令中出现回家命令H
5、OME,指海龟不管在何处,立即就回到屏幕的中心。)在操作中学画竖线:?FD 100 (海龟按当前方向前进50步) 或 ?BK 100 (海龟按当前方向后退50步) 画横线:?RT 90 FD 100(海龟向右转90后再前进100步) 或 ?LT 90 BK 100(海龟向左转90后再后退100步)几点注意事项 1、这些命令可分成两类:一类是带有参数的命令,如FD :X要有步数、RT :N要有角度等,并且在命令和参数之间还必须加上一个空格;另一类是不带参数的命令,如HT、ST、PU、PD等。 2、计算机的回车键是一行命令的结束键。在LOGO语言中一行可以只打一个命令,也可以连打几个命令再按回车键
6、,但命令和命令之间要用空格隔开,如FD 100 RT 90。一定要在保证每一命令输入正确后再按回车键。3、当执行完笔擦命令(PE)后,如果还要继续画线,先要执行一下落笔命令(PD)。 4、在需要重复打某些命令时,可在“?”Logo提示符状态下,使用、键进行选择。 动脑筋,画一画二、从画正方形说起 1、怎样用学过的FD、BK、RT、LT等命令画正方形?假如要画一个边长为80的正方形。 ?DRAW ?FD 80 RT 90 ?FD 80 RT 90 ?FD 80 RT 90 ?FD 80 RT 90 ?DRAW ?FD 80 LT 90 ?FD 80 LT 90 ?FD 80 LT 90 ?FD
7、80 LT 90【注意】:仔细观察,是否发现用上的四行命令 FD 80 RT 90或 FD 80 LT 90 是完全一样!有没有什么好办法把它简化? 2、在LOGO语言中,使用REPEAT命令可以使多次重复的语句变得非常简单,提供方便绘制有规律的图形。 ?DRAW? REPEAT 4FD 80 RT 90【知识点】:格式:REPEAT :N执行重复的命令功能:把方括号里的命令重复执行N次注意:方括号里重复的所有命令必须写成一行,命令间用空格隔开。 3、再画正三边形、正五边形、正六边形?怎样使用重复命令?从中找到什么规律?、画正多边形:REPEAT 边数FD 边长 RT 360/边数 、画正三边
8、形:REPEAT 3FD 100 RT 120 3120=360 画正五边形:REPEAT 5FD 100 RT 72 572=360 画正六边形:REPEAT 6FD 100 RT 60 660=360、重复次数与旋转角度的关系:边数转角=360 旋转角度=360/边数;旋转图案的旋转角度=360/重复次数。重复命令4、怎样画圆? 试一试:不断增加多边形的边数 REPEAT 36FD 5 RT 10 、发现:在屏幕上的正36边形看起来和一个圆十分相近,我们常用正36边形表示圆。 、注意:圆的大小一般是由圆的半径的大小来确定的。(圆周长与它的半径关系值)即可改为,REPEAT 36FD 半径*
9、3.14/18 RT 10 、推出:用圆的半径来画圆,(:R 表示圆的半径,PI代替的值)REPEAT 360FD :R*PI/180 RT 1REPEAT 360FD :R*PI/180 LT 1 5、怎样画弧?(:N 表示弧度, :R 表示弧的半径) 左弧:REPEAT :NFD :R*PI/180 LT 1右弧:REPEAT :NFD :R*PI/180 RT 16、怎样画长方形?(:A 表示宽,:B 表示长) REPEAT 2FD :A RT 90 FD :B RT 90 7、怎样画平行四边形? REPEAT 2FD :B1 RT :J FD :B2 RT 180:J 8、怎样画正多角
10、星? 、画五角星:REPEAT 5FD 80 RT 144、画七角星:REPEAT 7FD 90 RT 720/7 、画正多角星:REPEAT :NFD :B RT :K*360/:N 说明:一般正多角星的内角角度为NJ=(N-2K)*180/N,其中K为整数,K的范围在1KN/2,且K与N没有公因数。(当K=1时可以画出正N边形。) 9、怎样画空心正多角星? REPEAT :NFD :B RT 720/:N FD :B LT 360/:N 45动脑筋,画一画三、画出奇妙的图案 在重复命令中,还可以再使用重复命令,这叫做重复命令的嵌套。Logo语言允许重复命令嵌套多层,即一级一级地嵌套下去,但
11、最经常使用的是二级嵌套与三级嵌套。为绘制各种复杂的有规律的组合图形提供非常简单方法,这就是嵌套的魅力。【知识点】:重复命令嵌套命令格式:重复命令1重复命令2重复命令3执行方式:先执行最里层,后逐级向外执行。以正方形作为基本图形为例,分析下列四种组合图形的规律性。122121组合种类 、位置不变、方向改变。(图1) 、位置改变、方向不变。(图2) 、位置改变、方向也改变。(图3) 、位置不变、方向也不变。(图4) REPEAT 4REPEAT 4FD 100 RT 90RT 90 REPEAT 4REPEAT 4FD 50 RT 90FD 50 REPEAT 4REPEAT 4FD 50 LT
12、90FD 50 RT 90 REPEAT 4REPEAT 4FD 50 RT 90 【指导说明】: 、对照海龟起始和画第二图形的着点,判断海龟的位置和方向的变化。 、在执行内层的重复命令后,注意是否要补上移动距离或旋转角度 。图112图212图4图321动脑筋,画一画规律分析题例:用正方形围成一个正方形。(图5)步骤1:画基本图形 1个正方形。(图5-1)? REPEAT 4FD 50 RT 90图5-1步骤2:画5个连续的正方形。(图5-2)? REPEAT 5REPEAT 4FD 50 RT 90FD 50步骤3:画用5个连续的正方形围成一个大正方形。? REPEAT 4REPEAT 5R
13、EPEAT 4FD 50 RT 90FD 50RT 90图5-2图5动脑筋,画一画:在操作中学1、画“三叶草”,是一组三角形组成的。方法2:(图6-2)? DRAW RT 30? REPEAT 3REPEAT 3FD 60 RT 120RT 120动脑筋,画一画:画“风筝”,是由4个长方形所组成的。(图7) 一种图形采用多种不同的画法或命令,可以锻炼我们深入思考问题的能力。方法1:(图6-1)? DRAW RT 30? REPEAT 3FD 120 RT 120 FD 60 RT 120图6-1图6-2? REPEAT 4FD 140 RT 90 FD 40 RT 90 FD 100 RT 90? REPEAT 4REPEAT 2FD 100 RT 90 FD 40 RT 90RT 90 图72、怎样画圆?命 令格 式说 明空心矩形STAMPRECT x ySTAMPRECT x y以海龟原来所在的位置为起始点画矩形实心矩形(STAMPRECT x y ”TRUE)(STAMPRECT x y ”TRUE) 画实心矩形空心椭圆STAMPOVAL x ySTAMPOVAL x y以海龟原来所在的位置为圆心画椭圆实心椭圆