请在规定时间内完成以下图形,尺寸自定。 1、
 解法: TO TU1 DRAW HT REPEAT 4 [REPEAT 3 [FD 40 RT 90 FD 120 RT 90] LT 90] END
2、
 解法: TO TU2 DRAW HT REPEAT 8 [REPEAT 6 [FD 50 RT 90] LT 135] END
3、
 解法1:(把正360边形当作圆,从左上角的圆开始画) TO TU3 DRAW HT REPEAT 360 + 180 [RT 0.5 FD 40 * 3.14 / 360 RT 0.5] LT 90 FD 100 LT 90 REPEAT 360 + 270 [RT 0.5 FD 40 * 3.14 / 360 RT 0.5] LT 45 FD 79 LT 90 REPEAT 360 + 270 [RT 0.5 FD 40 * 3.14 / 360 RT 0.5] LT 90 FD 79 BK 79 RT 90 REPEAT 225 [RT 0.5 FD 40 * 3.14 / 360 RT 0.5] LT 90 FD 45 LT 90 REPEAT 360 [RT 0.5 FD 40 * 3.14 / 360 RT 0.5] END
解法2:(把正360边形当作圆,先画中间的圆) to tu3_3 draw ht repeat 360+45[y] ;画圆的语句[]里面的部分反复出现,另写一个子过程,这样语句比较简洁。 lt 90 fd 79 lt 45 repeat 360+270[y] lt 90 fd 100 lt 90 repeat 360+270[y] lt 45 fd 79 lt 90 repeat 135[y] lt 90 fd 45 lt 90 repeat 360[y] end to y rt 0.5 fd 40*3.14/360 rt 0.5 end
解法3:(用整体画圆命令STAMPOVAL,先画中间的圆) to tu3_2 draw ht stampoval 20 20 pu lt 45 fd 20 pd fd 79 pu rt 45 fd 20 pd stampoval 20 20 pu rt 90 fd 20 pd fd 100 pu fd 20 pd stampoval 20 20 pu rt 90 fd 20 pd rt 45 fd 79 pu fd 20 lt 45 fd 20 pd fd 45 pu fd 20 pd stampoval 20 20 end
4、
 解法1: TO TU4 DRAW HT FOR "N 3 11 [REPEAT :N[FD 40 LT 360/:N]] RT 90 FD 80 LT 90 FOR "N 3 11 [REPEAT :N[FD 40 RT 360/:N]] FD 40 LT 90 FD 80 END
解法2:(尾递归) to tu4 :N ht if :N<3 stop repeat 2[fd 40 rt 90 fd 80 rt 90 repeat :N[fd 40 lt 360/:N]] tu4 :N-1 end
解法3: to tu6 draw ht repeat 2[fd 40 lt 90 fd 80 lt 90 for "N 3 11[repeat :N[fd 40 rt 360/:N]]] end |