今天我们要来讲一讲递归. 递归就是函数自己调用自己, 我们可以定义一个过程, 然后这只海龟不停的画, 结束的时候再调用自身再继续画. 再次调用的时候参数变化了, 至到参数满足一定的条件则停止.
比如 下面定义的这个过程可以用来画一个实现的正方形.
TO FK :B IF :B>15 [STOP] ; 如果边长大于15就停止 REPEAT 4 [FD :B RT 90] ; Draw a square with side B 画一个长度为B的正方形 FK :B+1 ; Draw a square with side B+1 递归调用自己画一个长度为B+1的正方形 END
然后我们可以通过 调用 FK 15 来画一个空心的正方形, 这样的话, 通过不停的画空心实心(不断交错)则可以构成一个棋盘:
TO QP :Y IF :Y>4 [STOP] REPEAT 4 [FK 15 FD 15 FK 1 FD 15] RT 90 FD 30 RT 90 REPEAT 4 [FK 15 FD 15 FK 1 FD 15] RT 180 QP :Y+1 END
您可以使用我写的这个PHP-LOGO解释器来验证这段LOGO代码.
LOGO 海龟作图系列教程
- LOGO 海龟作图系列 – 给孩子最好的启蒙
- LOGO 海龟作图系列 – Hello World
- LOGO 海龟作图系列 – 递归画国际象棋棋盘
- LOGO 海龟作图系列 – 分形五角星
英文: Draw a Chess Board using LOGO
GD Star Rating
loading...
本文一共 265 个汉字, 你数一下对不对.loading...
上一篇: SteemIt 每日cn社区之 '请再给我一次机会'
下一篇: SteemIt Steem Power小于500也可以通过程序来设置点赞百分比
扫描二维码,分享本文到微信朋友圈