LOGO语言竞赛培训课件.ppt_第1页
LOGO语言竞赛培训课件.ppt_第2页
LOGO语言竞赛培训课件.ppt_第3页
LOGO语言竞赛培训课件.ppt_第4页
LOGO语言竞赛培训课件.ppt_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

合肥 李本海 logo语言简介 logo语言是一种早期的编程语言, 也是一种与自然语言非常接近的编程语言 ,它通过“绘图”的方式来学习编程,对初 学者特别是儿童进行寓教于乐的教学方式 。 logo语言创始于1968年,是美国国 家科学基金会所资助的一项专案研究,在 麻省理工学院的人工智能研究室完成。 第一讲 logo语言简介 logo语言是由美 国麻省理工学院人工 智能实验室于1968年 开发成功的。它的创 始人是一位数学家, 名字叫西蒙佩伯特( seymour papert )。 又译为 西蒙派珀特 ,或西蒙佩帕特。 第一讲 什么是logo logo原意是“文字、符号”和“思考”、“思 想”。还有“标记、商标”等意思。 第一讲 pc logo for windows基础 1、软件的安装 2、界面简介 了解标题栏、菜单栏、工具栏、绘图窗口、小海龟、 命令窗口、提示符( ?)、光标 ()、状态栏以及常 见的工具按钮。 3、了解窗口的各种显示方式以及切换方法 logo语言中,可以用各窗口的最大化和还原命令 改变窗口的显示状态,也可以用输入命令的方法改变窗 口的显示状态(窗口界面视图的切换命令): fs (fullscreen) 全图状态命令,即全图方式。 ss (splitscreen)图文混合状态命令,即图文方式。 ts (textscreen)全文本状态命令,即文本方式。 第一讲 pc logo for windows基础 全图状态时,看不到从键盘上输入的任何命 令,只能看到海龟画图区域。(但,此时,仍然 可以通过键盘输入并执行命令)。这时输入ss 命令,就可以回到图文混合状态了。 logo语言命令可以使用简写,如 forward 是前进命令,可以简写为 fd。 在 小学教材中,一般使用的都是简写以便于学生记 忆。 再如left 是左转命令,简写为 lt。 right 是右转命令,简写为 rt。 back 是后 退命令,简写为 bk。 logo命令不分大小写。 第一讲 简单的绘图命令 fd(forward) 参数 前进 bk(back) 参数 后退 rt(right) 参数 右转 lt(left) 参数 左转 注意:命令和参数之间必须用空格分开 ,执行命令时必须按回车键。 第一讲 练一练 练习1: 将fd 40 rt 90 连续输入四次,分别 回车,看看画出了什么?将fd 与rt 改为 bk与lt再操作一次。(连续输入4次) 练习2:课本p5 第5题 第一讲 退出软件的方法 (1) 使用bye命令。 (2) 使用文件菜单中的“退出”命令。 (3)单击窗口右上角的关闭按钮。 第一讲 思考题(p6 ) 1、draw命令有什么作用? (draw 是初始化命令。 使系统恢复到启动状态 。效果是:清屏后,海龟归位,设置的属性全部 初始化,即,海龟回到原点(又称源点或母位) 位置,头向上,笔粗为1,笔色为黑色。 例如:比较一下 setw 20 fd 40 cs fd 50 和 setw 20 fd 40 draw fd 50 ) 2、小海龟只会一步步走路吗?怎样让小海 龟飞一段路程再走呢? (pu pd命令) 第一讲 第2课涉及的几个命令 pu(penup)抬笔命令 让海龟把脚抬起来,移动时不画线。 pd (pendown)落笔命令 让海龟把脚落下,移动时画出线来。 ht(hideturtle)藏龟命令 st (showturtle)显龟命令 clean 清图命令。清除屏幕上的图形,海龟的状态不变。即,只 清除屏幕上的图形,不改变海龟的位置和方向。(海龟不归位)。 cs (clearscreen)清屏。 清除屏幕上的图形,海龟回母位。但,设 置的属性仍保留。 例如: setw 20 fd 40 cs fd 50 draw 初始化命令。 使系统恢复到启动状态。效果是:清屏(绘图 窗口)后,海龟归位,设置的属性全部初始化,即,海龟回到原点 位置,头向上,笔粗为1,笔色为黑色。 home 回家命令。使海龟回到母位。 不清屏,海龟回到屏幕中心。 (带线归位)。例如: fd 60 rt 30 fd 40 home 可以利用带线归位的功能画图,例如: fd 60 rt 90 fd 30 home ct(cleartext)清文本 作用是:清除命令窗口所有文本,“?”提示符 回到第一行。 第一讲 练一练 教材p10 5、6 p11 7、8 第一讲 思考一下 怎么在画完图后,让小海龟不留痕迹回家 ,并保留屏幕上画好的图形? (pu home) clean与draw命令有什么相同点和不同 点? 在学过的命令中,哪些命令后面需要参数 ,哪些命令后面不需要参数? 小海龟已经能画出很多好看的图形了,但 颜色单一,你能改变它吗? 第一讲 小经验 修改错误的方法:在命令状态下,可以用键盘上 的四个光标控制键来移动光标。如果发现命令有 错误,首先将光标移到要删除的字符处,删除字 符,再键入正确的字符。 如果发现某个地方漏 打了字符,例如,命令 rt90在命令与数字之间 忘记输入空格了,可将光标移到字符“9”前,按 一下空格键,命令就变成了rt 90 了。 小窍门:使用历史记录运行执行过的命令。在 logo语言里,若把光标键移到已经执行过的命 令上,回车,则可再次执行命令。例如:输入 fd 60 rt 90 回车后,用上述方法再执行三次 ,看画出了什么图形。 第一讲 repeat重复命令 重复命令格式: repeat 重复次数 重复内容 p12 看一看 repeat 2 fd 40 rt 90 fd 80 rt 90 repeat 36 fd 10 rt 10 比较一下:repeat 6 fd 50 rt 60 与 lt 30 repeat 6 fd 50 rt 60 第二讲 想一想 不用重复命令怎样画正方形和长方形? 用重复命令怎样画正方形和长方形?体会一下重 复命令的好处。 怎样用重复命令画正三角形?怎样画出顶点朝正 上方的正三角形?画顶点朝正上方的正五边形呢 ? 答案:lt 18 repeat 5 fd 60 rt 72 在画上面各正多边形时,你怎样根据多边形的内 角和公式计算旋转角度?先根据(n-2)*180算出 内角和,再除以n 算出内角,再用“180内角” 算出外角。旋转的角度就是外角的度数。 第二讲 用重复命令画正多边形公式 观察下面的列表,可以发现,小海龟在画正多边形时 ,重复的次数与转角度数的乘积总是等于360度。 正多边形重复次数一个内角(度数)转角(度数)乘积(度数) 正三角形3(32) 1803=601201203=360 正方形4(4 2)1804=9090904=360 正五边形5(52)1805=10872725=360 正六边形6(62)1806=12060606=360 正八边形8(82)1808=13545458=360 从表中可以看出,画正多边形时,转角的度数是正多 边形的一个外角的度数。在画正多边形时只要用360度除以 边数,就可以得到转角的度数。 画正多边形的公式:repeat 边数fd 边长 rt 360/边数 第二讲 小经验 注意:在计算机语言中,除号是/ 乘号是 * 在画正多边形时,边数越多,边长就要越 小些。否则画出的图形会出界导致错乱。 第二讲 练一练 练习画一下正三角形、正方形、正五、六 、七、八、九、十边形。 想一想:画正七边形时,转角的度数怎么 表示呢? 第二讲 画 圆 如何用repeat命令画一个圆呢? (在logo语言中,通常采 用画一个正36边形来近似画圆。我们画圆一般是根据确定圆心和圆 的半径来画,如果圆的半径为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 提示:若不指定半径,我们常常直接使用这样的命令画圆: repeat 36fd 边长 rt 10 如: repeat 36fd 10 rt 10 也可以使用这样的两次旋转,使画出的圆更平滑: repeat 36 rt 5 fd 10 rt 5 第二讲 小知识 repeat 命令是可以嵌套的。例如: repeat 4 repeat 36fd 10 rt 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、用重复命令画一个圆,并旋转18次。 2、用重复命令画一个正方形,并旋转6次。 3、用重复命令画一个正八边形,并旋转8次。 4、用重复命令画一个五角星,并旋转18次。 第二讲 重复命令嵌套练习(参见p35-36) 用重复命令嵌套完成下面的练习,要求旋转一周: 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 20 2、用重复命令画一个正方形,并旋转6次。 repeat 6 repeat 4 fd 100 lt 90 lt 60 或 repeat 6 repeat 4 fd 100 rt 90 rt 60 3、用重复命令画一个正八边形,并旋转8次。 repeat 8 repeat 8fd 50 lt 45 lt 45 或 repeat 8 repeat 8fd 50 rt 45 rt 45 4、用重复命令画一个五角星,并旋转18次。 repeat 18 repeat 5fd 120 rt 144 rt 20 第二讲 repeat命令使用范例 (p37) setpc 2 repeat 12 pu fd 40 rt 30 pd repeat 3fd 40 rt 120 lt 30 pu bk 40 rt 30 setpc 12 repeat 6 repeat 2 fd 30 rt 90 fd 60 rt 90 rt 60 第二讲 repeat命令使用范例 (p37) 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 一般可以这样:repeat 圆心角度数/10 fd 10 rt 10 思考 repeat命令中的中括号可以缺少一个 吗? 利用重复命令,怎样画出下图呢? 第二讲 参考答案 repeat 4fd 60 bk 60 rt 90 pu fd 20 lt 90 pd 第二讲 改变笔色和背景色(p17) 改变笔色:可以通过工具栏 的按钮改变笔色。也可以使 用命令: setpc 颜色代码 (015) 背景色也可以改变,大家试 试用工具栏改变背景色。 用命令是: setbg 颜色代码 (015) 从工具栏中,单击改变颜色 按钮,打开颜色列表。看看 各颜色的代码。记一下。 第三讲 颜色代码表 代 码 0123456789101112131415 颜 色 黑 深 蓝 绿青 深 红 紫棕 灰 白 深 灰 浅 蓝 浅 绿 浅 青 浅 红 浅 紫 黄白 第三讲 填充颜色命令 fill fill 填充颜色命令。 使用该命令时,必须先使小海龟抬笔 走进要填充颜色的封闭图形中,然后落笔 再执行该命令。 例如: setpc 12 setbg 14 repeat 4fd 100 rt 90 pu rt 45 fd 30 pd fill 第三讲 小知识 给带有边色线的图形填充不同的颜色,命令格式为: (fill 图形线的颜色) 注意:一定要有括号。 例如: setpc 12 (设笔色为浅红) repeat 4fd 100 rt 90 ; 画出一个边线色为浅红色的正方 形 rt 60 pu fd 40 pd setpc 14 ; 设笔色为浅蓝 (fill 12) ; 在浅红边框的正方形内填充浅蓝色 第三讲 想一想 下面的第二条语句能画出什么图形?若想 给画出的图填色,横线上应该写什么语句 ? draw setw 5 repeat 36 fd 15 rt 10 rt 90 pu fd 30 pd setpc 12 _(fill 0) 第三讲 反笔命令(px) 与笔擦命令(pe) 反笔命令不太常用,略。 请课后自已阅 读p18页内容。 pe(penerase) 笔擦命令。 例如 fd 60 pe bk 60 请自由阅读 教材p1921 第三讲 练习(p21 4) 先想一想,下面语句能画出什么图形?然 后画一下。 repeat 4 repeat 4 fd 50 rt 90 rt 90 画出上面图形后,若想擦除所画的图形, 应该输入什么命令呢? pe repeat 4 repeat 4 fd 50 rt 90 rt 90 当然,也可以先输入pe ,回车后,再把光标定位在上面的语句上 ,再回车。 第三讲 想一想 如何使用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 pd fd 20 pu fd 20 pd fd 20 pu fd 20 pd 第三讲 设置笔宽命令 格式: setw n 即, setw 笔宽值(n是笔头型号 ,也就是笔宽的值 。取值范围是 1999 值越大画出的线越粗。初始化状态值为 1。 例如: setpc 12 setw 30 fd 60 再如:fd 2 bk 2 ; 画点后海龟归位 第三讲 画点的范例 (p24) 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 fd 1 bk 1 pu rt 90 fd 40 lt 90 pd setw 20 setpc 12 fd 2 bk 2 第三讲 读一读 自学教材 p2425 的“练技能”部分。了解 各语句的作用。 想一想,p25 第4题的各图应该如何画? 查询笔宽命令:width 例如: setw 20 width ,则电脑显示 result: 20 第三讲 画椭圆和矩形 “看一看” (p27) draw setpc 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 横轴半径 纵轴半径 “true) 注意:画实心椭圆时, 一定要有括号。两个 参数相等时为正圆。 横轴半径 纵轴半 径 第三讲 画矩形命令 画空心矩形 格式: stamprect 长 宽 画实心矩形 格式: (stamprect 长 宽 “ true) 注意:画实心矩形时,一定 要有括号。两个参数相等时 为正方形。 长 宽 第三讲 小知识 用上述命令画椭圆后,小海龟在椭圆的中 心。 用上述命令画矩形后,小海龟在矩形的左 下角。例如: stampoval 120 50 stamprect 120 50 第三讲 练一练 (p29 3、4、5题) 提示: 第3题的前两图可以用stamprect 和 stampoval命令通过修改参数来实现。 后一图,可以先画圆,也可以先画正方形 ,画完一图后,要注意抬笔改变海龟的位 置再落笔绘图。特别要注意画圆和画正方 形时,海龟处在所画图形中的位置。 第三讲 动脑筋 画矩形或椭圆时,海龟分别处在图形的什 么位置?(答案略) 海龟在同一位置画两个实心图形时,要注 意什么? stampoval 和 stamprect 命令只能 画水平与垂直方向的椭圆和矩形吗? 第三讲 动脑筋 画矩形或椭圆时,海龟分别处在图形的什 么位置?(答案略) 海龟在同一位置画两个实心图形时,要注 意什么?(答案:要注意区别两个图形的 颜色。) stampoval 和 stamprect 命令只能 画水平与垂直方向的椭圆和矩形吗? (答 案:不管海龟角度如何,都只能画水平与 垂直方向的椭圆和矩形) 第三讲 多龟作图 多龟作图常用方法:指名法、激活法。退出多龟 作图可以用draw命令。 1、指名法。使用呼叫命令: ask 用ask指名调 用海龟。 这种方法不够 灵活,用得较少。 格式: ask 海龟代号 命令组 例如: ask 1 fd 30 st ask 2 fd 60 st ask 3 rt 90 fd 60 st setpc 12 可以发现有一只海龟变红色了。这是系统初始状态时那只0号海 龟。默认状态下,除0号海龟以外的海龟是不显示的。只有通过st 命令才能让它们显示出来。 第四讲 多龟作图 范例: ask 1 fd 30 st ask 2 fd 60 st ask 3bk 30 st ask 1 2 3 repeat 3fd 30 rt 120 第四讲 多龟作图 2、激活法。激活法常用tellwhoeach 命令激活并调用海龟。这是常用的多龟作图方式 。(告诉命令tell是叫醒海龟的命令。用who 命令可以查看叫醒了几只。) 格式: tell 海龟代号 ask 1 fd 30 st ask 2 fd 60 st ask 3 bk 30 st tell 0 1 2 3 rt 90 fd 100 上面语句可以调用03号海龟同时作图。 第四讲 多龟作图 也可使用告诉命令tellall。这也是叫醒海龟 的命令。用who命令可以查看叫醒了几只。 ) 格式: tellall 海龟代号1 海龟代号2 ask 1 fd 30 st ask 2 fd 60 st ask 3 bk 30 st tellall 0 2 rt 90 fd 100 上面语句可以调用02号海龟同时作图。 第四讲 温馨提示 使用ask呼叫命令和tell告诉命令, 只能调用16只(015)海龟。若要调用更 多的海龟,可以用setturtles 命令设 置海龟的数量。 例如: setturtles 300 ask 260 fd 30 st 若没用setturtles 命令设置海龟的数 量(132767),则类似ask 29 fd 30 st 这样的语句就会报错。 第四讲 练技能 (p34 4) 第4题 让五只海龟一起来画奥林匹克五环标志图。 draw ht ask 1 setpc 9 lt 90 pu fd 90 pd ask 2 setpc 12 rt 90 pu fd 90 pd ask 3 setpc 14 pu bk 30 lt 90 fd 45 pd ask 4 setpc 2 pu bk 30 rt 90 fd 45 pd ask 0 1 2 3 4 5 stampoval 35 35 第四讲 练技能 (p34 5) 第5题(1) 用多只海龟画出下列图形参考答案1 draw ht pu fd 50 pd fd 50 ask 1 rt 24 pu fd 50 pd fd 50 ask 2 rt 48 pu fd 50 pd fd 50 ask 3 rt 72 pu fd 50 pd fd 50 ask 4 rt 96 pu fd 50 pd fd 50 ask 5 rt 120 pu fd 50 pd fd 50 ask 6 rt 144 pu fd 50 pd fd 50 ask 7 rt 168 pu fd 50 pd fd 50 ask 8 rt 192 pu fd 50 pd fd 50 ask 9 rt 216 pu fd 50 pd fd 50 ask 10 rt 240 pu fd 50 pd fd 50 ask 11 rt 264 pu fd 50 pd fd 50 ask 12 rt 288 pu fd 50 pd fd 50 ask 13 rt 312 pu fd 50 pd fd 50 ask 14 rt 336 pu fd 50 pd fd 50 第四讲 练技能 (p34 5) *第5题(1) 用多只海龟画出下列图形答案2 draw ht tellall 0 14 each rt 24*who pu fd 50 pd fd 50 第四讲 练技能 (p34 5) 第5题(2) 用多只海龟画出下列图形,并把每个五角星 变成不同的颜色。 参考答案1: draw fd 70 repeat 5 fd 20 rt 144 ask 1 st setpc 1 rt 45 fd 70 repeat 5 fd 20 rt 144 ask 2 st setpc 2 rt 90 fd 70 repeat 5 fd 20 rt 144 ask 3 st setpc 3 rt 135 fd 70 repeat 5 fd 20 rt 144 ask4 st setpc 4 rt 180 fd 70 repeat 5 fd 20 rt 144 ask 5 st setpc 5 rt 225 fd 70 repeat 5 fd 20 rt 144 ask 6 st setpc 6 rt 270 fd 70 repeat 5 fd 20 rt 144 ask 7 st setpc 7 rt 315 fd 70 repeat 5 fd 20 rt 144 第四讲 练技能 (p34 5) 第5题(2) 用多只海龟画出下列图形,并把每个五角星 变成不同的颜色。 *参考答案2 draw tellall 0 7 st each seth 45*who setpc who fd 80 repeat 5 fd 30 rt 144 each 命令列表 每只醒着的海龟都执行命令列表 who ;当前调出的海龟号。例如: tellall 0 7 who 结果显示: result: 0 1 2 3 4 5 6 7 seth 参数 ; 设置海龟头的方向 第四讲 过程的定义 过程就是一系列有序命令的集合。 to end 过程的第一行称为过程头,以to开头,后面是过程 名,如: sjx wjx,过程头和过程名间要有空格 中间部分是过程体,是我们用来绘图或解决问题而按 照一定次序编排的命令序列,它是整个过程的核心。过 程体可以是一行命令,也可以是多行命令,还可以是其 他一些过程名。 最后一行是过程尾,用end表示过程的结束。 第五讲 过程定义范例 定义一个画三角形的过程 to sjx repeat 3 fd 90 rt 120 end 定义一个画五角星的过程 to wjx repeat 5 fd 70 rt 144 end 定义过程后,输入过程名,回车,即可执行过程。 第五讲 过程定义范例2 定义一个画花的过程 to hua repeat 5 repeat 3 fd 50 rt 120 rt 72 end 定义过程后,输入hua,回车,即可 执行过程,画出花的图形。 第五讲 过程定义范例3 定义画立体五角星的过程 to lw ht rt 18 repeat 5 fd 60 rt 144 fd 60 rt 54 fd 110 bk 110 lt 54+72 end 定义过程后,输入lw,回车,即可执行过程 ,画出五角星的图形。 请大家分析一下上面画立体五角星的方法。 第五讲 动脑筋 (41) 1、原始命令可以用作过程名吗?过程名可以重复吗? 原始命令不可以用作过程名,例如: to draw 回车后,电脑会显示: draw is already in use. try a different name. to cs 回车后,电脑会显示: cs is already in use. try a different name. 过程名也不可以重复。即,定义过的过程,若用它 的过程名,再次定义另一个过程,则先定义的过程被替 换。 2、在一个过程中,如果命令输入错了怎么办? 可以输入 edit 过程名 ,回车后会调出过程编辑器。改正 错误后,按f2退出编辑器即可自动保存修改。 第五讲 过程的编辑和修改 定义过程后,使用 edit 过程名 可调出编辑器,在编辑器中修改后 ,按f2即可关闭并保存修改。 若定义了多个过程,则可以用edit all 回车后,可以编辑器中编辑所有的过程。 例如: to f repeat 4 fd 90 rt 90 end 输入f,回车后可画出正方形。 此时,输入edit f ,回车则打开编辑器。 在编辑器中添加setpc 12,过程变成: to f setpc12 repeat 4 fd 90 rt 90 end 然后按f2关闭编辑器 再输入 f,回车后会发现,画出的是红色的正方形了。说明修改成功。 第五讲 过程的保存 在命令窗口或在编辑器中编写过程后,单击“文 件”菜单中的“保存”(快捷键是f6),或使用工 具栏的save按钮,可以把过程保存下来,保存 时的文件名,可以与过程名不同。 保存过程以后,可以使用“文件”菜单中的“打开” 或“装载”命令,或使用工具栏上的load按钮, 打开保存的过程文件(*.lgo),再输入过程名, 回车后即可执行过程。 第五讲 过程范例 旋转的风车 to fc repeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60 wait 10 clean rt 10 fc end 第五讲 过程范例 编写一个画地板图案的过程(自己加颜色) to db ht repeat 6 repeat 6 fd 30 lt 60 fd 30 rt 60 end 想一想,上面的语句 是如何画出地板图形的? 你能给地板图形填上颜色吗? 第五讲 巧定海龟位置 设置坐标命令 setxy :x :y 将海龟移到坐标:x :y 处,海龟的方向不 变。 设置横坐标命令 setx :x 将海龟移到x坐标指定位置,y坐标和海龟方向 不变。 设置纵坐标命令 sety :y 将海龟移到y坐标指定位置,x坐标和海龟方向 不变。 注意:上面的命令,在移动海龟时,会在前后位置间连上 线。 画点命令 dot :x :y 在指定的坐标位置画一个点,海龟当前位置 不变。 第六讲 练技能 自由阅读教材 p 4950内容 第六讲 小知识 getxy 显示海龟当前的坐标。 xcor 输出海龟横坐标位置。 ycor 输出海龟y坐标位置。 dotcolor :x :y 返回指定坐标点的颜色 值。 大家在电脑上试一下。 第六讲 多角星和空心星(1) 画非空心的多角星的公式 repeat 角数 fd 步数 rt 360*k/角数 其中 1 300 then stop fd :a rt 120 s :a + 10 end if :a 300 then stop 意思是 ,当参数值增加到300以上时,就停止过 程的运行。 第七讲 练技能(p59) 画正n边形的过程: to zhdbx :n :a ;n是边数,a是正多边形的边长 repeat :n fd :a rt 360/:n end 画正多边形螺旋线的过程: to dblx :a :n ;n是边数,a是起始多边形的边长 if :a150 then stop fd :a rt 360/:n ; 画一条边,然后转到画下一条边的方向 dblx :a+3 :n ; 调用自身,边长增加步 end 分别输入 dblx 30 3 、 dblx 30 4 、 dblx 30 5 再回车试试。 第七讲 练技能 (p60) to zfx repeat 4 fd 40 rt 90 end to lx repeat 2 fd 40 rt 60 fd 40 rt 120 end to sj repeat 3 fd 40 rt 120 end to xg cs pu fd 80 rt 90 bk 60 pd zfx rt 90 lx lt 90 fd 40 rt 30 lx rt 60 fd 40 rt 30 sj fd 40 rt 180 sj rt 60 zfx fd 40 lx fd 40 rt 60 fd 9 lt 120 sj end 执行 xg ,可画出小狗。 注意:若在编辑器或命令窗口中同时定义了多个过程,保存过程文件时,会将定 义的多个过程同时保存到一个文件中。装载保存的过程文件后,各过程会全部被调 入内存中。大家可以把本页定义的各过程一起复制到编辑器中,再保存一下,然后 装载到logo中试试。 若各个过程要单独保存,则要在编辑器中一个一个的分别 定义,再一个一个地分别保存下来。 装载时,要一个一个地分别装载到内存中,才 可以相互调用。 第七讲 练技能(参考p61) to hua repeat 4 repeat 3 fd 30 rt 120 rt 90 end to huahuan setpc 12 repeat 8 hua rt 45 pu fd 70 pd end 定义过程后,输入 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 end to huan repeat 12 pu fd 40 rt 30 pd sj lt 30 pu bk 40 rt 30 end 第七讲 小知识 1、调用磁盘上保存的过程,除了用“文件”菜单中的“装载”外,还有以下 方法: (1)按f5键 (2)单击工具栏上的 load 按钮 2、停止按钮 在logo系统中有一个“交通岗”,当你进行递归调用时,如果想停止 、暂停或继续运行该过程,可以单击工具栏中的三个相应的“红绿灯 ”按钮。(logo的“调试”菜单中也有相应的命令) 例如:这是以前我们做过的风车旋转的一个范例: to fc repeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60 wait 10 clean rt 10 fc end 大家运行一下,并使用工具栏中 的“红绿灯”按钮控制一下试试。 第七讲 条件判断语句 if语句 还记得以前我们画过的风车吧?那个旋转的风车,运行时,需 要单击停止按钮停止它的运行。原因是,在那个过程中,使用了循 环调用,产生了死循环。下面的范例,使用了if语句,避免了死循 环。 to fc repeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60 wait 10 clean rt 10 make “n :n+1 if :n = 60 then stop else fc end 定义这个过程后,在命令窗口输入 make “n 0,回车后,再输 入 fc,再回车。会发现风车旋转一会儿就自动停止了。因为,每旋 转一个新角度后,n的值都会加1,旋转60次后,n的值变为60时, 过程就会自动停止了。 此时,若在命令窗口内输入 pr :n , 回车后会看到此时变量n的值为60. 第七讲 条件判断语句 if语句 下面我们讲解一下if语句 if语句有两种格式: 格式1: if 条件 then 命令 (then 可以省略不写 ) 当符合条件时,执行then后面的命令,否则就不执行 then后面的命令,直接执行其它命令。 注意:命令可以是一个或多个命令,命令间以空格分开, 最后以回车结束。不属于then中的命令,一定要写到 下一行。 其中的“条件”,可以是等式或者不等式及表达式,如: s=40、 r35、 r10 、 (or :n20) 等。 请大家自行阅读一下教材p63页的两个范例,对if语句的这 种格式加以理解。 第八讲 条件判断语句 if语句 格式2: if 条件 then 命令1 else 命令2 当条件表达式符合条件时,执行 then后面的命令1,跳过命令2,再 接着执行其它命令;否则,跳过命令1,执行else后面的命令2, 再接着执行其它命令。 例如画风车的范例: to fc repeat 6 fd 70 repeat 4 fd 30 rt 90 bk 70 rt 60 wait 10 clean rt 10 make “n :n+1 if :n = 60 then stop else fc end 注意:在递归调用时,若过程自己调用自己,一定要设计至少一个 出口,来结束过程,否则会造成死循环,过程不停地运行,甚至导 致死机等来重后果。 语句中的stop,是停止过程运行的命令。它只能使用于过程当中 。 第八讲 if语句编程范例(p64) 根据提示输入一个1360的数,表示一个角度,由电 脑判断这个角是不是锐角,在命令窗口输出判断结果, 并在绘图窗口中画出这个角。 to jd :n cs rt 90 fd 100 bk 100 ; 画出一条边 lt :n ; 左转输入的角度 fd 100 ht ; 画出另一条边后隐藏海龟 end to pdjd pr 请输入角度: ; 让屏幕显示“请输入角度:“ make “r read ; 创建一个变量r ,并等待输入 jd :r ; 用输入的角度值 r 画角,画出一个r 度的角 if :r90 then pr 您输入的角度是锐角 else pr 您输入的角度不是锐角 end 第八讲 练技能 (p65) 试调用下面的两个过程,编写一个名为 xz 的过程,完成以下功能:命令窗口显示提 示: “请选择: 1 同心圆 2 两个正方形”,如果输入1,调用 yuan 画出同心圆;如果输 入 2,调用zfx画出两个正方形;如果输入其他数字,过程结束,无任何提示。 to yuan setpc 14 (stampoval 60 60 “true) setpc 12 (stampoval 30 30 “true) ht end to zfx setpc 13 (stamprect 78 78 “true) setpc 10 (stamprect 50 50 “true) ht end to xz draw pr 请选择: 1 同心圆 2 两个正方形 make “h read if :h=1 then yuan if :h=2 then zfx end 第八讲 循环语句 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 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语句应用范例(p69) 用for语句累乘求积 编写过程求12 3 4 30和值。 思路分析: 从1开始累乘求积时,要用一个变量来储存所求和积,并将该变量的初值设为1 。 for循环中变量每次加1,将其与存积变量s相乘,作为变量s的新值继续保存。 这样,不断循环,使s的值最终为1到30的积。 过程如下: to sh make “s 1 ; 创建一个变量s,并赋值为1 for “i 1 30 make “s :s*:i ; 将变量值1分别乘以130并累乘求积。 (pr 1*2*3*4*.*30= :s) ; 在命令窗口中输出所求的积。 end 注意:若要在logo的命令窗口中输出多个内容,要在pr语句前后加上小 括号。 本过程最后结果显示为: 1 * 2 * 3 * 4 * . * 30 = 2.65e+32 这里的 2.65e+32 是科学计数法,表示 2.651

温馨提示

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

评论

0/150

提交评论