棋 艺 人 生
 

 日志分类

公  告

日  历
 
登  陆

日志更新

最新评论

留 言 板

搜  索

链  接

Blog信息




 

常熟市第三届青少年科技节小学生LOGO编程试题解答
weiwei 发表于 2011-5-23 21:02:11

请在规定时间内完成以下图形,尺寸自定。
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


阅读全文 | 回复(0) | 引用通告 | 编辑
 


发表评论:

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:





© COPYRIGHT 2005 ALL RIGHTS RESERVED