您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页LOGO学习的一点体会

LOGO学习的一点体会

来源:爱go旅游网


LOGO学习的一点体会

在LOGO的初、中级学习中,有一些常见的题型和一些不易注意到的小细节,现简单总结如下:

一、走退后计算线段长度

二、画圆的一些小问题

(1)在画圆中其实全可以归结为三个数的填写:

REPEAT :N[RT :B FD 2*PI*R/:X RT :B]

上面公式中的:N是重复次数,:B*2是每次转的角度,:X是你准备用多少边形来画圆。

我们常用的是36边形或360边形,但也有例外的,不管怎样,我们都要保证:N和:X一定是正整数。所以怎样填这三个数就一定要仔细。

上面三个数之间的关系很容易分析:

(:B*2)*:X=360 (:B*2)*:N=你需要画的圆弧的弧度,即要画一个完整的圆时,:N=:X

例:要画一个96度的圆弧,我们就可用很多种命令,只要参数满足上面我所说的条

件即可(划线部分)

REPEAT 12[RT 3 FD 2*PI*R/60 RT 3]

REPEAT 24[RT 2 FD 2*PI*R/90 RT 2]

REPEAT 96[RT 0.5 FD 2*PI*R/360 RT 0.5]

还有很多很多的解,想画精确的不妨让多边形的边多一点,只要满足我上面画线的三个条件即可.

(2)在圆的考题中还比较常见的是关于步长的计算,即FD后的那个表达式中:R和:X的填写,这也需要先根据每次转角计算出是多少边形,再根据题意中真正的半径原是多少,仔细计算,如:如果:R处填写的是真实半径的一半,那么下面:X处也要填写真实边数的一半才能保证表达式的值不变.如果2*PI中的2没写,那么就要将:R变为真实半径的两倍或将:X变为真实边数的一半.

三、坐标题应注意的些什么

坐标题的解题中最笨的办法也是最聪明的办法,那就是如果是作图题,在大致了解所作图形后先将图中各关键点的坐标标出,再一一填写程序。因为坐标命令都是绝对命令,标出关键点的坐标就不容易出错了。

四、字表题的解题思路

字和表的题目主要需要细心及对命令的详细理解

1、运算结果中的括号取舍

这主要涉及以下几个命令

SE、LIST、LPUT、FPUT

(1)SE:其后面所跟的参数中是字的原样不变,是表的先脱去一层表的标识中括号,再将所在参数连接起来成为新表元素后加上最外面的一层表框

例1:SE “A [AB CD]-A 连接先脱去一层表框后的AB CD成为一个新表中的三个元素A AB CD之后再加上最外层的表框,其结果就是[A AB CD]

例2:SE [A] [CD EF]-[A]和[CD EF]先各自脱去一层表框后连接成一新表A CD EF,再加上最外层表框成为[A CD EF]

注意:如果SE外成有小括号,那么SE后的所有参数都和上面操作一样,先各自脱括号,连成新表后加上表外框。

(2)LIST:其后的所有参数均不脱括号,然后连接在一起成为一个新表后再加上一层表的标识

例1:LIST “A [AB CD]

将后面参数原样连接成为:A [AB CD]后加上一层表标识成为[A [AB CD]],请注意和SE命令中结果的区别

例2、LIST [A] [AB CD]

原样连接后成为[A] [AB CD],再加上一层表标识[[A] [AB CD]]

(3)FPUT:将前一个参数原样插入到后一参数表中最前面位置,即将后一参数先脱去一层表框,将参数一放在其最前面成为第一个元素,再在最外面加上一层表标识

例:FPUT “A [AB CD]A AB CD结果是:[A AB CD]

FPUT [A] [AB CD][A] AB CD结果是:[[A] AB CD]

(4) LPUT:将前一个参数原样插入到后一参数表中最后面位置,即将后一参数先脱去一层表框,将参数一放在其最前面成为最后一个元素,再在最外面加上一层表标识

例:LPUT “A [AB CD] AB CD A结果是:[AB CD A]

LPUT [A] [AB CD]AB CD [A]结果是:[AB CD [A]]

FPUT、LPUT还要注意不要在审题时将两者看错。

2、字表题的一般解题过程

(1)方向是从右向左,一条一条地执行命令.

(2)在看命令的时候最重要的是要看命令后面的参数应当是几个,因此,先来分析一下常用命令所带的的参数个数:

A、肯定是一个参数和命令:(下列的:Y是一个字或表)

FIRST :Y

LAST :Y

BF :Y

BL :Y

EMPTY? :Y

WORD? :Y

LIST? :Y

NUMBER? :Y

COUNT :Y

CHAR :Y

ASCII :Y

B、肯定是两个参数的命令:

MEMBER? 参数1 参数2

FPUT 参数1 参数2

LPUT 参数1 参数2

ITEM 参数1 参数2

BM 参数1 参数2

还有不用括号时带两个参数的:

WORD 参数1 参数2---|

LIST 参数1 参数2---|此三条命令在加上括号后可以带多个参数,到时可以以括号为限

SE 参数1 参数2---|

另注:上述三个命令加上括号后也可以只带一个参数,而且LIST命令会给它的参数加上一层表标识

3、字表命令的一些小细节

(1)COUNT命令

COUNT [3+7]的结果是3,因为[3+7]是一个有三个元素的表

COUNT [3\\+7]的结果是1,因为有了\\作为转义符后,[3\\+7]是一个有一个元素的表

(2)BF命令

去首命令有一个特别要注意的就是,在去一个数字的首位时,如果首位后跟着0,那么BF命令会将跟在首位后的连续的0全部去掉,因些,如果对于取某四位数的百位之类的题目,直接去首后再取首是很不稳妥的办法,因为要考虑到象1052、1003等数,因为FIRST BF 1052的结果是5,FIRST BF 1003的结果是3,均不是我们要取的数。

但是对于上面的题目我们却可以用去尾若干次后再取尾的办法来做,因为LOGO中跟在最末一位前的0不会被BL命令去掉。而且上述题目我们也可以将百位后的十位和个位用BL去掉后再用BF也可以达到目的,即:BF BL BL :X也正确,因为两次去尾后百位作为最后一位如果是0也不会被BF去掉。

综上所述,我们可以知道通过不同命令的组合,我们可以达到相同的目的,这也是字表命令的考点之一。这些题主要是FIRST、LAST、BF、BL、ITEM、BM这几条命令组合起来用。

(3)ASCII和CHAR命令

一般人会认为LOGO只认识大写字母,但是要注意,通过CHAR命令我们是可以显示出小写字母的。

例:PR CHAR 97的结果就是显示小写字母a

但是与些相反的是,PR ASCII a的结果却是65,65是大写字母A的ASCII码。所以在解题时务必要注意这一点。

在复习这两条命令时,主要是要记住常用字符的ASCII码值:

0---9所对应的ASCII码是48-57

空格是32

大写字母A—Z所对应的ASCII码值是65-90

小写字母a----z所对应的ASCII码值是97-122

五、关于带常量或变量命令的一些想法

在LOGO中有些命令是可以直接带变量或表达式的,而有些则只能跟常量,在初、中级所学命令中,有几条是比较容易出错的命令现总结如下:

SETXY后如果无SE增强格式则只能跟常量,即不能直接使用变量或表达式。

如:SETXY [:X :Y]就是一条错误命令

但是如果在SETXY后再用一条可以带变量或表达式的命令却可以正确执行:

例:在中级讲义第11天的题目中就有一题,如果为:X和:Y分别赋值100和50,执行SETXY LIST :X :Y就可以将坐标设置为[100 50],在这条命令中,LIST是一条可带变量的命令,它将两个变量组成一个表后传递给了SETXY。

六、显示结果的问题

(1)PR、TYPE命令会脱去一层表标识,SHOW则不会脱去,但SHOW命令也不会显示字标识。

(2)PR会换行,要注意PR后的表达式如果最终计算值是空字或空表,则实际作用就是自动换行。当然如果在PR外面加小括号的话就会在同行显示。

(3)TYPE命令不换行,常用在画用字符组成图形如“*“组成的三角或倒三角;

有一点要注意,如果几条TYPE连用的话,上面一条显示的最后的内容就会和下面一条显示的第一条内容连在一起;

例:TYPE [AB CD] TYPE [EF GH]

显示结果是:AB CDEF GH,可以看到CD和EF连到了一起

(4)看一条命令行:

PR “A 123

要注意上面的命令行实际上是一条PR “A命令外加一个常数,所执行结果是:

A

RESULT:123

上面的PR没加括号,所以不可能是在一行显示多个参数,它只有一个参数就是“A,而123则是命令外的一条指令,其结果是显示:RESULT:123

七、其他

(1)在学习LOGO时我们常常直接在文本屏方式下执行命令,我们可以经常看到结果是:

RESULT:***,所以现在我们要认识到一点,凡是出现上述结果的命令我们是不可以直接用在程序里的,因为如果出现RESULT这样的显示,就意味着你刚才执行的只是一个命令,但不是一个完整的语句,必须加上相应的东西让它成为语句方可。

例:在文本屏中?后我们如果输入ASCII “A后会出现结果RESULT:65

但如果我们编一个具有相同功能的过程:

TO A

ASCII “A

END

执行A则会出错,因为过程中ASCII “A不是一个完整语句,你可以在前面加上PR、TYPE之类的命令就可以正确执行了。

象字表中的FIRST、LAST、BF、BL、LPUT、FPUT和坐标中的XCOR、YCOR、GETXY、HEADING、TOWORDS等命令在过程中均不可以单独作为语句,必定要和其他命令如MAKE、PR、SHOW等结合起来方是正确的。

(2)表达式的读法:

看下面一题:

(BF “A)=(BF [A])

结果是:RESULT:FALSE

BF “A =BF [A]

结果是:ALSE

上面两题的结果不同的原因是前者=号两边(BF “A)和(BF [A])都是表达式,而后者则有一个表达式:“A=BF [A],因些后者的结果是对表达式的结果FALSE去首得到ALSE。

(3)HOME、SETX、SETY、SETXY、SETXY SE等命令在落笔的情况下会留下痕迹,因些做题时要看情画笔的状态。

(4)FILL命令必须是在封闭图形中无任何多余线段或点的状态下才能起作用。

(5)只有SET语句才能对BG、PC、笔宽起作用,否则均为默认值,即BG为15,PC为0,笔宽为1。

(6)当笔宽不为1是,在做坐标题时应注意点的位置;在画圆时会画出圆环效果。

(7)SETX、SETY、SETXY、SETH后面的参数都是绝对坐标和绝对角度,不象FD、BK、RT、LT等后面是相对参数,所以在使用它们时应注意定位到定点,而不是从当前位置做相对位移。

(8)SETH命令后的角度当大于360度时应当对360度取余可得最终方向,而且在LOGO中海龟初始方向被定义为0度。即垂直向上的方向为0度。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务