Scratch3.0-递归函数
从前有座⼭,⼭⾥有座庙,庙⾥有两个和尚,⽼和尚对⼩和尚说:“从前有座⼭,⼭⾥有座庙,庙⾥有两个和尚,⽼和尚对⼩和尚说:“从前有座⼭,⼭⾥有座庙,庙⾥有两个和尚.........””
通常我们讲递归,也会拿俄罗斯套娃举例⼦,是⼀种⼤娃娃套⼩娃娃的玩具(如图1.1),娃娃⾥⾯⼜包含了⼀个娃娃,和我们上⾯讲的故事很像,故事⾥⾯包含着这个故事,讲下去⽆穷⽆尽停不下来。
“递归函数”就是:函数⾃⼰直接或间接调⽤⾃⼰本⾝。
同学们有没有感觉到递归和循环很像呢,都是⼀直在重复,但我们不能让它⼀直重复下去,要不然就像我们⼩和尚的故事⼀样,永远也讲不完,我们必须要给程序⼀个停⽌积⽊,在适当的时候停⽌这个循环。
⾸先,我们分别⽤循环和递归做⼀个⼩程序体会⼀下。我们让⼩猫从1数到10。
2.1  重复执⾏
2.2  递归
其次,我们再⽤递归做⼀个求和的案例,求1+2+3+4+...+99+100的和。
编程递归函数最后,再举个例⼦,⽤画笔画如下有趣的图形。
⾓⾊的起始⽅向是90°。当绘制⼀个正三⾓形后,⾓⾊移动12步,并逆时针旋转10°。随后过程检查⾓⾊的新⽅向:如果⾓⾊未⾯向90°,过程则重新调⽤⾃⼰,继续绘制下⼀个正三⾓形;否则递归结束,过程停⽌。最终的绘制结果如下图所⽰。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。