LOGO语言教程.doc_第1页
LOGO语言教程.doc_第2页
LOGO语言教程.doc_第3页
LOGO语言教程.doc_第4页
LOGO语言教程.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LOGO语言教程简介第一章 简单的绘图方法第一节 LOGO语言系统的进入与退出一、LOGO语言简介LOGO语言是美国麻省理工学院(MIT)的科学家西蒙佩伯特领导的人工智能研究小组于60年代中期开发出来的。是一种专门为青少年设计的程序设计语言。LOGO语言的特点有:窗口操作界面;在线帮助系统;直观性;会话性;递归性;模块化的程序结构和丰富的数据类型。LOGO语言的结构十分简单,它打破了程序设计离不开数值计算的常规。它具有很强的作图功能,可借助于海龟进行直接的构图的设计。这样就减少了青少年入门的困难。在变量的使用上允许任意类型数据赋值,不用事先加以说明。同时LOGO语言的程序是模块化的,过程本身可以调用自己,即递归调用。另外它还有较强的字表功能。总之,同学们通过“玩海龟”,编写LOGO程序可以轻松地学习计算机有关知识,学习用计算机解决问题的本领。也学习一些有关数学的知识。本书主要向您介绍在PC机上运行LOGO(for windows版)语言工作的情况。二、LOGO系统的进入与退出进入LOGO系统:用鼠标依次单击“开始/程序/PC LOGO/PC LOGO”或直接双击桌面上的PC LOGO图标。 (未安装LOGO系统的,请到青口中心小学网站 上“校本资源”库中的“常用软件”里下载安装,要先注册哦)退出LOGO系统:直接单击窗口上的关闭按钮;使用窗口菜单命令;Listener对话框中提示符“?”后面键入“BYE”命令并回车后,计算机立即退出LOGO系统并退出Windows桌面。第二节 基本绘图命令LOGO语言是一种很简单的绘图方法,它有一些简单的绘图命令,当你从键盘上敲入一条命令并按下回车键后,计算机立即在屏幕上画出相应的图形。(1)认识“小海龟”进入LOGO系统后,我们在屏幕上可以看到一个栩栩如生的小海龟图形。这就是LOGO语言中的“小海龟”,屏幕中央叫做海龟的“家”,也叫做海龟的母位。注意海龟头的指向,它表示海龟行动的方向(现在海龟的方向是向上的)。LOGO语言可以指挥海龟在屏幕上“爬行”;用它留下的痕迹组成丰富多彩的图形来。注意,我们只要指挥海龟按一定的路线运动就可以绘出所需的图形,要海龟听话,必须掌握好海龟绘图时的状态。即海龟头的方向与它在屏幕上的位置等。(2)基本绘图命令1初始化命令DRAW格式:DRAW功能:清除屏幕,显示小海龟,海龟回母位(即屏幕的中央,且小海龟头朝上)。2前进命令FORWARD简写FD使用格式:FD (前进步数)功能:海龟向前前进了80步,但海龟头方向不变。注意:FD 与数字之间一定要有空格。LOGO系统中命令与命令、命令与数字间都要有空格。LOGO系统中命令与命令、命令与数字之间都要有空格。3后退命令BACK 简写 BK使用格式:BK (后退步数)功能:海龟向后退若干步例如:BK 80执行后海龟向后退若干步4向右转命令RIGHT 简写 RT 使用格式:RT (角度值)功能:海龟头向右转了一个角度,规定所有顺时针方向转的都叫做都叫做右转。例如:RT 90海龟头向右转了90度,即海龟头如原来是向上的现转为向右。海龟位置不动。5向左转命令LEFT 简写LT使用格式:LT (角度值)功能:海龟头向左转了一个角度,并规定所有逆时针方向转的都叫做左转。例如:LT 90海龟头向左转了90度,即海龟头如原来是向上的现转为向左。海龟位置不动。利用上述各项命令可以画一些简单的图形了。特别注意:在FD后面的数值如果是负数,则海龟后退若干步。在BK后面的数值如果是负数,则海龟前进若干不步。在RT后面的数值如果是负数,则海龟左转若干度。在LT后面的数值如果是负数,则海龟右转若干度。例1画正方形DRAWFD 50 RT 90FD 50 RT 90FD 50 RT 90FD 50 RT 90这段命令执行情况:初始化前进50步,右转90度前进50步,右转90度前进50步,右转90度前进50步,右转90度屏幕上画出一个边长为50 的正方形,其中最后一个RT 90仅为了使海龟头向上。例2画长方形DRAWFD 50 RT 90FD 100 RT 90FD 50 RT 90FD 100 RT 90屏幕上画出一个边长分别为50和100的长方形,其中最后一个RT 90仅为了使海龟头向上。例3 画三角形DRAW FD 100 RT 120FD 100 RT 120FD 100 RT 120屏幕上画出一个边长为100的正方形除了上述5个命令外,还有一些常用的命令。6抬笔:PENUP 简称PU 格式:PU功能;使海龟抬笔,当移动海龟时不画线。7落笔:PENDOWN简称PD格式:PD功能:使海龟落笔,当移动海龟时能画线。注意:PU、PD一般配合使用例4画一个水槽:CS FD 60 BK 30 RT 90 FD 20PU FD 20 PD FD 20 PU FD 20 PDFD 20 LT 90 FD 30 BK 60 LT 90FD 100 RT 908回家:HOME格式:HOME功能:使小海龟回到母位,并画出一条直线。例5画一个直角三角形DRAWFD 50 RT 90 FD 100 HOME9擦笔命令:PENERASE 简写PE格式:PE功能:使海龟成为一个笔擦。在PD状态下,它擦除海龟经过路线上原先海龟留下的足迹。注:用PU、PD命令能使海龟脱离PE状态。10藏龟:HIDETURTLE简称HT格式:HT功能:将小海龟隐藏起来,使图形更准确。11显龟:SHOWTURTLE简称ST格式:ST功能:将隐藏的小海龟显现出来。例6画一个“回”字DRAW FD 80 RT 90 FD 80 RT 90FD 80 RT 90 FD 80 RT 90PU FD 10 RT 90 FD 10 LT 90 PDFD 60 RT 90 FD 60 RT 90FD 60 RT 90 FD 60 RT 90HT12清屏复位命令:CLEARSCREEN 简称CS格式:CS功能:清除屏幕,小海龟回到母位,但不改变小海龟的状态。13清屏命令:CLEAN格式:CLEAN功能:清除绘图屏幕,但不影响海龟的指向与位置(即海龟原先的方向与位置不变)。练习:1用所学的命令画出下面图形。2读命令画出图形:(1)RT 90 FD 40 LT 90 FD 40RT 90 FD 40 LT 90 FD 40LT 90 FD 40 LT 90 FD 40RT 90 FD 40 RT 90 FD 40 LT 90 FD 40 HT(2)FD 50 RT 90 FD 50 LT 90FD 50 RT 90 FD 50 LT 90FD 50 RT 90 FD 50 HOME3比较DRAW、CS、HOME、CLEAN这4条命令,功能上互相间有那些相同与不同。4试写出例3、例5、例6命令段执行情况。5请用所学的本节内容,设计一段命令,画出你认为最美、最好、最复杂的图形来。第三节 用重复命令画图学习任务:1、学会用REPEAT命令进行画图2、掌握正多边形、正奇数角星的画法3、学会用重复嵌套方法画图一、重复命令前面我们已经介绍了一些简单的绘图方法,同学们可能已经发现,同一图形中的命令有许多是重复的,例如:前节画正方形中FD语言设置了重复命令,专门用来处理此类问题。重复命令:REPEAT使用格式:REPEAT 重复次数执行内容功能:将括号内的内容重复执行指定的次数。例如REPEAT 2FD 30 RT 90相当于FD 30 RT 90 FD 30 RT 90注意:(1)REPEAT与重复次数之间一定要有空格。在立即执行方式下,整个重复命令是一条完整的命令,不能中途敲回车。(2)重复次数最好是整数。若重复次数是小数,则计算机将自动取整。例1作一个边长为50的正三角形分析:前面已学过正三角形画法命令为DRAW FD 50 RT 120FD 50 RT 120三行相同的命令可以用重复三次实现3FD 50 RT 120FD 50 RT 120注意:关键在于找出相同的部分,利用重复命令来简化工作。命令可简写为:REPEAT 3FD 50 RT 120上面画正方形命令可简写成:DRAW REPEAT 3FD 50 RT 120例2作一个为100的正三角形DRAWFD 50 RT 120FD 50 RT 120三行相同的命令可以用重复三次实现3FD 100 RT 120FD 50 RT 120命令可简写为:DRAWREPEAT 3FD 100 RT 120比较例1、例2后发现,画正三角形转角未变,只是边长变化,以此类推,可得出画正三角形的命令为REPEAT 3FD 边长 RT 120例3:作一个边长为100的正方形我们来仔细观察画正方形的命令:FD 100 RT 90FD 100 RT 90FD 100 RT 90FD 100 RT 90从上面的命令中,我们可以发现其基本的命令只有两条,即FD 100和RT 90,只不过是把它重复了四次而已我们可以运用重复命令将它进行简化为:REPEAT 4FD 100 RT 90依次类推,同样可以得出画正方形的命令为:(注意:画大小不同的正方形转角不变,只是边长变化)REPEAT 4FD 边长 RT 90观察下图正三角形 正方形 正五边形 正六边形 正N边形 观察上述正多边形,会发现这样的规律:重复次数与转过的角度的乘积总是360度。为什么呢?因为海龟在画这些正多边形时总共转了一圈,所以转角总和是360度。为什么呢?因为海龟在画这些正多边形时总共转了一圈,所以转角总和是360度,而每次转角的度数相同,故每次转角的度数为360/正多边形的边数。因此上述图形角度的计算可以这样得到:3603120 36049 360572 360660这就可以得出:边长是60的三角形REPEAT 3FD 60 RT 120边长是60的正方形REPEAT 4FD 60 RT 90边长是60的正五边形REPEAT 5FD 60 RT 72边长是60的正六边形REPEAT 6FD 60 RT 60注意:画正多边形关键是要注意海龟的转角是外角,正N边形的每个外角是360N,用运算公式就可以计算出海龟的转角是外角,那么,画正多边形的命令为:(N边数)REPEAT NFD 边长 RT 360/N课堂练习:(1)作一个边长为60的正五边形(2)作一个边长为40的正五边形(3)作一个边长为80的正八边形(4)作一个边长为30的正九边形(5)作一个边长为10的正N边形其中N=3、4、5、6、7、8、9、10同样,用重复命令也可以方便的画出正多角星。奇数多角星的每个内角度数2为180/n度,那么每个外角为180-180/N。命令为:REPEAT NFD 边长 180-180/N例4:用重复命令画一个如图所示的五角星分析:用重复命令可以画多角星(包括五角星),关键是计算它的角度。五角星的每一个内角是180/5=36度,所以它的外角是180-36=144度,海龟的转角为144度,边长取80,重复次数是5。命令:REPEAT 5FD 80 RT 144二、重复命令的嵌套重复命令里还可以套重复命令,这样画出的图形就更丰富了,而且命令书写也较简便。例6:例如以一个长方形为基础图形,每画好一个长方形后海龟先向右转45度,连续8次可以得到一个小风车。分析:一个长方形的画法命令为REPEAT 2FD 60 RT 90 FD 20 RT 90上述图形的画法命令为REPEAT 8一个长方形 RT 45即:REPEAT 8REPEAT 2FD 60 RT 90 FD 20 RT 90RT 45HT例7:又如以一个小旗子为基础图形,每画好一个小旗子后海龟向右转60度,连续6次可得出如下图形。命令为:REPEAT 6FD 50 REPEAT 3FD 20 RT 120BK 50 RT 60HT注意:上面两例画法都有以下两个共同点:1一个复杂图形都是由一个基本图形重复几次得到的;2画基本图形时,海龟的起始状态与结束状态相同;否则出错。例8:画出右图所示图形:DRAW HTREPEAT 5FD 40 REPEAT 5FD 20 RT 144RT 144分析:所示图形是由六个五角星基本 图形组合而成的。在画大五角星的每条边后面画一个小五角星。例9:画出右边所示的折扇:DRAW HTLT 72REPEAT 18REPEAT 2FD 70 RT 90 FD 10 RT 90RT 8分析:所示图形是由一个长方形连续转动18次而得到的。练习:1用REPEAT命令将下列命令简化,并画出相应的图形。(1)HTFD 30 BK 30 RT 90FD 30 BK 30 RT 90FD 30 BK 30 RT 90FD 30 BK 30 RT 90(2)FD 20 RT 90 FD 20 LT 90FD 20 RT 90 FD 20 LT 90FD 20 RT 90 FD 20 LT 90FD 20 RT 90 FD 20 LT 902请写出计算正N边形的内角度数计算公式。3请比较执行REPEAT 5FD 80 RT 144与执行REPEAT 5RT 144 FD 80所画出的图形相同与不同之处。4请用重复命令画出下列图形905请按下列命令画出图形:(1)REPEAT 3REPEAT 4FD 30 RT 90 RT 120(2)REPEAT 4REPEAT 2FD 50 RT 60 FD 50 RT 120RT 90(3)REPEAT 4REPEAT 4FD 50 RT 90BK 50 RT 90(4)REPEAT 6FD 20 REPEAT 3FD 30 RT 120BK 20 RT 60(5)REPEAT 4REPEAT FD 50 RT 90 RT 1806请将下列图形代号按对应关系分别填入括号内。(1)REPEAT 4LT 90 REPEAT 3FD 40 RT 90LT 90 ( E )(2)REPEAT 4RT 180 REPEAT 3FD 40 RT 90LT 90 ( D )(3)REPEAT 4RT 90 REPEAT 3FD 40 RT 90LT 90 ( A )(4)REPEAT 4RT 90 REPEAT 3FD 40 RT 90LT 180 ( C )(5)REPEAT 4REPEAT 3FD 40 RT 90RT 90 ( B )第四节 彩色绘图一、LOGO语言绘图系统色彩简介到目前为止,我们所画出的图形都是黑底白色,那么能不能画出色彩缤纷的图形呢?我们使用的显示器是彩色显示器,它可以进行彩色绘图,只要通过本节内容的学习,小海龟将把你带到一个绚丽多彩的世界里,在这里你可以选择各种颜色的纸张,各种颜色的笔来绘图,使你画的图形更生动。PC LOGO FOR WINDOWS的色彩系统是根据计算机本身的显示属性而定的,当你从“开始/控制面版/显示/设置”就可以看到一个对话框:当在颜色栏中选中“256色”时,LOGO系统中有256种颜色,当选择其他三项选择时,LOGO系统中有16种颜色供海龟使用。在这里我们以16种颜色代码来讲解。他们分别是:代码颜色代码颜色0黑色8深灰色1蓝色9淡蓝色2绿色10淡绿色3深青色11淡青色4红色12淡红色5紫罗兰13洋红6棕色14黄色7浅灰色15白色在LISTEN和编辑窗口,根据你键入的字词,计算机自动显示彩色LOGO文字,LOGO为每种要素提供了不同的颜色。这能帮助你组织你的程序,并及时发现错误。二、彩色绘图命令:1、画笔颜色的设置命令:SETPC格式:SETPC X功能:设置画笔的颜色。其中X是0-15之间16个整数。例1:DRAWSETPC 4REPEAT 5FD 80 RT 144则可画出一个红色五角星同时,你也可以用鼠标单击,出现如下的颜料盒:单击其中的任何一种颜色后,海龟将变成你所选择的色彩。2、屏幕底色的设置命令:SETPC格式:SETBG X功能:设置当前屏幕的颜色,其中X为0-15之间16个整数。例如:SETBG 14 (设置当前屏幕为黄色)同时,你也可以用鼠标单击出现背景颜料盒:单击任何一种颜色框,屏幕背景将变成你所选的颜色。例1:利用色彩设置命令来画红底黄星的图案。DRAW SETBG 12SETPC 14REPEAT 5FD 50 RT 144HT3、图形的填色命令:FILL格式:FILL功能:对海龟所在的最小的封闭区域用当前笔色涂色,或填入用当前着色的画纹。注意:FILL命令的执行结果取决于笔的状态。如笔的状态是PD,则用当前的笔的颜色和花纹填充封闭区域;如果笔的状态是PX(设置笔的反转色),则用当前笔色的反转色涂满封闭区域;如果笔的状是PU,则FILL命令无效。例3画一朵五色的花朵。DRAWSETPC 10BK 100 FD 30 RT 45 FD 45 BK 45 LT 45FD 20 LT 45 FD 35 BK 35 RT 45 FD 50 LT 30SETPC 12 REPEAT 3FD 30 RT 120RT 30 PU FD 5 PD FILL BK 5 RT 42SETPC 10 REPEAT 3FD 30 RT 120RT 30 PU FD 5 PD FILL BK 5 RT 42SETPC 14 REPEAT 3FD 30 RT 120 RT 30 PU FD 5 PD FILL BK 5 RT 42SETPC 11 REPEAT 3FD 30 RT 120RT 30 PU FD 5 PD FILL BK 5 RT 42SETPC 1 REPEAT 3FD 30 RT 120RT 30 PU FD 5 PD FILL BK 5 RT 424、画笔颜色的查查询命令:PENCOLOR简称:PC格式:PC功能:输出海龟笔色的代码。例:PCRESULT:4(当前笔色为红色)5、屏幕背景颜色的查询命令:BACKGROUND简称:BG格式:BG功能:输出当前绘图屏幕的背景颜色代码。例:BGRESULT:0(当前背景为黑色)练习:(1)HT REPEAT 4FD 40 RT 90 SETPC 0PU BK 20 LT 90 FD 20 RT 90 PD SETPC 1 REPEAT 4FD 80 RT 90(2)HT REPEAT 3FD 40 RT 90 SETPC 0PU BK 20 LT 90 FD 20 RT 90 PD SETPC 1 REPEAT 4FD 80 RT 90(3)LT 60 REPEAT 3FD 10 RT 120RT 60 PU FD 10 PD FD 10RT 30 REPEAT 3FD 10 RT 120RT 60 PU FD 10 PD RT 90 FD 10 PU FD 10 PD RT 180 REPEAT 3FD 10 RT 120LT 90 FD 10 RT 90第二章 用程序执行方式绘图第一节 屏幕的三种显示方式在LOGO语言中,提供了三种屏幕显示方式,那就是文本屏幕、混合屏幕、全图形屏幕。一、文本屏幕:当我们有时想要将整个屏幕都来显示文字时。就需要将屏幕转为文本屏幕。进入文本屏幕的方法:TEXTSCREEN 简称:TS格式:TS功能:进入文本屏幕显示方式,隐藏其他的窗口。我们也可以用鼠标单击“Listener”窗口的最大化按钮也可得到全文屏幕。二、混合屏幕当我们一进入到LOGO语言系统时,计算机屏幕上就出现了两个窗口,上面是海龟绘图窗口,下面是文字显示窗口。进入到混合屏幕的方式:SPLITSCREEN简称:SS格式:SS功能:将屏幕转为图形文字混合屏。我们也可以用CTRL+L组合键得到混合屏幕。三、全图形屏幕:当我们的图形比较大的时候,需要用整个屏幕来显示,这时我们称为全图形屏幕。在全图形屏幕的状态下,其它窗口被隐蔽,要想输入全图形屏幕的方法:SPLITSCREEN 简称:SS格式:SS功能:将屏幕转为图形文字混合屏。我们也可以用CTRL+L组合键得到混合屏幕。三、全图形屏幕:当我们的图形比较大的时候,需要用整个屏幕来显示,这时我们称为全图形屏幕。在全图形屏幕的状态下,其他窗口被隐蔽,要想输入命令绘图,计算机仍能接受与执行。进入全图形屏幕的方法:FULLSCREEN简称:FS格式:FS功能:使屏幕转为全图形显示方式。我们也可以用鼠标单击“Graphics”窗口的最大化按钮得到全图形屏幕。三种不同的屏幕显示方式,大大地方便了我们的使用,在具体操作时,我们要根据需要来选择一种屏幕显示方式。例如:一幅画完成后用全图形屏幕来显示,在字表处理与数值计算时用文本屏幕。练习:1LOGO语言提供的屏幕显示方式: 文本屏幕 混合屏幕 全图形屏幕 2进入文本屏幕的命令为 TS ,进入图文混合屏幕的命令为 SS ,进入全图形屏幕命令为 FS 。3全图形屏幕中,从母位出发上界 步,下界 步,左界 步,右界 步。第二节 绘图的两种执行方式学习任务:1、初步了解LOGO绘图的两种执行方式;2、掌握过程的编写格式;3、掌握编辑状态的进入与退出。一、立即执行方式前面几次课我们已经介绍了些绘图方法,不过那些方式称为“立即执行方式”它有个很大的特点,每次敲入一条命令后计算机将立即执行,同时它也有一个很大的缺点,即输入的命令不能保存下来。而画一些比较复杂的图形,往往需要多次修改和调试才能完成。为了解决这个问题,LOGO语言设置了程序执行方式,这种方式下程序可以保存下来,也可以随时调用和修改,并且可以存到磁盘上长期保存起来。二、程序执行方式1过程的概念与结构什么叫过程?一串指令的整体叫做过程。过程的格式:TO 过程名 其中第一行“TO 过程名”称为过程头 过程体 从第二行到倒数第二行为过程体,过程体是过程内的具体内容END 过程尾 最后一行END表示过程结束注意:(1)过程名用任意的字母和数字组成,但不能是纯数字。(2)过程名不能和LOGO命令名相重。(3)过程名如有运算符号或其他符号时,在这些符号的前面加一个“”。例如:3*2+A一般,过程名需要起到一个标识的作用,所以在取名时要能够反映这个过程的作用与功能。比如画旗子的过程取名为“QI”(汉语拼音)这样可以帮助我们记忆和使用时进行查找。(4)过程尾(END)必须要另起一行。2过程的编写举例:例1:编写画小旗子的过程TO QIHT REPEAT 3FD 30 RT 120 BK 50 END例2:编写画小树的过程TO SHURT 15 FD 60 RT 150 FD 60 RT 105 FD 30 BK 15 RT 90 BK 50END例3:编程画一个空心五角星TO WXDRAW HTRT 18REPEAT 5FD 40 RT 144 FD 40 LT 72 END过程的优点:1、一个过程被定义后,便于修改与保存;2、相当于给LOGO语言增加了新的命令。3、过程的编辑两种工作方式可以进入编辑状态(1)一是用TO/END方式,即用TO过程名进入编写过程,用END退出,再键入过程名来执行过程。例如 输入画三角形的过程:键入:TO SJX回车以后,在下一行出现了提示符“”,它取代了原来的“?”表示计算机并不立即执行,只起到换行作用。接着键入:REPEAT 3FD 40 RT 120HT当一行输入完成后,要认真检查一遍,不要急着按回车,因为这种状态换行后就不能进行修改。最后键入:END回车后屏幕出现:SJX defined表示SJX这个过程已经编辑好了,随时可以执行了。我们只要键入它的过程名SJX后回车就下了执行过程命令,可以画一个边长为40的三角形了。(2)另一方法是利用EDIT进入编辑部,它可以用来编写新过程,也可以用来修改原有的过程,例如我们编写了一个过程,运行时发现有错误需要修改,这时可以用EDIT命令。EDIT命令有七种用法,这里我们选三种用法进行讲解:EDIT过程名键入EDIT过程名 则进入编辑状态,编辑指定的过程A若“过程名”所指过程已在存储内存中,则调出该过程重新进行编辑。B若“过程名”所指过程是新过程,则计算机内存中开辟新过程进行编辑。EDIT ALL键入EDIT ALL则进入编辑状态,调出内存中所有的过程进行重新编辑。EDIT 键入EDIT则进入编辑状态,调出上次进行编辑时所有的过程进行重新编辑。我们还可以用鼠标去单击工具栏图标进入到编辑状态。在全屏幕编辑状态下,可以上下左右自由地移动光标进行修改和编辑。修改(编辑)结束时可用F2功能键保留编辑内容,退出编辑状态,返回混合屏幕。例如用编辑部来编辑三角形过程在?后键入:EDIT SJX并回车出现下图:这时,计算机自动将过程头与过程尾准备就绪,我们只要在光标处键入过程体就可以了。练习:1、用编写过程的方法绘图是立即执行方法还是程序执行方式?它们有什么优点?2、你用什么方法进入过程编写与过程执行?3、你用什么命令进入过程编辑部?4、请试着编写出画长方形与六角星的过程。第三节 过程的调用及组合学习任务:1、初步掌握过程的调用的方法;2、能运用过程的调用画出更加复杂的图形。一个程序可以由多个过程组成,在一个过程的过程体中出现另一个过程饿过程名,就是调用那个过程,被称为过程的调用。利用过程的调用可以画一些更加复杂的图形。一、相同图形的组合:一个复杂的图形是由一个相同的基本图形组成的。例1三菱图形TO LXREPEAT 2FD 30 RT 60 FD 30 RT 120 HTENDTO SLXLT 30REPEAT 3LX RT 120END执行SLX键入SLX回车后便出现以上图形,在这里我们称SLX调用了LX过程。过程执行情况如下: 执行过程名SLX后,左转30度,第一次调用LX画一个菱形,右转120度;第二次调用LX画第二个菱形,右转120度;第三次调用LX画第三个菱形,右转120度。隐龟。一个过程被定义后,就可以当成新的命令被其他的过程调用。因此在这里SLX过程还可以被其他过程调用。例2利用过程调用的方法画小风车。TO CFX SETPC 5REPEAT 2FD 40 RT 90 FD 15 RT 90ENDTO FCREPEAT 8CFX RT 45HTEND执行FC二、不同图形的组合:有的复杂图形是由多个不同的基本图形组合成的。我们也可以通过过程的调用方法来绘画。例3画一只如图所示的蜘蛛。TO ZJFD 40 LT 90 FD 10 BK 10 RT 90 BK 40ENDTO YJFD 40 RT 90 FD 10 BK 10 LT 90 BK 40ENDTO ZHIZHULT 90REPEAT 4ZJ RT 20RT 10 FD 40 BK 40 RT 30REPEAT 4YJ RT 20HT END执行ZHIZHU例4画一个小火箭TO SJXREPEAT 3FD 20 RT 120ENDTO CFXREPEAT 2FD 60 RT 90 FD 20 RT 90ENDTO YSBXREPEAT 2FD 20 RT 135 FD 15 RT 45 ENDTO ZSBXREPEAT 2FD 20 LT 135 FD 15 LT 45ENDTO HJZSBX CFX FD 60 RT 30 SJXRT 60 FD 20 RT 90 FD 60 RT 180 YSBX HTEND执行HJ练习:1画出下列程序的运行结果(1)TO ART 18 REPEAT 5FD 100 RT 144HTEND执行A(2)TO BREPEAT 4REPEAT 3FD 30 RT 90RT 90END执行B(3)TO CHT LT 90 FD 30 RT 120 REPEAT 2FD 80 RT 120FD 30 LT 90 REPEAT 3FD 20 RT 90END执行C(4)TO A1 HT FD 60 LT 90 FD 20 RT 120 FD 60 RT 120 FD 60 RT 120 FD 20 LT 90 FD 60 RT 90 FD 20END执行A1(5)TO A2REPEAT 5LT 18 FD 50 RT 90END执行A2(6)TO A3DRAW LT 30 REPEAT 3FD 80 RT 120RT 180 PU REPEAT 4FD 30 RT 90END执行A3(7)TO A4HT REPEAT 4REPEAT 3FD 20 RT 90 FD 60 RT 90LT 90END执行A4(8)TO A5FD 98 RT 135 FD 40 RT 45FD 40 RT 45 FD 40 RT 135ENDTO A51HT REPEAT 4A5 RT 90END执行A51(9)TO A6DRAW HTREPEAT 8ZF FD 50 RT 45ENDTO ZFREPEAT 3FD 50 RT 120END执行A6(10)TO A71REPEAT 6FD 40 RT 90ENDTO A72REPEAT 3FD 40 RT 120ENDTO A7REPEAT 4A71 A72 REPEAT 2FD 40 RT 90RT 90END执行:A72、利用过程调用的方法完成下面图形的编写:第三章 几种复杂的绘图方式第一节 可变的画图方法学习任务:1、初步了解LOGO语言变量的表示方法;2、掌握带变量过程的编辑与执行;在前面编写的过程中,前进步数、转角的度数等都是一定的数值(常数),这样画出的图形大小是一定的。若要改变其大小与形状,只有重新编写过程,这样显然是比较麻烦的。LOGO语言中有一种过程,在过程中某些数字可以取不同的数值,画图时只需要调整这些数值,就改变了图形的大小或形状。这样的过程叫做带变量的过程。(1)什么叫变量?可以取不同数值的量称为变量(也叫参数)。变量在各种数学公式中常常见到如:正方形周长L=4A(2)LOGO语言中变量的规定LOGO语言中,变量用:后跟变名来表示,变量名是字母打头的字母数字串,如:B:X:A1等都可以表示变量。(:号与变量名之间不能有空格)(3)LOGO语言允许一个过程带有多个变量。带变量的过程必须在它的过程名后列出本过程所要使用到的全部变量名(局部变量)。例如:TO SU :B :A :X(变量与变量之间有空格)例1:辨写一个画长方形的过程变量设置:分别用:B1、:B2来表示长方形的长和宽过程如下:TO CFX :B1 :B2DRAW REPEAT 2FD :B1 RT 90 FD :B2 RT 90 END执行CFX 100 50 CFX 50 100例2:编写一个画六角星的过程变量设置:用:X来表示六角星边长过程如下:TO LJX :XDRAW REPEAT 6FD :X RT 120 FD :X LT 60 END执行 LJX 30例3:编写一个可以画任意大小的正多边形过程分析:正N边形的外角和等于360度,每一个外角等于360/:N度。变量设置:用:B表示正多边形的边长,用:N表示正多边形的边数。程序如下:TO DBX :N :BHT REPEAT :NFD :B RT 360/:N END注意:执行时边数从3到8或更大一点,边长不变,观察图表,能否得出,边数越多图形越接近圆。例4:编写一个可以画任意大小的平行四边形过程分析:平行四边形两组对边分别相等,相邻两个内角和为180度。变量设置:分别用:B1、:B2来表示平行四边形两条相邻边长,用:J表示一个内角的度数。程序如下:TO D4 :B1 :B2 :JHT REPEAT 2FD :B1 RT :J FD :B2 RT 180-:J END执行RT 30 D4 70 100 60例5利用上述过程画一个长方体TO CFTDRAW LT 90 D4 120 50 140 LT 90 D4 50 120 90LT 130 D4 50 50 130END执行CFT练习:1用最少的参数编写一个过程,通过改变参数值画出下列图形。 2上机练习,画出图形。TO P :B1 :B2 :JHT REPEAT 2FD :B1 RT :J FD :B2 RT 180-:JENDTO DSJPU FD 60 PDLT 90 P 130 40 140LT 90 P 100 130 90LT 130 P 40 100 130RT 40 BK 6 PU RT 90 FD 6 PDP 50 15 90 PU FD 88 RT 90 PD P 15 10 90 PU FD 21 PDP 97 88 90 PU FD 49 RT 90 FD 44FD 60 REPEAT 6P 15 15 40 RT 60END3编写画出下图:第二节多角星与空心多角星学习任务:1、初步掌握多角星的画法;2、初步掌握空心多角星的画法;3、初步掌握空心多角星图形嵌套的设计;一、画奇数多角星画奇数多角星比较简单,它与画正多边形很相似,也是每画一条边要转一个角(外角),外角的算法为:180-180/角数。画任意大小的正奇数多角星的过程如下:TO DX :N :B(:N为角数,:B为边长)REPEAT :NFD :B RT 180-180/:NEND执行DX 5 100 画出边长为100的五角星,执行DX 9 100画出边长为100 的九角星。二、画空心多角形画空心多角形与画奇数多角星是不同。每画一个角要画两条边,转二次角(右转一次,左转一次)。过程如下:TO KX :N :BREPEAT :NFD :B RT 729/:N FD :B LT 360/:NEND执行KX 7 30画出边长为30的正空心七角形。过程中:N为角数,:B为边长。空心多角星图形嵌套的设计:这些图形,每幅图其各个多边形之间有一条是通过线段来连接的,把这些线段和边全部连接起来,不难看出,正多边形嵌套在空心正多边形之中。TO ZDBX :N :BREPEAT :NFD :B RT 360/:NENDTO QTTX :X :N :BREPEAT :XFD :B RT 360/:X*2 ZDBX :N :B FD :B LT 360/:XEND 三、画任意多角星多角星的转角(外角)应为:180-(:N-2*:K)*180/:N=:K*360/:N。过程如下:TO DJX :B :N :KREPEAT :NFD :B RT :K*360/:NEND过程中:B为边长,:N为角数,:K为参数(1:K:N/2),且K与N没有公因数。例1:十一角星。1k11/2,且与11没有公因数的。有K=2,3,4,5。 例2:十六角星。1k8,且与16没有公因数的,有k=3,5,7。 可以很容易编写画任意多角星的公式,其转角应为外角180-(:N-2*:K)*(180/:N)=:K*360/:N。过程中有三个变量,边长:B,角数:N,:K为参数。TO DJX :B :N :KHT REPEAT :NFD :B RT :K*360/:NEND例3:要以最小的内角画边长为50的 24角星。0k12,与24没有公因数的有k=5,7,11。 K取最大的,其内角最小,因此取K=11。键入DJX 80 24 11多角星也可以拼成许多图形。练习:1编写过程,画出正七角星,空心七角形图形。2要以最大的内角画出边长为40的多角星。3分别画一组21角星、18角星、29角星。第三节 圆与圆弧学习任务:1、初步了解LOGO语言中各种不同画圆的方法;2、掌握圆弧的画法;3、掌握圆、圆弧与其他图形的组合画法。一、画圆圆与圆弧是很基本的图形,用圆可以拼成拼成许多美丽的图案,有些曲线也可以用圆弧拼接而成。由于海龟只能画水平或垂直的直线,就是画斜线时也是锯齿形的,叫它画圆弧就更困难了。其实海龟不可能在屏幕上画出“真正的”圆,通常用一个边数很多的正多边形来代替圆。例如:画一个边长为1的正360边形。REPEAT 360FD 1 RT 1即海龟每前进一步向右转1度。当然也可以让海龟多走几步在转角,如REPEAT 72FD 5 RT 5,实际上用正N边形来代替圆,转角应是360/N,重复36次画出的图形就是一个圆(稍微粗糙一点,由于计算机的分辨率不高,重复36次的画法已经足够了)。例如:REPEAT 36RT 10 FD 10即可,一般采用:REPEAT 36RT 5 FD 10 RT 5命令可以画出一个圆,若是改变圆的大小,只要调整每次前进的步长就可以了,圆的大小是若要改变圆的大小,只要调整每次前进的步长就可以了,圆的大小是由“圆的半径”来确定的,所以要找出圆的半径与海龟前进的步长之间的关系。如果我们确定用重复36次的方法来画圆。并设前进的步长为D,则:圆的周长=6.28*:R,海龟36次共走了36*D,故6.28*:R=36*D,也即D=6.28*:R/36。例如:半径为70,则前进的步长为6.28*70/36,一般地,可以编一个半径为:R的过程:TO Y :RCSREPEAT 36RT 5 FD :R*6.28/36 RT 5END注意:1前进FD后面跟着一个数学表达式乘号必须用*,除号必须用/。2若将上面过程中的RT改为LT,也可得到一个圆,不同的是前者是顺时针方向画(右圆),后者是逆时针方向画(左圆)例1:调用上述过程Y画一个花TO HUA DRAW REPEAT 18FD 35 LT 90 Y 6 RT 90 BK 35 RT 20 END执行HUA例2:调用上述过程Y画一个钟面TO BIAOHT Y 50 PU RT 90 FD 50 PD LT 90REPEAT 12PU FD 38 PD FD 9 PU BK 47 PD RT 30 FD 33 BK 33 RT 90 FD 20 STEND执行BIAO可以画出一个钟表面。例3:调用上述过程画一个可以走动的秒表TO B1HT Y 100PU RT 90 FD 100 PD LT 90REPEAT 60 PU FD 85 PD FD 10 PU BK 95 PD RT 6PDREPEAT 60 SETPC 0 FD 80 WAIT 50 SETPC 15 BK 80 RT 6END执行B1可以得到一个可以走的秒表。其中WAIT 50是等待一段时间。二、画圆弧圆弧是圆的一部分,如果在画圆的过程中,减少重复次数,其他都不变,将画出圆弧。我们常用的圆弧是60O、90 O、120 O、180 O的圆弧,也就是六分之一、四分之一、三分之一圆及半圆。例4:将上面画圆的过程Y,其中重复36次改为:X次。TO YH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论