LOGO编程之七巧板
发布时间:2015.03.27  浏览次数:4860

 LOGO语言是基础的学习语言,那怕是画简单的图形,如果能够连带学习“结构化”编程的思想,也算是一件好事。所以现在较为通行的七巧板拼图编程,是要求调用现成统一的模块来编写“主程序”。这样不仅老师指导容易,查找错误容易,编程中还灌输了“结构化”编程的思想。这里推荐一个通用模块化编程的方式,其通用的编程子程序模块共有4个子程序:
    一个三角形子程序,在使用50、71、100这3个不同的参数时,就能够构造出七巧板中3种不同尺度的三角形;
    一个正方形子程序,边长参数固定为50;
    两个平行四边形子程序,分别对应正反两面的平行四边形。
编写七巧板程序变成一种十分理性的、程序化的、逻辑性很强的游戏过程。

TO MAO ;猫咪
  CS
  LT 135 SBX 50     ;①
  RT 45 FD 71 RT 90 FD 71 RT 180 SJX 71  ;②
  FD 71 RT 90 FD 71 RT 45 SJX 100        ;③
  RT 45 FD 141.4 RT 135 SJX 100          ;④
  RT 90 ZFX 50                           ;⑤
  RT 90 SJX 50             ;⑥
  FD 100 RT 180 SJX 50 HT  ;⑦
END
TO SJX :B ;三角形模块边长参数50、71、100
  REPEAT 2[FD :B RT 90]
  RT 45 FD :B*SQRT 2 RT 135
END
TO ZFX :B ;正方形模块边长参数50
  REPEAT 4[FD :B RT 90]
END
TO SBX :B ;平行四边形模块边长参数50
  REPEAT 2[RT 45 FD :B*SQRT 2 RT 135 FD :B]
END
TO SBXJ :B ;镜像平行四边形模块边长参数50
  REPEAT 2[RT 45 FD :B RT 135 FD :B*SQRT 2]
END
 
 
     这里有一个重要的观点需要阐明:画一个七巧板图形完全是一个随意的过程。你从哪一块开始画都可以。但是要预先筹划一下——尽量选择走弯路最少的途径一块块画下去。要做到“选择最佳路线”来画一个图形,要多动脑筋。
 
TO ZANA  ;藏獒
  CS
  RT 180 SJX 50         ;①
  FD 20 LT 180 SJX 100  ;②
  FD 100 LT 90 ZFX 50   ;③
  BK 71 SJX 71          ;④
  BK 29 RT 135 SBX 50   ;⑤
  RT 45 FD 71 LT 45 BK 80
  LT 90 BK 100 SJX 100  ;⑥
  LT 45 BK 50 SJX 50 HT ;⑦
END
TO SJX :B ;三角形模块边长参数50、71、100
  REPEAT 2[FD :B RT 90]
  RT 45 FD :B*SQRT 2 RT 135
END
TO ZFX :B ;正方形模块边长参数50
  REPEAT 4[FD :B RT 90]
END
TO SBX :B ;平行四边形模块边长参数50
  REPEAT 2[RT 45 FD :B*SQRT 2 RT 135 FD :B]
END
TO SBXJ :B ;镜像平行四边形模块边长参数50
  REPEAT 2[RT 45 FD :B RT 135 FD :B*SQRT 2]
END
 

 
    七巧板LOGO编程有着极为丰富的题目资源,几乎是可以随手拈来。已经知道如何切分拼图的题目相对容易。而有些仅有图形轮廓、并不知道切分拼接方式的题目,可能是天字一号的难题——它难不在编程,而在切分拼接方案!