巧用递归函数开出一朵朵美丽的小树花
作为一个未来的程序猿,我们要了解编程序的一些基础知识。其中递归函数调用是程序猿必备的基础知识。
那什么是递归函数呢?就是在程序运行调用函数中,再调用自身函数。哦!什么?我有点头晕。那好我给你一个止痛药,马上就不会头晕了。
这个故事谁都听过:
从前有座山,山里有座庙,庙里住着一个老和尚。老和尚说,从前有座山,山里有座庙,庙里住着一个老和尚,老和尚说。。。。这里从老和尚说开始就重复引用前面的一段话,我们就可以把这个引用称之为递归。
那有的小朋友会说这太难了,我听不懂。那我画一个图说明一下
一层枝杈的小树
两层枝杈的小树
三层枝杈的小树
你看这个图形是不是有第一个图形演变过来的吗?当层数较多时如5层,就很像一棵小树了。
我们接下来用程序写出来。
我先描述一下:
1、先把青蛙的朝向指定为朝上。
2、运行一个给定的长度枝干长。
3、左转45度,前进半个枝干长。
4、退回半个枝干长,回到分叉点。
5、右转90度,前进半个枝干长。
6、退回半个枝干长,回到分叉点。
7、左转45度,退回枝干长,回到起点。
递归调用,在每个分叉点都调用上面的程序,直到完成指定的层数,如果层数小于1,即没有枝杈,那么将不运行程序。
发两个程序块
自定义程序块
选择更多积木,编制两个新的积木块,对这两积木块进行编程,作为函数。
函数一、
函数二、
变化: