问一个PCLogo语言的概念问题:菱形绘制算式为REPEAT 2[FD 90 RT 45 FD 90 RT 135]
问一个PCLogo语言的概念问题:菱形绘制算式为REPEAT 2[FD 90 RT 45 FD 90 RT 135]
请问为什么要这样绘制菱形?麻烦给我讲一下这个算式的意思与含义
其实,绘制菱形,只要求四边相等就可以了,不用非得规定转角是45度、135度.之所以选择45度和135度,不过是这样绘制的菱形比较“好看”而已.角度的规定可以是任意的,但要求两角和为180度即可.如:
repeat 2[fd 50 rt 40 fd 50 rt 140]
可以编写一个过程,这样就更方便了:
to lingxing :bian :jiao
repeat 2[ fd :bian rt :jiao fd :bian rt 180-:jiao]
end
第一个参数是边长,第二个参数转角.问你个事,你看看下面的算式对不对,哪里出错?TO ZFX:A:B:C:DREPEAT 4[FD: A RT 90]FD: B RT 90 PU FD: C PD LT 90REPEAT 4[FD:D RT 90]ENDZFX 75 90 45 90 45 90 60 90你这是想画什么图形?如果只是画正方形,应该这样编:to zfx :arepeat 4[fd :a rt 90]end画正方形只要有一个参数就可以了,因为只要有边长,就可以决定一个正方形的大小。运行 zfx 50 ,能画出一个边长50的正方形。运行 zfx 60 ,能画出一个边长60的正方形。但如果运行 zfx 50 60,则只能画出边长50的正方形,然后LOGO报错。因为第二个数60并不是zfx过程所需要的参数,LOGO无法处理这个60。你的zfx过程使用了4个参数 :a :b :c :d,这是没有必要的。后面的三个参数完全多余。(当然如果想在这个zfx过程里多带点参数,干点别的事,那这么干倒是可以的。)再者,你既然在zfx过程中使用了4个参数,在运行时,也只要给出4个数即可,为何给出8个数字?这样做就犯了我刚才说的zfx 50 60一样的毛病。编过程时用了几个参数,运行时也要带同样多的几个数,要相互对应。编过程时到底要用几个参数,需要根据实际情况来决定。比如正方形过程只要一个边长的参数,长方形过程则要长和宽两个参数。希望对你有所帮助。