好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

新课标青岛版小学信息技术六年级上册Logo语言讲解及习题 精品课件.ppt

58页
  • 卖家[上传人]:新**
  • 文档编号:586130329
  • 上传时间:2024-09-04
  • 文档格式:PPT
  • 文档大小:1.13MB
  • / 58 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 一、一、LogoLogo语言简介语言简介 Logo语言是在1967年,由麻省理工学院人工智能实验室西摩尔•帕伯特,专为孩子设计出的一种电脑语言它非常适合小学生学习,采用儿童十分喜爱的积木拼图方式,通过海龟绘图来学习编制程序的一般方法,培养学生的逻辑思维和创造才能Logo语言非常接近人类自然语言,它提供结构化程序设计,模块化的过程编程和调用,以及程序的递归调用;同时它所包含的参数、变量、带参过程等重要概念以及丰富的数据结构类型,生动的图形处理功能,为孩子们提供了非常好的编程环境,为学习更高级的计算机程序设计语言打下了良好基础Logo语言学习的定位应是:语言学习的定位应是:   学会初步设计程序,启迪学生创造性的思维;重点在于培养学生解决问题的思维方法Logo语言,不是绘图工具  学生在完成任务时有三种方法:学生在完成任务时有三种方法:A、逐步控制小海龟按照设定的线路行走完成;、逐步控制小海龟按照设定的线路行走完成;B、通过不同的方形,搭积木方式完成;、通过不同的方形,搭积木方式完成;C、定义一个带参数的子程序,多次调用完成;、定义一个带参数的子程序,多次调用完成;        三种方法都能完成,学生的步步操作就是Logo语言的算法,而一连串操作的组合的优化就是算法的精髓。

              学生在分析、组合,以及搭积木构建新模型的操作中无形之中掌握了算法        小学小学Logo语言程序设计教材:语言程序设计教材:包括了Logo的认识与启动、简单作图命令、重复命令、彩色绘图、过程设计等教学内容       教学Logo过程的建立和调用,是小学程序设计教学的重点内容,也是教学中的一个难点 二、教材分析二、教材分析 海龟命令集锦v后面不需要带数字的命令HT藏龟ST显龟 PU提笔              PD落笔       PE                        笔擦       DRAW         屏幕初始化       CS              清屏,回家       HOME 回家       CT               清命令窗口v后面需要带数字的命令    FD前进    SETW                  设置笔粗    BK后退    PLAY                  演奏    LT左转    PR计算输出    RT右转REPEAT                  重复SETBG                    设背景色SETPC                    设笔色SAVEPIC              保存图形LOADPIC               出图形STAMPREC            矩形命令STAMPOVAL          椭圆命令SS               图文混合屏 FS                  全图形屏 TS                  全文字屏 ND       全文字屏、清屏STOP                   停止FILL          填色 RANDOM随机数命令随机数命令WAIT等待命令等待命令TELL激活命令激活命令TELLALL同时激活命令同时激活命令MAKE赋值命令赋值命令READ键盘输入命令键盘输入命令IF条件命令条件命令STOP停止命令停止命令更多LOGO知识 2)全屏图形显示与全屏文字显示屏幕显示方式 命令(全称)功能键图文混合显示方式SS ( SPLITSCREEN )F2全屏幕图形显示方式FS ( FULLSCREEN )F4全屏幕文字显示方式TS ( TEXTSCREEN )F31)海龟的边界)海龟的边界 633×473 海龟步海龟步 633 = 319(右)(右)+ 314(左)(左)                                                     473 = 234(上)(上)+ 239(下)(下)   注意:图文混合显示时,图屏的下部被命令屏遮住了注意:图文混合显示时,图屏的下部被命令屏遮住了             不准越界命令:不准越界命令: FENCE        恢复环绕命令:恢复环绕命令: WRAP认识小海龟认识小海龟 (五)落笔命令格式:PD功能:命令海龟降落,继续画图,它的位置和头的方向同落笔前一样。

      四)抬笔命令格式:PU功能:命令小海龟起飞,头的方向保持不变,移动时不再留下痕迹FD  100          FD  +100         FD   -10       fd    20*53)在在LOGO语言中,命令与数据之间是以空格分隔的如,在输入的前进命令和步语言中,命令与数据之间是以空格分隔的如,在输入的前进命令和步长之间必须用空格分长之间必须用空格分 隔输入的隔输入的LOGO命令既可以是大写字母,也可以是小写字母,命令既可以是大写字母,也可以是小写字母,前进、后退等命令需要的数据既可以是具体数值,也可以是一个算式,前进、后退等命令需要的数据既可以是具体数值,也可以是一个算式, 清理屏幕命令的比较v清屏命令1格式:    DRAW功能:    清空绘图窗口,小海龟回到原点,恢复到刚进入LOGO时的状态v清屏命令2格式:    CS功能:    清空绘图窗口,小海龟回到原点,头朝上海龟画图基本命令学习海龟画图基本命令学习——复位与清屏命令复位与清屏命令CLEAN 清屏功能:清除绘图屏幕,但不影响海龟指向和位置六)笔擦命令格式:PE功能:    小海龟变成橡皮,边走边擦掉以前留下的痕迹。

      v             清屏命令3v清屏命令4 例FD 100   PE  BK 50CS  FD 80 FD 100 PE  BK 50DRAW  FD 80画出一条长为80海龟步的直线比较下列命令执行结果的异同画不出图形 笔擦命令格式:PE功能:  小海龟变成橡皮,边走边擦掉以前留下的痕迹CS  FD 100  PEBK 100 执行执行PE命令后,命令后,龟笔颜色就变成当前的背龟笔颜色就变成当前的背景色了,如果想继续用原来的笔色画图,就要景色了,如果想继续用原来的笔色画图,就要执行落笔命令执行落笔命令(PD)FD 100PE BK 50FD 80FD 100PE BK 50PD FD 80 1)海龟的坐标)海龟的坐标 几个特殊点的坐标:母位(几个特殊点的坐标:母位(0,,0)、右上角()、右上角(319,,234)、左上角()、左上角(-319,,234)) 右下角(右下角(319,,-239、左下角(、左下角(-319,,-239)) 海龟的指向:海龟的指向: 注意:向上的方向为注意:向上的方向为0度方向,度方向, 从原始方从原始方向顺时针转到现方向得正角度值、从原始向顺时针转到现方向得正角度值、从原始方向逆时针转方向逆时针转 到现方向得负角度值,同一到现方向得负角度值,同一指向的正、负角度值相加得指向的正、负角度值相加得360度度海龟画图基本命令学习(七)——海龟指向与指向查询命令 1.1.测量海龟现位置的命令:测量海龟现位置的命令:XCORXCOR检查海龟检查海龟横坐标横坐标    返回返回X X值值YCORYCOR检查海龟检查海龟纵坐标纵坐标    返回返回Y Y值值GETXYGETXY检查海龟检查海龟横、纵坐标横、纵坐标    返回返回X X、、Y Y值值2.2.测量海龟现指向的命令:测量海龟现指向的命令:HEADINGHEADING检查海龟指向的检查海龟指向的正的角度值正的角度值3.3.指定海龟新位置的命令:指定海龟新位置的命令:SETX SETX ::X X横移海龟到横移海龟到 ::X X 处处 (画横线用)(画横线用)SETY SETY ::Y Y纵移海龟到纵移海龟到 ::Y Y 处处 (画竖线用)(画竖线用)SETXY SE SETXY SE ::X X ::Y Y 或或 SETXY [ SETXY [ ::X X ::Y ]Y ]                                          移动海龟到(移动海龟到( ::X X ::Y  Y  )处)处 (画斜线用)(画斜线用)  4.4.指定海龟新指向的命令:指定海龟新指向的命令:SETH SETH ::D D 把海龟指向定到把海龟指向定到 ::D D 度方向度方向      使用使用 SETXSETX、、SETYSETY、、SETXY SE SETXY SE 命令产生的结果和海龟原来的位置有关命令产生的结果和海龟原来的位置有关      使用使用 SETH SETH 命令产生的结果与海龟原来的方向无关命令产生的结果与海龟原来的方向无关      它们和它们和 FDFD、、BKBK,, RTRT、、LT LT 都同样可以改变海龟的位置、指向,但方式不同。

      都同样可以改变海龟的位置、指向,但方式不同 2) 绝对命令与相对命令联系举例:右移右移5050步:步: SETX XCOR+50SETX XCOR+50上移50步: SETY YCOR+50左移50步: SETX XCOR-50下移50步: SETY YCOR-50顺时针转顺时针转4545度:度:SETH HEADING + 45SETH HEADING + 45逆时针转45度:SETH HEADING - 45绝对命令与相对命令联系举例: 相对命令相对命令绝对命令绝对命令改变海龟的位置改变海龟的位置FDFD、、 BKBKSETXSETX、、 SETYSETY、、 SETXY SESETXY SE改变海龟的指向改变海龟的指向RTRT、、 LTLTSETHSETH (一)计算输出命令格式格式1::PR  A 功能:如果A是数字,直接显   示A;如果A是算式,显示A的结果   PR  2+3-14?   PR  4*520?   PR  6/(2+1)2?   PR  28*76/22-1284.73? 格式格式2::PR  [输出内容输出内容]功能:原样显示输出内容格式格式3:(:(PR 内容内容1 内容内容2 …… ))功能:显示多个输出内容。

      如果,内容外有方括号,则原样显示输出内容;若内容外没有方括号,则显示结果  PR  [12+1]12+1?  PR  12+113?((PR [12+1=] 12+1))12+1=13 TURTLETEXT 文字打印命令文字打印命令语法:语法:TURTLETEXT((TT)) 字或表字或表功能:功能:TURTLETEXT在图形窗口上海龟所在处打印其输入参数在图形窗口上海龟所在处打印其输入参数TURTLETEXT以海龟当前的笔色进行打印当海龟的笔抬起时,以海龟当前的笔色进行打印当海龟的笔抬起时,TURTLETEXT没有任何作用没有任何作用例子:例子:??TT  [PC LOGO]??TT  "PC LOGO在海龟处以当前笔色打印在海龟处以当前笔色打印PC LOGO字样海龟画图基本命令学习海龟画图基本命令学习——   TT 在画图区显示文字在画图区显示文字  格式:REPEAT  N[ 需要重复的命令 ] 空格空格 重复的次数重复的次数功能:把方括号里的命令重复执行N次注意:方括号里的重复内容的所有命令必须写成一行,命令间用空格隔开REPEAT  3[FD  100  RT  360/N]DRAW  RT  90REPEAT  5[FD  100  RT 180-180/5]边长是100的正N角星(奇数)REPEAT  5[FD  100  RT  180-180/N]边长是100的正N边形边长是100的正五角星注意:重复次数应是整数,如果输入是小数,LOGO将自动四舍五入 2)重复的嵌套   重复命令里再套重复命令,可以画出更复杂、更丰富的图形 画风车REPEAT  4[REPEAT  2[FD  60  RT  90  FD  20  RT  90] RT  90]作图要领:作图要领:((1 1)找出基本部件(相同或相似的图形元素),写出若干基本子过程)找出基本部件(相同或相似的图形元素),写出若干基本子过程((2 2)弄清各基本部件中,海龟的起始位置、指向和结束位置、指向)弄清各基本部件中,海龟的起始位置、指向和结束位置、指向((3 3)组合全图,根据()组合全图,根据(2 2)写出调整命令(调整位置、指向))写出调整命令(调整位置、指向)((4 4)把图形的其它部分补全)把图形的其它部分补全 例1: 试画出下图的花环。

      TO HUAREPEAT 4[REPEAT 3[FD 10 RT 120] RT 360/4]ENDTO HUAHUAN  DRAW  HT  SETPC  5  REPEAT 10[HUA  RT 360/10  PU  FD 25  PD]END(画一个由10朵花组成的花环)(画一朵由4个三角形组成的花) 赋值和键盘输入命令赋值和键盘输入命令v赋值命令赋值命令格式:格式:MAKE  "变量名变量名  表达式表达式      空格空格功能:功能:把表达式的值赋给指定的变量把表达式的值赋给指定的变量v键盘输入命令键盘输入命令格式:格式:READ功能:功能:等待从键盘输入数据等待从键盘输入数据1)变量:变量就是可以变化的量LOGO规定(1)变量名是字母打头的字母数字串, (2)变量名前必须要加上一个冒号:2)带变量的过程:过程可以带一个或多个变量,一律写在过程名后面:      格式: TO   过程名 所带变量                命令组             END 条件命令条件命令v条件命令(格式条件命令(格式1))格式:格式:IF  条件条件  THEN  命令命令功能:功能:如果条件成立,就执行如果条件成立,就执行“THEN”后面的命令,接着后面的命令,接着再执行其它命令;如果不成立,就不执行再执行其它命令;如果不成立,就不执行“THEN”后面的后面的命令,而直接执行其它命令。

      命令,而直接执行其它命令v条件命令(格式条件命令(格式2))格式:格式:IF  条件条件  THEN  命令命令1  ELSE  命令命令2功能:功能:如果条件成立,就执行如果条件成立,就执行“命令命令1”,再接着执行,再接着执行“其它命其它命令令”;如果不成立,就不执行;如果不成立,就不执行“命令命令1”,而直接执行,而直接执行“命令命令2”,再执行其它命令再执行其它命令        “IF”就是“如果如果”的意思,“THEN”是“那么那么”的意思,“ELSE”是“否则否则”的意思 TO  JIAO  :nCS  RT  90  FD  100  BK  100   LT  :n  FD  100  HTENDTO  PANDUANPR  [请输入角度:请输入角度:]MAKE  " "R  READJIAO  :RIF  :R<90  THEN (PR[您输入的角度是锐角您输入的角度是锐角])                ELSE (PR[您输入的角度不是锐角您输入的角度不是锐角]) END(画大小为变量n的角)编制一个过程,能完成这样的工作:根据提示输入一个编制一个过程,能完成这样的工作:根据提示输入一个1~360的数,表示一个角的度数,由电脑的数,表示一个角的度数,由电脑判断这个角是不是锐角,在命令窗口输出判断结果,并在绘图窗口画出这个角。

      判断这个角是不是锐角,在命令窗口输出判断结果,并在绘图窗口画出这个角实现题目要求的过程)例:例: 三、保存和取出图形• 保存图形命令格式:SAVEPIC  “文件名功能:把绘图窗口中的图形按指定文件名存盘 格式:LOADPIC  “文件名功能:打开指定的图形文件,把图形显示到绘图窗口中• 取出图形命令 例1把绘图窗口中画的风车保存为BMP格式答案:SAVEPIC  “FENGCHE.BMP例2答案:LOADPIC  “FENGCHE.BMP取出已保存的图形文件"ENGCHE.BMP” 小海龟画圆小海龟画圆用重复命令画圆(半径为60海龟步) REPEAT  360[FD  60*3.14/180  RT  1](一)画圆的两种方法重复命令:小海龟在圆周的线上;椭圆命令:小海龟在圆的中心点二)画一幅复杂的图时,理清思路,把复杂问题分 解成多个简单的问题,逐一解决,就不难了小  结 椭圆命令格式:STAMPOVAL  N1  N2 椭圆的横半轴、竖半轴椭圆的横半轴、竖半轴功能:以小海龟现在所在位置为中心,画一个指定半轴长的椭圆N1N2 ①画半圆的命令: REPEAT  180[FD  3.14*15/180  RT  1] ②画1/4圆弧的命令: REPEAT  90[FD  3.14*15/180  RT  1]③画圆的命令: REPEAT  360[FD  3.14*15/180  RT  1]④所以,画 1/n 圆弧的命令是:REPEAT  360/n[FD  3.14*半径半径/180  RT  1]   随机数命令(函数 )格式:RANDOM   N      空格空格 0~32767的整数的整数功能:若N≠0,计算机自动产生一个1到N之间的自 然数;若N=0,产生数为0。

      INT                 取整函数 ROUND          四舍五入函数 QUOTIENT     求商函数 REMAINDER  余数函数 RANDOM       随机函数 SQRT   平方根函数 ABS      绝对值函数 MAKE   赋值 PRECISION  数字显示精度    等待命令格式:WAIT   N 空格空格 等待时间等待时间功能:让小海龟等待(N÷100)秒,再执行下一条命令  例   WAIT 1000          此命令是将等待时间设为1000毫秒(1秒) 海龟的集体舞v激活命令格式:TELL  [编号1  编号2 ……]     功能:指定哪一只或者几只小海龟成为可以活动的海龟  同时激活命令格式:TELLALL   N1  N2      分别为首、尾编号分别为首、尾编号功能:把编号从N1~N2之间的所有海龟同时变成可以活动的小海龟共有16只小海龟等候调度,海龟编号为0~15 TO  XIANSETPC  RANDOM  14  SETW 3   WAIT  30 FD  RANDOM  60  RT  RANDOM  350ENDTO  CAISEXIAN  REPEAT  40[XIAN]ENDTO   JITIWUDRAWTELL  1  FD  40TELL  2  RT  90  FD  40TELL  3  LT  90  FD  40TELL  4  RT  180  FD  40TELLALL  0  4ST  CAISEXIANEND五只海龟齐画线TELLALL   遇到DRAW    会只有一只小海龟了。

      例例2.、、        画海上的小船设:组成船身的半圆的半径为画海上的小船设:组成船身的半圆的半径为R,,小船上的旗杆长为小船上的旗杆长为2R,旗面是等边三角形,边长为,旗面是等边三角形,边长为RTO  CHUAN  :r    SETW  5  SETPC  6RT  90  FD  2*:r  RT  90REPEAT  180[ FD  3.14*:r/180  RT  1]  RT  90  FD  :r  LT  90SETPC  13  FD  2*:rRT  120  FD  :r  RT  120  FD  :r ENDTO HAILANG :r :nSETPC 9REPEAT :n[RT 180 REPEAT 180[FD 3.14*:r/180 LT 1]]ENDTO HAI   DRAW  SETW 20TELLALL  0  5  SETPC  9  HTRT  45  PU  BK  150  PD  LT  45STAMPRECT  320  200  SETW 1TELL  0  FD  120  HAILANG 10  16TELL  1  FD  120  HAILANG 10  4  CHUAN 15TELL  2  FD  100  HAILANG 15  11TELL  3  FD  100  HAILANG 15  5  CHUAN 20TELL  4  FD  60  HAILANG 20  8TELL  5  FD  60  HAILANG 20  5  CHUAN 25END(画一艘小船)(调用前两个过程画整幅图)(画 海浪)                                                                                                                                        PENCOLOR(PC)显示当前笔的颜色代码语法:1)PENCOLOR    2)PC功能:PENCOLOR输出当前笔的颜色。

      用SETPC可改变笔色例子:?PCResult:4 (当前笔色为红色) SETBG 设置图形窗口的背景颜色语法:1)SETBG 数 2)(SETBG)功能:SETBG为图形窗口选择一种颜色,颜色代码是当前调色板中的一个索引号若SETBG没有输入数,将会弹出一个对话框让您选择颜色BACKGROUND         BG显示图形窗口的背景颜色语法:1)BACKGROUND 2)BG功能:BACKGROUND输出当前窗口的背景颜色例子? setbg 2    BGResult: 2PC 显示当前笔的颜色代码显示当前笔的颜色代码BG 显示图形窗口的背景颜色显示图形窗口的背景颜色SETPC 设置笔色设置笔色SETBG 设置图形窗口的背景颜色设置图形窗口的背景颜色LOGO图形颜色设置命令图形颜色设置命令——PC、、SETPC、、SETBG、、BG命令方式 命令方式命令方式v改变背景色命令格式:SETBG   N功能:设置绘图窗口背景的颜色,颜色代码为0~15系统默认的背景色是白色,代码为“15”.v 改变笔色命令格式:SETPC   N功能:    设置龟笔的颜色,颜色代码为0~15系统默认的笔色是黑色,代码为“0”。

      窗口方式窗口方式改变背景色:改变笔色 海龟画图基本命令——填色命令 vFILL 填色v语法 1)FILL 2)FILL 数v功能:FILL对屏幕上的某一个区域按照当前的笔的模式、颜色和图案进行填充vFILL从当前海龟所在处开始,在一条封闭的、颜色为当前的笔色的边界处停止v若FILL带有参数,则FILL在由输入指定的笔色画成的封闭边界处停止vFILL及其参数必须写在括号内v若海龟的笔的状态是PENDOWN,FILL将待填充的区域用当前的笔色填满若笔的状态是PENERASE,FILL将待填充的区域用背景色填满若笔的状态是PENREVERSE,FILL将待填充的区域用当前颜色的互补色填满比方说,白的填成黑的,绿的填成红的v 例子:v? repeat 4[fd 40 rt 90] ? pu rt 45 fd 20 pd ? fillv填色命令格式:FILL功能:把小海龟所在的封闭区域内,填充上当前笔色v小海龟的位置小海龟的位置一定是一定是在封闭区在封闭区域的内部域的内部,而不是边界线上,,而不是边界线上,否则会填不上颜色;否则会填不上颜色;v封闭封闭区域边界线的颜色区域边界线的颜色,必须,必须是当前笔色是当前笔色,否则颜色会填满,否则颜色会填满整个绘图窗口。

      整个绘图窗口 把过程写入把过程写入LOGO的方法的方法(一)在命令窗口中直接输入在命令窗口中直接输入?TO  SANJIAO >REPEAT 3[FD 50 RT 120]>ENDSANJIAO defined.?单击工具栏单击工具栏里的里的按“F2”键(二)使用编辑窗口(二)使用编辑窗口 二、调用过程 三、保存过程(一)窗口方式(二)命令方式v保存过程命令格式:SAVE   “文件名 功能:  把当前工作区已经定义过的所有过程按指定文件名存盘 四、取出过程(一)窗口方式(一)窗口方式(二)(二)命令方式命令方式v取出过程命令格式:LOAD  “文件名 功能:打开指定的过程文件,这个文件中的所有过程均可被调用 Ø小  结v过程管理(一) 例、会转动的风车例、会转动的风车原理:先画一个风车四只小海龟一起画,每只画一个扇叶;停留一会儿,用“笔擦命令”擦掉;然后小海龟集体转动一个小角度;再画一个一样的风车;再擦掉…… (一)过程SHANYE((画一片扇叶)TO  SHANYE  :aSETW  :aFD  40REPEAT  2[FD  60  RT  90  FD  30  RT  90]BK  40ENDTO  ZHUANDONG SHANYE  1WAIT  10PE  SHANYE  2ENDTO   FENGCHE  :nDRAW   HTTELL  1  RT  90TELL  2  RT  180TELL  3  RT  270TELLALL  0  3REPEAT  :n[PD  ZHUANDONG  RT  20]PD  SHANYE  1END(二)过程ZHUANDONG((形成转动效果)(三)过程FENGCHE ((画转动风车)FENGCHE  20运行过程FENGCHE  递归和尾递归递归和尾递归          过程自己调用自己就叫递归,形式上的特点是:在本过程中出现本过程名。

         最简单的递归叫 尾递归 特点是在且仅在过程的最后一句出现本过程名 (一)   TO  过程名 :变量名      命令组(或称过程体)      本过程名 :变量名   END(二)   TO  过程名 :变量名      IF 条件表达式 [ 结束命令组 ]      命令组      本过程名 :变量名   END尾递归的格式: 这样的尾递归程序一旦开始执行,就不会结束我们可以用   CTRL+BREAK 中止运行, CTRL+Z 暂停运行,暂停后用命令 CONTINUE(简写为CO)恢复运行 可以用过程中某变量的变化控制尾递归何时结束也可以专设一个变量控制尾递归何时结束 1、尾部递归、首部递归与中部递归 递归调用语句出现在过程体的不同位置(尾部、头部或中间)分为尾部递归、首部递归和中部递归三种,后两者是较复杂⑴、例题4:画逐层减半(或增半)的正方形(如图) DRAW A4A 100? DRAW A4B 100TO A4B :S IF :S<10 STOP A4B :S/2 REPEAT 4[FD :S RT 90] PU FD :S PD END TO A4A :S IF :S<10 STOP REPEAT 4[FD :S RT 90] PU FD :S PD A4A :S/2END尾部递归过程:首部递归过程: 2、多次递归过程。

      在一个过程体中可以若干次调用其他过程,同样,在一个过程中也允许多次的递归调用如果在过程体中进行了多次的递归调用,这个过程称为多次的递归过程例题5:一条线段的变幻 A5_1 100TO A5_1 :S FD :S BK :SEND⑵、二次递归过程⑴、画线段TO A5_2 :S :J IF :S<10 STOP FD :S LT :J/2 A5_2 :S/2 :J RT :J A5_2 :S/2 :J LT :J/2 BK :SEND? A5_2 80 70 3、直接递归与间接递归过程 如果一个递归过程在过程体中直接调用自己,我们就称这种直接调用自身的递归调用为直接递归调用,相应的过程称为直接递归过程TO A1 :N IF :N<1 STOP FD 50 REPEAT 3[FD 30 RT 120] BK 20 RT 60 A1 :N-1END请看例题1:?DRAW A1 6↙ 如果一个递归过程在过程体中并不直接调用自己过程,而是通过调用一个或几个其它过程,最后调用回自身过程,这种通过调用其它过程来实现了递归调用的方法,我们称为间接递归调用,相应的过程则为间接递归过程。

      请看例题2:TO A2 :N IF :N<1 STOP B2 :NENDTO B2 :N FD 50 REPEAT 3[FD 30 RT 120] BK 20 RT 60 A2 :N-1END? DRAW A2 6 ↙? DRAW B2 6 ↙ 再看例题3:TO A3 :N :B IF :N<1 STOP ZFX :B LT 165 WAIT 50 B3 :N-1 :B+10ENDTO B3 :N :B IF :N<1 STOP SJX :B RT 165 WAIT 50 A3 :N-1 :B+10END? DRAW A3 10 20 ↙? DRAW B3 10 20 ↙ 另一类的过程为各自的过程体都构成递归形式,而则通过相互之间的调用方法来实现递归,我们也称之为间接递归调用,相应的过程称为间接递归过程 三、画出更奇妙的图形 递归的功能很强,许多非常复杂的图形,实际上是用几行相当简单的过程画出来的欣赏这些美妙的图形,更会激起我们探求知识奥秘的强烈欲望1、分割多边形TO FGDBX :N :S DRAW HT FG :N :SENDTO FG :N :S IF :S<10 STOP REPEAT :N[FD :S RT 180-(:N-2)*180/:N FG :N :S/2]END ?FGDBX 3 160 ?FGDBX 4 100 ?FGDBX 6 60 2、花团锦簇TO HTJZ :N :S IF :S<4 STOP REPEAT:N[FD :S HTJZ :N :S/3 BK :S RT 45]END ?HTJZ 8 80 ?HTJZ 10 40 ?HTJZ 9 80 ?HTJZ 14 30 演奏命令格式:PLAY  [曲谱]组成曲谱的字母之间有空格组成曲谱的字母之间有空格功能:让小海龟按照曲谱演奏乐曲。

       在LOGO里,音乐简谱中的七个音符,分别用七个英文字母表示音乐简谱01234567对应字母PCDEFGAB “On”表示音区,n为0~6之间的整数,标示从低到高的7个音区系统默认的音区是O3Ln”表示时值,n为1~64之间的整数,数字越大音长越短,系统默认的时值是L4Tn”表示音速,系统默认的音区是T120当n>120时,演奏速度较快,当n<120时,演奏速度较慢 演奏一曲编写过程SHENGRIGE,演奏下面的曲子 5 5 6 5 | 1    7 — || 5 5 6 5 | 2    1 — |  | 5 5 5 3 | 1 7 6 — || 4 4 3 1 | 2    1 —|| 答案:TO  SHENGRIGEPLAY [T150  L8  G G L4 A G O4 C O3 L2 B]PLAY [L8 G G L4 A G O4 D L2 C]PLAY [L8 G G L4  O4 G E L8 C O3 B L2 A]PLAY [L8  O4  F F L4 E C D L2 C]END 海龟画图基本命令学习海龟画图基本命令学习——截取与粘贴图形命令截取与粘贴图形命令SNAP 截取与粘贴图形命令语法:SNAP x坐标 Y坐标功能:SNAP将屏幕上一定范围内的图形存入位图中。

      海龟的位置标志着左下角,X和Y输入描述了图形的大小SNAP输出一个可以存储,调用或粘贴的位图对象例子:? MAKE “A SNAP 50 50(将海龟所在位置坐标(50,50)的矩形框内的图形存入变量:A)STAMP 粘贴图形语法:STAMP 位图 (STAMP 位图 x坐标 y坐标)功能:STAMP在当前海龟所在位置显示一幅由SNAP命令创建的位图海龟所在处为图形的左下角若STAMP命令置于括号内,你可给位图提供高度和宽度(均以“步”为单位),使位图经过调整后在指定区域显示出来例子:?DRAW STAMP :A (在坐标(0,0)处显示由SNAP命令截取的位图 海龟画图基本命令学习——椭圆和矩形命令STAMPOVAL 椭圆语法:1)STAMPOVAL 数 数 2)(STAMPOVAL 数 数 "TRUE)功能:STAMPOVAL在当前海龟周围画出一个椭圆它的第一个输入参数为该椭圆在水平方向上的轴径,第二个输入参数为该椭圆在垂直方向上的轴径若两个参数相等,STAMPOVAL画出一个圆若STAMPOVAL其输入参数和值TRUE全都置于括号中,则所画的椭圆将以当前的图案,用当前的笔色填充起来。

      例子:? DRAW? STAMPOVAL 50 30? DRAW?( STAMPOVAL 30 30 "TRUE)STAMPRECT 矩形语法:1)STAMPRECT 数 数 2)(STAMPRECT 数 数 "TRUE)功能:STAMPRECT以它的第一个输入参数为高,第二个参数为长画一个矩形,海龟当前的位置的左下角当两个输入参数相等时,STAMPRECT画出一个正方形若STAMPRECT其输入参数和值TRUE全都置于括号中,则所画的椭圆将以当前的图案,用当前的笔色填充起来例子? STAMPRECT 50 30 海龟画图基本命令——画点命令DOT画点语法:DOT [x坐标 y坐标]功能:DOT在由其输入坐标所决定点坐标的位置处打印一个点点的颜色就是当前的笔色DOT需要一个由两个数组成的表作为它的输入由于DOT不会对其输入表的内容进行计算,因此输入表必须包含两上数如果使用变量来记录X和Y坐标,使用SENTENCE(SE)来合成DOT的输入表例子:?DOT [30 60] (在X为30,Y为60处画点DOTCOLOR 显示点的颜色号语法:1)DOTCOLOR [X坐标 Y坐标] 2)(DOTCOLOR)功能:DOTCOLOR 输出在输入的点坐标处的象素的颜色。

      颜色由一个从0到15或255的数(分别对应于BACKGROUND或(PENCOLOR)决定或(DOTCOLOR)的括号内无参数,则输出海龟所在处的象素的颜色例子:?(DOTCOLOR)Result:15 海龟画图基本命令学习——定向命令海龟定向命令SETHEADING(SETH) 海龟转到指定的方向语法:1)SETHEADING 数 2)SETH 数功能:SETHEADING将海龟转至其输入指定的角度位置上正数使海龟顺时针旋转SETHEADING对海龟的旋转操作是相对于海龟的初始角度(即HEADING 为0),而并非相对于当前海龟的指向不论海龟指向那个方面,SETHEADING 0总是使海龟指向正上TOWARDS 输出海龟当前的指向与指定点的夹角语法:TOWARDS [X坐标 Y坐标]功能:TOWARDS输出一个值,表示海龟的指向从当前位置转向由命令的输入表指定的新位置所需旋转的角度SETHEADING TOWARDS[x坐标 y坐标]使海龟指向输入表中指定上的位置例子:? setxy [-50 -50] ? seth towards [0 0]执行上述两命令后,TOWARDS[0 0]转角为45o,因此海龟要右转45o。

      FD 前进 BK 后退 RT 右转 LT 左转 PU 抬笔 PD 落笔 HT 藏龟 ST 显龟 CS 清屏 HOME - 回家 REPEAT - 重复 SS 图文混合屏 FS 全图形屏 TS 全文字屏 ND 全文字屏、清屏 WRAP - 环绕状态 WINDOW - 窗口状态 FENCE - 围栏状态 SHOW - 屏幕输出 TT - 在画图区显示文字 TO……END - 过程头、尾 IF…THEN…ELSE PAUSE CO ALL - 进入编辑部 STOP - TOPLEVEL - SETPC - 设置画笔颜色 SETBG - 设置屏幕底色 坐标作图坐标作图 SETX - 指定海龟横向位置 SETY - 指定海龟纵向位置 SETXY - 指定海龟任意位置 SETHEADING SETH - 指定海龟方向 XCOR - 显示海龟当前位置的X坐标 YCOR - 显示海龟当前位置的Y坐标 GETXY - 显示海龟当前位置的X,Y坐标 HEADING - 显示海龟指向角度 文件管理文件管理 POTS - 显示工作区内所有过程的标题 POPS(PO ALL) - 显示工作区内所有过程的内容 PRINTOUT PO 显示工作区内过程的内容 ERASE(ER ALL) ER 删除工作区中的过程 DIRECTORY DIR 显示磁盘文件目录 DISK - 显示当前盘 SETDISK - 设置当前盘 SAVE - 把程序存盘 LOAD - 读程序文件 SAVEPIC - 图形存盘 LOADPIC - 读图形文件PC logo语言语言 DELETE - 删除文件 REN 文件改名 数值计算数值计算 PR 换行打印 TYPE - 同行打印 SETCURSOR - 打印格式 OP 输出 INT - 取整函数 ROUND - 四舍五入函数 QUOTIENT - 求商函数 REMAINDER - 余数函数 RANDOM - 随机函数 SQRT - 平方根函数 ABS - 绝对值函数 MAKE - 赋值 PRECISION - 数字显示精度 字表处理字表处理 FIRST - 取首 LAST - 取尾 BF 去首 BL 去尾 EMPTY? - 判断是否为空 READ - 从键盘上接受一串字符 RC 从键盘上接受一个字符 RL 从键盘上接受一个表 RQ 从键盘上接受一个字 RESULT: - 结果 TRUE - 真 FALSE - 假 COUNT - 测长函数 MAKE - 赋值 ITEM - 输出表中第:K个元素 TEST - 测试条件 IFT 测试真 IFF 测试假 KEY? - 是否有键盘输入 NUMBER? - 是否是数 WORD? - 是否是字 LIST? - 是否是表 WORD - 连接字 SE 字与表、表与表的连接 FPUT - 连接到表(字)首 LPUT - 连接到表(字)尾 LIST - 组成表 RUN - 运行表 DEFINE - 定义过程 ASCII - 输出字符的ASCII码 CHAR - 输出ASCII码值的字符 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.