递归调用层数太多_巧用递归函数开出一朵朵美丽的小树花

巧用递归函数开出一朵朵美丽的小树花

7db27b759373d8a21b77cf36c793adff.png

作为一个未来的程序猿,我们要了解编程序的一些基础知识。其中递归函数调用是程序猿必备的基础知识。

那什么是递归函数呢?就是在程序运行调用函数中,再调用自身函数。哦!什么?我有点头晕。那好我给你一个止痛药,马上就不会头晕了。

这个故事谁都听过:

从前有座山,山里有座庙,庙里住着一个老和尚。老和尚说,从前有座山,山里有座庙,庙里住着一个老和尚,老和尚说。。。。这里从老和尚说开始就重复引用前面的一段话,我们就可以把这个引用称之为递归。

那有的小朋友会说这太难了,我听不懂。那我画一个图说明一下

一层枝杈的小树

cf323750c180209a9c5537635ca44da6.png

两层枝杈的小树

66e3a67889ebe4508802a39988768d33.png

三层枝杈的小树

你看这个图形是不是有第一个图形演变过来的吗?当层数较多时如5层,就很像一棵小树了。

我们接下来用程序写出来。

我先描述一下:

1、先把青蛙的朝向指定为朝上。

2、运行一个给定的长度枝干长。

3、左转45度,前进半个枝干长。

4、退回半个枝干长,回到分叉点。

5、右转90度,前进半个枝干长。

6、退回半个枝干长,回到分叉点。

7、左转45度,退回枝干长,回到起点。

递归调用,在每个分叉点都调用上面的程序,直到完成指定的层数,如果层数小于1,即没有枝杈,那么将不运行程序。

发两个程序块

661a527514e923985bdd52a52c7799d4.png

自定义程序块

0b5f03fe3a16506263b4a0849fee08a6.png

选择更多积木,编制两个新的积木块,对这两积木块进行编程,作为函数。

函数一、

d9f9c440dd9f30ec33999f76cceb951f.png

函数二、

a24738df64a17a264ee0c8e53f7cff37.png

变化:

315903d6ebb707a631718c6ecdf2b2bf.png
d3a48ba723fd6194222fc1ee35fd7933.png
ee2867771f989037d0d6ebbee8b455c0.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值