LOGO语言教材培训.ppt

上传人:sccc 文档编号:5597279 上传时间:2023-07-31 格式:PPT 页数:88 大小:1.63MB
返回 下载 相关 举报
LOGO语言教材培训.ppt_第1页
第1页 / 共88页
LOGO语言教材培训.ppt_第2页
第2页 / 共88页
LOGO语言教材培训.ppt_第3页
第3页 / 共88页
LOGO语言教材培训.ppt_第4页
第4页 / 共88页
LOGO语言教材培训.ppt_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《LOGO语言教材培训.ppt》由会员分享,可在线阅读,更多相关《LOGO语言教材培训.ppt(88页珍藏版)》请在三一办公上搜索。

1、什么是LOGO,LOGO原意是“文字、符号”和“思考”、“思想”。还有“标记、商标”等意思。,第一讲,LOGO语言简介,LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。LOGO语言创始于1968年,是美国国家科学基金会所资助的一项专案研究,在麻省理工学院的人工智能研究室完成。,第一讲,LOGO语言简介,LOGO语言是由美国麻省理工学院人工智能实验室于1968年开发成功的。它的创始人是一位数学家,名字叫西蒙佩伯特(Seymour Papert)。又译为 西蒙派珀特,或西蒙佩帕特。,第一讲,他在从事人

2、工智能的研究中,一个像海龟的机械装置,触发了他的灵感。他利用广博的知识及聪明的才智完成了LOGO语言的设计。佩伯特希望孩子不要机械地记忆事实,强调创造性的探索。他说:“学校的多数课程是记忆一些数据和科学事实,却很少着眼于真正意义上的学习与思考。”他用LOGO语言启发孩子们学会学习,一些孩子用LOGO语言设计出了真正的程序。LOGO语言是一种结构化程序设计语言。它是交互式的,为人们提供了良好的编程环境;它是模块化的,便于程序的修改与扩充;它是过程化的,包含了过程、参数、变量等重要概念,并允许递归调用;它有丰富的数据结构类型;有生动的图形处理功能;。它不仅具备多种优秀程序设计语就能掌握LOGO的基

3、本绘图指令,高年级学LOGO程序设计自然不是难事。LOGO语言是中小学生十分喜爱的一种计算机程序设计语言,它里面有一个绘画能手小海龟。小海龟本领高强,会唱歌、会画画,多才多艺。我们可以指挥小海龟在屏幕上画出丰富多彩的图画,奏出美妙动听的音乐。对于在LOGO语言中,输入命令就被立即执行,我们通常称之为“立即方式”,或“命令方式”。,pc logo for windows基础,1、软件的安装2、界面简介 了解标题栏、菜单栏、工具栏、绘图窗口、小海龟、命令窗口、提示符(?)、光标()、状态栏以及常见的工具按钮。,第一讲,3、了解窗口的各种显示方式以及切换方法 LOGO语言中,可以用各窗口的最大化和还

4、原命令改变窗口的显示状态,也可以用输入命令的方法改变窗口的显示状态(窗口界面视图的切换命令):FS(fullscreen)全图状态命令,即全图方式。SS(splitscreen)图文混合状态命令,即图文方式。TS(textscreen)全文本状态命令,即文本方式。,pc logo for windows基础,pc logo for windows基础,全图状态时,看不到从键盘上输入的任何命令,只能看到海龟画图区域。(但,此时,仍然可以通过键盘输入并执行命令)。这时输入SS命令,就可以回到图文混合状态了。LOGO语言命令可以使用简写,如FORWARD 是前进命令,可以简写为 FD。在小学教材中,

5、一般使用的都是简写以便于学生记忆。再如LEFT 是左转命令,简写为 LT。RIGHT 是右转命令,简写为 RT。BACK 是后退命令,简写为 BK。LOGO命令不分大小写。,第一讲,简单的绘图命令,FD(forward)参数 前进 BK(back)参数 后退 RT(right)参数 右转 LT(left)参数 左转 注意:命令和参数之间必须用空格分开,执行命令时必须按回车键。,第一讲,格式:FD 参数,几个命令,CLEAN 清图命令。清除屏幕上的图形,海龟的状态不变。即,只清除屏幕上的图形,不改变海龟的位置和方向。(海龟不归位)。CS(clearscreen)清屏。清除屏幕上的图形,海龟回母位

6、。但,设置的属性仍保留。例如:setw 20 fd 40 cs fd 50Draw 初始化命令。使系统恢复到启动状态。效果是:清屏(绘图窗口)后,海龟归位,设置的属性全部初始化,即,海龟回到原点位置,头向上,笔粗为1,笔色为黑色。CT(cleartext)清文本 作用是:清除命令窗口所有文本,“?”提示符回到第一行。,第一讲,练一练,练习1:将FD 40 RT 90 连续输入四次,分别回车,看看画出了什么?将FD 与RT 改为 BK与LT再操作一次。(连续输入4次),第一讲,思考题,1、DRAW命令有什么作用?与CS命令有什么不同?你能举例说明么 2、小海龟只会一步步走路吗?怎样让小海龟飞一段

7、路程再走呢?,第一讲,几个命令,PU(penup)抬笔命令 让海龟把脚抬起来,移动时不画线。PD(pendown)落笔命令 让海龟把脚落下,移动时画出线来。,第一讲,笔擦命令(PE),PE(PENERASE)笔擦命令。例如fd 60pe bk 60,第一讲,想一想,如何使用PE命令画一条虚线?,可参考下面语句:FD 150 PU BK 20 PE BK 20 PU BK 20 PE BK 20 PU BK 20 PE BK 20 PU BK 20 PE BK 20 注意:执行语句后若再想画线,必须先执行落笔命令。也可参考下面语句:FD 20 PU FD 20 PD FD 20 PU FD 20

8、 PD FD 20 PU FD 20 PD FD 20 PU FD 20 PD,第一讲,退出软件的方法,(1)使用BYE命令。(2)使用文件菜单中的“退出”命令。(3)单击窗口右上角的关闭按钮。,第一讲,练一练,教材P9 3,第一讲,思考一下,怎么在画完图后,让小海龟不留痕迹回家,并保留屏幕上画好的图形?(PU HOME)CLEAN与DRAW命令有什么相同点和不同点?在学过的命令中,哪些命令后面需要参数,哪些命令后面不需要参数?,第一讲,小经验,修改错误的方法:在命令状态下,可以用键盘上的四个光标控制键来移动光标。如果发现命令有错误,首先将光标移到要删除的字符处,删除字符,再键入正确的字符。如

9、果发现某个地方漏打了字符,例如,命令 RT90在命令与数字之间忘记输入空格了,可将光标移到字符“9”前,按一下空格键,命令就变成了RT 90 了。小窍门:使用历史记录运行执行过的命令。在LOGO语言里,若把光标键移到已经执行过的命令上,回车,则可再次执行命令。例如:输入 FD 60 RT 90 回车后,用上述方法再执行三次,看画出了什么图形。,第一讲,巧定海龟位置,设置坐标命令SETXY X Y 将海龟移到坐标X Y 处,海龟的方向不变。设置横坐标命令SETX X 将海龟移到X坐标指定位置,Y坐标和海龟方向不变。设置纵坐标命令SETY Y 将海龟移到Y坐标指定位置,X坐标和海龟方向不变。注意:

10、上面的命令,在移动海龟时,会在前后位置间连上线。P11 画长方形,第一讲,Home 回家命令。使海龟回到母位。不清屏,海龟回到屏幕中心。(带线归位)。例如:fd 60 rt 30 fd 40 home可以利用带线归位的功能画图,例如:fd 60 rt 90 fd 30 homeHT(hideturtle)藏龟命令ST(showturtle)显龟命令,大家在电脑上试一下。P12 4,小知识,GETXY 显示海龟当前的坐标。XCOR 输出海龟横坐标位置。YCOR 输出海龟Y坐标位置。DOTCOLOR:X:Y 返回指定坐标点的颜色值。画点命令DOT X Y 在指定的坐标位置画一个点,海龟当前位置不变

11、。,第一讲,REPEAT重复命令,重复命令格式:REPEAT 重复次数 重复内容P14 15看一看repeat 2 fd 40 rt 90 fd 80 rt 90 长方形比较一下:repeat 6 fd 50 rt 60 与lt 30 repeat 6 fd 50 rt 60,第二讲,想一想,不用重复命令怎样画正方形和长方形?用重复命令怎样画正方形和长方形?体会一下重复命令的好处。怎样用重复命令画正三角形?怎样画出顶点朝正上方的正三角形?画顶点朝正上方的正五边形呢?答案:lt 18 repeat 5 fd 60 rt 72 在画上面各正多边形时,你怎样根据多边形的内角和公式计算旋转角度?先根据

12、(n-2)*180算出内角和,再除以n 算出内角,再用“180内角”算出外角。旋转的角度就是外角的度数。,第二讲,用重复命令画正多边形公式,观察下面的列表,可以发现,小海龟在画正多边形时,重复的次数与转角度数的乘积总是等于360度。,从表中可以看出,画正多边形时,转角的度数是正多边形的一个外角的度数。在画正多边形时只要用360度除以边数,就可以得到转角的度数。画正多边形的公式:REPEAT 边数FD 边长 RT 360/边数,第二讲,小经验,注意:在计算机语言中,除号是/乘号是*在画正多边形时,边数越多,边长就要越小些。否则画出的图形会出界导致错乱。,第二讲,练一练,练习画一下点朝上的正三角形

13、、正六边形、七、九边形。想一想:画正七边形时,转角的度数怎么表示呢?,第二讲,五角星 repeat 5 fd 80 rt 144,练一练 P16 2,Repeat 4repeat 2fd 100 rt 90 fd 20 rt 90,Repeat 8fd 80 bk 80 rt 45,Repeat 8pu fd 50 pd fd 50 pu bk 100 rt 45,Repeat 4fd 100 rt 90 fd 20 rt 90 fd 100 rt 90 fd 20,画 圆,如何用REPEAT命令画一个圆呢?(在LOGO语言中,通常采用画一个正36边形来近似画圆。我们画圆一般是根据确定圆心和圆

14、的半径来画,如果圆的半径为r,那么圆的周长就是 2r。这样得到下面的式子:36边长2r 所以,边长2r36r18 所以,画圆的公式为:repeat 36fd 半径*0.174 rt 10 有了这个式子,只要确定了圆的半径,就可以画出指定半径的圆了。例如:画一个半径为10的圆 repeat 36fd 3.14*10/18 rt 360/36 即 repeat 36fd 3.14*10/18 rt 10 或repeat 36fd 10*0.174 rt 10 在LOGO语言中,圆周率可以写成 PI,系统默认是两位小数。所以,上面的语句也可以写成:repeat 36fd PI*10/18 rt 10

15、 提示:若不指定半径,我们常常直接使用这样的命令画圆:repeat 36fd 边长 rt 10 如:repeat 36fd 10 rt 10 也可以使用这样的两次旋转,使画出的圆更平滑:repeat 36 rt 5 fd 10 rt 5,第二讲,画椭圆和矩形,“看一看”DRAWSETPC 12(STAMPOVAL 40 40“TRUE)PU LT 90 FD 350 RT 90 BK 130 PD SETPC 9(STAMPRECT 700 120“TRUE),第二讲,120,700,画椭圆命令,画空心椭圆格式:STAMPOVAL 横轴半径 纵轴半径画实心椭圆格式:(STAMPOVAL 横轴半

16、径 纵轴半径“TRUE)注意:画实心椭圆时,一定要有括号。两个 参数相等时为正圆。,第二讲,画矩形命令,画空心矩形格式:STAMPRECT 长 宽画实心矩形格式:(STAMPRECT 长 宽“TRUE)注意:画实心矩形时,一定要有括号。两个参数相等时为正方形。,长,宽,第二讲,小知识,用上述命令画椭圆后,小海龟在椭圆的中心。用上述命令画矩形后,小海龟在矩形的左下角。例如:STAMPOVAL 120 50STAMPRECT 120 50,第二讲,动脑筋,画矩形或椭圆时,海龟分别处在图形的什么位置?(答案略)海龟在同一位置画两个实心图形时,要注意什么?STAMPOVAL 和 STAMPRECT 命

17、令只能画水平与垂直方向的椭圆和矩形吗?,第二讲,动脑筋,画矩形或椭圆时,海龟分别处在图形的什么位置?(答案略)海龟在同一位置画两个实心图形时,要注意什么?(答案:要注意区别两个图形的颜色。)STAMPOVAL 和 STAMPRECT 命令只能画水平与垂直方向的椭圆和矩形吗?(答案:不管海龟角度如何,都只能画水平与垂直方向的椭圆和矩形),第二讲,练一练(P19 2题),特别要注意画圆和画正方形时,海龟处在所画图形中的位置。,第二讲,重复命令嵌套,repeat 命令是可以嵌套的。P20Repeat 重复次数repeat 重复次数重复内容命令栏例如:repeat 4 repeat 36fd 10 r

18、t 10 rt 90 想一想:这个语句能画出什么图形?试一下。然后改变最外层的旋转角度和旋转次数,再试试。将用重复命令画的其它图形,加上外部的嵌套(重复次数自定),看看能画出什么图形。例如:repeat 18 repeat 5 fd 80 rt 144 rt 20 repeat 12 repeat 6 fd 70 rt 60 rt 30 repeat 6 repeat 6 fd 70 rt 60 rt 30 提示:当最外层的旋转次数与旋转角度的积是360的时候,正好会旋转一周。若积小于360呢?,第二讲,重复命令嵌套练习,用重复命令嵌套完成下面的练习,要求旋转一周:1、用重复命令画一个圆,并旋

19、转18次。2、用重复命令画一个正方形,并旋转6次。3、用重复命令画一个正八边形,并旋转8次。4、用重复命令画一个五角星,并旋转18次。,第二讲,重复命令嵌套练习,用重复命令嵌套完成下面的练习,要求旋转一周:1、用重复命令画一个圆,并旋转18次。repeat 18 repeat 36fd 10 rt 10 rt 20 或 repeat 18 repeat 36rt 5 fd 10 rt 5 rt 20 或 repeat 18 repeat 36rt 5 fd 5 rt 5 lt 202、用重复命令画一个正方形,并旋转6次。repeat 6 repeat 4 fd 100 lt 90 lt 60

20、或 repeat 6 repeat 4 fd 100 rt 90 rt 603、用重复命令画一个正八边形,并旋转8次。repeat 8 repeat 8fd 50 lt 45 lt 45 或 repeat 8 repeat 8fd 50 rt 45 rt 454、用重复命令画一个五角星,并旋转18次。repeat 18 repeat 5fd 120 rt 144 rt 20,第二讲,REPEAT命令使用范例,setpc 2 repeat 12 pu fd 40 rt 30 pd repeat 3fd 40 rt 120 lt 30 pu bk 40 rt 30setpc 12 repeat 6

21、 repeat 2 fd 30 rt 90 fd 60 rt 90 rt 60,第二讲,REPEAT命令使用范例,setw 5 setpc 2 repeat 6 lt 45 repeat 4 repeat 9 fd 10 rt 10 repeat 9 fd 10 lt 10 rt 90 rt 105 或 setw 5 setpc 2 repeat 6 lt 45 repeat 4 repeat 9 fd 5 rt 10 repeat 9 fd 5 lt 10 rt 90 rt 105,第二讲,提示:用重复命令画弧的公式:REPEAT 圆心角度数/10 FD 半径*0.174 RT 10 一般可

22、以这样:REPEAT 圆心角度数/10 FD 10 RT 10,lt 45 repeat 9 fd 5 rt 10 repeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10 repeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10repeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10repeat 9 fd 5 lt 10 rt 90 rt 105 lt 45 repeat 9 fd 5 rt 10 repeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10 r

23、epeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10repeat 9 fd 5 lt 10 rt 90 repeat 9 fd 5 rt 10repeat 9 fd 5 lt 10 rt 90 rt 105,思考,REPEAT命令中的中括号可以缺少一个吗?利用重复命令,怎样画出下图呢?,第二讲,练一练(P23 2题),参考答案,repeat 4fd 60 bk 60 rt 90 pu fd 20 lt 90 pd,第二讲,改变笔色和背景色,改变笔色:可以通过工具栏的按钮改变笔色。也可以使用命令:setpc 颜色代码(015)背景色也可以改变,大家试试用工具栏

24、改变背景色。用命令是:setbg 颜色代码(015)从工具栏中,单击改变颜色按钮,打开颜色列表。看看各颜色的代码。记一下。,第三讲,小海龟已经能画出很多好看的图形了,但颜色单一,你能改变它吗?,颜色代码表,第三讲,填充颜色命令 FILL,FILL 填充颜色命令。使用该命令时,必须先使小海龟抬笔走进要填充颜色的封闭图形中,然后落笔再执行该命令。例如:setpc 12 setbg 14 repeat 4fd 100 rt 90 pu rt 45 fd 30 pd fill,第三讲,小知识,给带有边色线的图形填充不同的颜色,命令格式为:(FILL 图形线的颜色)注意:一定要有括号。例如:setpc

25、12(设笔色为浅红)repeat 4fd 100 rt 90;画出一个边线色为浅红色的正方形rt 60 pu fd 40 pdsetpc 9;设笔色为浅蓝(fill 12);在浅红边框的正方形内填充浅蓝色,第三讲,想一想,下面的第二条语句能画出什么图形?若想给画出的图填色,横线上应该写什么语句?drawsetw 5 repeat 36 fd 15 rt 10rt 90 pu fd 30 pdsetpc 12_,(FILL 0),第三讲,Setpattern 填充模式代码 P27例:repeat 4fd 60 rt 90 pu setxy20 20 pd setpattern 3 fill,也可

26、以填充背景,P29 2,设置笔宽命令格式:SETW N 即,SETW 笔宽值(N是笔头型号,也就是笔宽的值。取值范围是 1999 值越大画出的线越粗。初始化状态值为1。例如:SETPC 12 SETW 30 FD 60 再如:FD 2 BK 2;画点后海龟归位,第三讲,可变的画笔,画点的范例,setw 20 setpc 12 fd 2 bk 2;画出一个点 pu rt 90 fd 20 lt 90 pd;改变位置 setw 10 setpc 2 fd 1 bk 1;画出另一个点 画出连续的点:SETW 20 FD 2 BK 2 PU RT 90 FD 40 LT 90 PD SETW 10 F

27、D 1 BK 1 PU RT 90 FD 40 LT 90 PD SETW 20 SETPC 12 FD 2 BK 2,第二讲,小海龟写字,1、设置字体命令Setfont 字体名称 字体大小 字体属性 P31或者用工具栏和“海龟”菜单设置,2、用TT命令写字格式:TT文本字符,例:Setfont”楷书 30 3 TT美丽的小雪花,过程的定义,过程就是一系列有序命令的集合。TO END 过程的第一行称为过程头,以TO开头,后面是过程名,如:SJX WJX,过程头和过程名间要有空格 中间部分是过程体,是我们用来绘图或解决问题而按照一定次序编排的命令序列,它是整个过程的核心。过程体可以是一行命令,也

28、可以是多行命令,还可以是其他一些过程名。最后一行是过程尾,用END表示过程的结束。,第三讲,过程定义范例,定义一个画三角形的过程TO SJXREPEAT 3 FD 90 RT 120END定义一个画五角星的过程TO WJXREPEAT 5 FD 70 RT 144END定义过程后,输入过程名,回车,即可执行过程。,第三讲,过程定义范例,定义一个画花的过程TO HUAREPEAT 5 REPEAT 3 FD 50 RT 120 RT 72END 定义过程后,输入HUA,回车,即可执行过程,画出花的图形。,第三讲,过程定义范例,定义画立体五角星的过程TO LWHT RT 18REPEAT 5 FD

29、 60 RT 144 FD 60 RT 54 FD 110 BK 110 LT 54+72END 定义过程后,输入LW,回车,即可执行过程,画出五角星的图形。请大家分析一下上面画立体五角星的方法。,第三讲,试一试,动脑筋,1、原始命令可以用作过程名吗?过程名可以重复吗?原始命令不可以用作过程名,例如:to draw 回车后,电脑会显示:DRAW is already in use.Try a different name.to cs 回车后,电脑会显示:CS is already in use.Try a different name.过程名也不可以重复。即,定义过的过程,若用它的过程名,再次

30、定义另一个过程,则先定义的过程被替换。2、在一个过程中,如果命令输入错了怎么办?可以输入 EDIT 过程名,回车后会调出过程编辑器。改正错误后,按F2退出编辑器即可自动保存修改。,第三讲,过程的编辑和修改,定义过程后,使用 EDIT 过程名 可调出编辑器,在编辑器中修改后,按F2即可关闭并保存修改。若定义了多个过程,则可以用EDIT ALL 回车后,可以编辑器中编辑所有的过程。例如:TO FREPEAT 4 FD 90 RT 90END 输入F,回车后可画出正方形。此时,输入EDIT F,回车则打开编辑器。在编辑器中添加SETPC 12,过程变成:TO FSETPC12 REPEAT 4 FD

31、 90 RT 90END然后按F2关闭编辑器再输入 F,回车后会发现,画出的是红色的正方形了。说明修改成功。,第三讲,过程的保存,在命令窗口或在编辑器中编写过程后,单击“文件”菜单中的“保存”(快捷键是F6),或使用工具栏的SAVE按钮,可以把过程保存下来,保存时的文件名,可以与过程名不同。保存过程以后,可以使用“文件”菜单中的“打开”或“装载”命令,或使用工具栏上的LOAD按钮,打开保存的过程文件(*.LGO),再输入过程名,回车后即可执行过程。,第三讲,过程范例,旋转的风车 to fcrepeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60wait 1

32、0 clean rt 10fcend,第三讲,试一试,过程范例,编写一个画地板图案的过程(自己加颜色)TO DBHT REPEAT 6 REPEAT 6 FD 30 LT 60 FD 30 RT 60END 想一想,上面的语句是如何画出地板图形的?你能给地板图形填上颜色吗?,第三讲,试一试,带参数(变量)的过程,示例TO ZFX:AREPEAT 4 FD:A RT 90END输入 ZFX 20,回车。再输入ZFX 30,回车。再输入ZFX 40,回车,第三讲,带参数(变量)的过程,示例二:TO YUAN:A:BSTAMPOVAL:A:BEND输入YUAN 20 60,回车。再输入YUAN 80

33、 50,回车。再输入YUAN 100 80,回车,第三讲,一个画小海星的过程,TO HX:B:CFD:B RT:CHX:B:C+10HTEND 输入HX 10 3,回车试试。再输入HX 10 1,回车试试。,第三讲,试一试,过程的递归调用,一个程序中可以包括多个过程,当一个过程中出现另一个过程的过程名时,就表示要调用那个过程,这种情形称之为过程调用。示例:TO LX:A FD:A RT 120 LX:A+10 END 这里的参数:A 表示第一次前进的步数。执行 LX 10,会发现出现对话框报错。这是由于循环调用,成了死循环,无法停止而造成内存缓冲区已满的错误。我们可以加一条控制过程停止的语句,

34、避免死循环。如下页:,第三讲,试一试,过程的递归调用,TO S:A IF:A 300 THEN STOP FD:A RT 120 S:A+10END IF:A 300 THEN STOP 意思是,当参数值增加到300以上时,就停止过程的运行。,第三讲,试一试,练技能,画正N边形的过程:TO ZHDBX:N:A;N是边数,A是正多边形的边长REPEAT:N FD:A RT 360/:NEND画正多边形螺旋线的过程:TO DBLX:A:N;N是边数,A是起始多边形的边长IF:A150 THEN STOPFD:A RT 360/:N;画一条边,然后转到画下一条边的方向DBLX:A+3:N;调用自身,

35、边长增加步END 分别输入 DBLX 30 3、DBLX 30 4、DBLX 30 5 再回车试试。,第三讲,试一试,练技能,TO ZFXREPEAT 4 FD 40 RT 90ENDTO LXREPEAT 2 FD 40 RT 60 FD 40 RT 120ENDTO SJREPEAT 3 FD 40 RT 120ENDTO XGCS PU FD 80 RT 90 BK 60 PD ZFX RT 90 LX LT 90 FD 40 RT 30 LXRT 60 FD 40 RT 30 SJ FD 40 RT 180 SJ RT 60 ZFX FD 40 LX FD 40 RT 60 FD 9

36、LT 120 SJEND执行 XG,可画出小狗。注意:若在编辑器或命令窗口中同时定义了多个过程,保存过程文件时,会将定义的多个过程同时保存到一个文件中。装载保存的过程文件后,各过程会全部被调入内存中。大家可以把本页定义的各过程一起复制到编辑器中,再保存一下,然后装载到LOGO中试试。若各个过程要单独保存,则要在编辑器中一个一个的分别定义,再一个一个地分别保存下来。装载时,要一个一个地分别装载到内存中,才可以相互调用。,第三讲,试一试,练技能,to huarepeat 4 repeat 3 fd 30 rt 120 rt 90endto huahuansetpc 12repeat 8 hua r

37、t 45 pu fd 70 pdend 定义过程后,输入 huahuan,再回车,即可画出一个花环。,第三讲,试一试,用递归的方法画三角形圆环,setpc 2 repeat 12 pu fd 40 rt 30 pd repeat 3fd 40 rt 120 lt 30 pu bk 40 rt 30 上面的语句是我们以前画右图时使用的。现在,若用递归调用的方法,应该怎样写呢?to sj setpc 2 repeat 3fd 40 rt 120 endto huanrepeat 12 pu fd 40 rt 30 pd sj lt 30 pu bk 40 rt 30end,第三讲,试一试,小知识,

38、1、调用磁盘上保存的过程,除了用“文件”菜单中的“装载”外,还有以下方法:(1)按F5键(2)单击工具栏上的 Load 按钮2、停止按钮 在LOGO系统中有一个“交通岗”,当你进行递归调用时,如果想停止、暂停或继续运行该过程,可以单击工具栏中的三个相应的“红绿灯”按钮。(LOGO的“调试”菜单中也有相应的命令)例如:这是以前我们做过的风车旋转的一个范例:to fcrepeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60wait 10 clean rt 10fcend 大家运行一下,并使用工具栏中的“红绿灯”按钮控制一下试试。,第三讲,试一试,条件判断语句

39、IF语句,下面我们讲解一下IF语句IF语句有两种格式:格式1:IF 条件 THEN 命令(THEN 可以省略不写)当符合条件时,执行THEN后面的命令,否则就不执行THEN后面的命令,直接执行其它命令。注意:命令可以是一个或多个命令,命令间以空格分开,最后以回车结束。不属于THEN中的命令,一定要写到下一行。其中的“条件”,可以是等式或者不等式及表达式,如:S=40、R35、R10、(OR:N20)等。,第四讲,躲避前方障碍物 过程方式:TO QBZ FD 2 WAIT 2 IF:PIN5=0 THEN RT 90 END,条件判断语句 IF语句,格式2:IF 条件 THEN 命令1 ELSE

40、 命令2当条件表达式符合条件时,执行 THEN后面的命令1,跳过命令2,再接着执行其它命令;否则,跳过命令1,执行ELSE后面的命令2,再接着执行其它命令。例如画风车的范例:TO FC REPEAT 6 FD 70 REPEAT 4 FD 30 RT 90 BK 70 RT 60WAIT 10 CLEAN RT 10MAKE N:N+1IF:N=60 THEN STOP ELSE FCEND 注意:在递归调用时,若过程自己调用自己,一定要设计至少一个出口,来结束过程,否则会造成死循环,过程不停地运行,甚至导致死机等来重后果。语句中的STOP,是停止过程运行的命令。它只能使用于过程当中。,第四讲

41、,试一试,IF语句编程范例,根据提示输入一个1360的数,表示一个角度,由电脑判断这个角是不是锐角,在命令窗口输出判断结果,并在绘图窗口中画出这个角。to jd:n cs rt 90 fd 100 bk 100;画出一条边lt:n;左转输入的角度fd 100 ht;画出另一条边后隐藏海龟endto pdjdpr 请输入角度:;让屏幕显示请输入角度:make r read;创建一个变量r,并等待输入jd:r;用输入的角度值 r 画角,画出一个r 度的角if:r90 then pr 您输入的角度是锐角 else pr 您输入的角度不是锐角end,第四讲,试一试,练技能,试调用下面的两个过程,编写一

42、个名为 XZ 的过程,完成以下功能:命令窗口显示提示:“请选择:1 同心圆 2 两个正方形”,如果输入1,调用 YUAN 画出同心圆;如果输入 2,调用ZFX画出两个正方形;如果输入其他数字,过程结束,无任何提示。TO YUANSETPC 14(STAMPOVAL 60 60 TRUE)SETPC 12(STAMPOVAL 30 30 TRUE)HTENDTO ZFXSETPC 13(STAMPRECT 78 78 TRUE)SETPC 10(STAMPRECT 50 50 TRUE)HTENDTO XZDRAWPR 请选择:1 同心圆 2 两个正方形make h readif:h=1 the

43、n yuanif:h=2 then zfxend,第四讲,试一试,循环语句 FOR,循环控制命令FOR语句有两种格式格式1:FOR“变量 初值 终值 命令串功能:变量的值由初值开始,每次加1 并将后面的命令串执行一遍,直到超过终值为止。例如:DRAW SETPC 12 SETW 4 FOR I 3 6 REPEAT 3 FD:I*20 RT 120,第五讲,循环语句 FOR,格式2:(FOR“变量 初值 终值 命令串 步长)功能:变量的值由初值开始,每次增长一个步长,并将后面的命令串执行一遍,直到超过终值为止。例如:(FOR I 1 7 PR:I 2)输出结果为:1 3 5 7(FOR I 1

44、 7 PR:I 1)输出结果为 1 2 3 4 5 6 7(FOR I 10 1 PR:I 3)输出结果为 10 7 4 1(FOR I 10 1 PR:I 4)输出结果为 10 6 2注意:引号与变量名之间不能有空格。格式2中,步长若为1时,可以省略步长值。因此,格式1与格式2实际上是一样的,相当于格式2省略了步长。,第五讲,FOR语句应用范例,用FOR语句累乘求积编写过程求12 3 4 30和值。思路分析:从1开始累乘求积时,要用一个变量来储存所求和积,并将该变量的初值设为1。FOR循环中变量每次加1,将其与存积变量S相乘,作为变量S的新值继续保存。这样,不断循环,使S的值最终为1到30的

45、积。过程如下:to shmake s 1;创建一个变量S,并赋值为1for i 1 30 make s:s*:i;将变量值1分别乘以130并累乘求积。(pr 1*2*3*4*.*30=:s);在命令窗口中输出所求的积。end make 命令,再次使用变量前就冒号 注意:若要在LOGO的命令窗口中输出多个内容,要在pr语句前后加上小括号。本过程最后结果显示为:1*2*3*4*.*30=2.65E+32 这里的2.65E+32 是科学计数法,表示 2.651032,第五讲,FOR语句应用范例,*想一想:若用for语句累加,求1100的和,应该怎么写过程呢?to qhmake s 0;创建一个变量S

46、,并赋值为0for i 1 100 make s:s+:i;将变量值0依次加上1100并累加求和。(pr 1+2+3+4+.+100=:s);在命令窗口中输出所求的和。end,第五讲,FOR语句应用范例,用一条FOR语句循环命令画出从正三边形到正九边形。setw 4 setpc 13 for p 3 9 repeat:p fd 30 rt 360/:p 提示:正多边形的边数变化借助于FOR循环中的变量,将FOR循环的初值设为3,终值设为9。,第五讲,试一试,FOR语句应用范例,用FOR循环命令画出边长分别为30、60、90、120的不同颜色的正方形。提示:利用随机函数RANDOM,随机产生不同

47、的颜色。cs for s 1 4 setw 3 setpc random 15 stamprect:s*30:s*30 方法2:cs(for s 30 120 setw 3 setpc random 15 stamprect:s:s 30),第五讲,试一试,FOR语句应用范例,编写一个程序,在命令窗口输出九九乘法口诀表。提示:利用FOR循环嵌套FOR循环来实现。to xjjfor i 1 9 for j 1:i(type:j*:i=:i*:j)pr end注意:pr 的作用是换行。语句中那对空括号 的作用是产生空格,否则第行内的各乘法算式会连在一起(教材中的语句是没有这个空格的。)。type命

48、令的作用和用法与pr命令类似,但它是不换行输出,而pr是换行输出。这里之所以使用type,是为了实现在一行中写出某数的口诀,例如 1X22 2X24 若把type 换成 pr,则,每输出一个算式,都会换行。如下例:to xjjfor i 1 9 for j 1:i(pr:j*:i=:i*:j)end,第五讲,试一试,动脑筋,1、FOR循环有几种格式,每种功能有什么不同?(答案略。参见本PPT前面部分)2、利用FOR 循环能做动画吗?试一试。(答案:能。例如:(FOR I 10 360 repeat 5 fd 150 rt 144 wait 10 clean seth:i 10)3、FOR循环与

49、递归调用有什么不同?(参考答案:FOR循环是在同一过程或命令行中循环改变变量的值。递归调用是一个过程中调用另一个过程。),第五讲,小知识,1、随机函数:RANDOM X 可以随机产生一个1X之间的正整数。在一些带参数的命令中,用随机函数作为参数,使执行结果在预定的范围内,但不能具体确定。例如:REPEAT 5 SETPC RANDOM 14 FD 90 RT 144 再如:PR RANDOM 6,输出结果是16中的随机正整数。2、赋值命令 MAKE 变量必须先赋值,有了确定的值后,该变量才能参与运算。赋值语句格式为:MAKE 变量名 数据,如:MAKE S 9 其中,引号后面的是变量名,而不是

50、变量(LOGO中的变量要带冒号的)。后边的数据是赋值内容,也可用READ命令等待键盘输入。如:MAKE“S READ,回车后,输入60,则变量S的值就赋值为60,此时若 输入 PR:S,则会显示为60。给变量赋值后,若要在过程中或命令行中使用该变量,则要在变量名前加上冒号。,第五讲,多龟作图,多龟作图常用方法:指名法、激活法。退出多龟作图可以用draw命令。1、指名法。使用呼叫命令:ASK 用ASK指名调用海龟。这种方法不够 灵活,用得较少。格式:ASK 海龟代号 命令组例如:ASK 1 FD 30 STASK 2 FD 60 STASK 3 RT 90 FD 60 STSETPC 12 可以

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号