資訊內容
遞歸算法在scratch學習中的運用
遞歸算法應用
? ? ?學習scratch編程的同學,到了進階課程階段會接觸到遞歸的概念。
? ? ?但是很多人很難理解什么是遞歸。
? ? 因為正常人的思維,一般是迭代(iteration),比如人都是先學習加減法,再學習乘除法,最后學習微積分。歸納法其實就是一種迭代,從一個簡單的起點,推廣到一般情況。
? ?而遞歸(recursion),則是一種反人類的逆向思維,會讓程序變得非常之簡潔。
遞歸算法簡介遞歸算法是一種直接或者間接調用自身函數或者方法的算法,其實質是把問題分解成規模縮小的同類問題的子問題,然后遞歸調用方法來表示問題的解。遞歸算法對解決一大類問題很有效,它可以使算法簡潔和易于理解。
同學們小時候經常念的:從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事!故事是什么呢?“從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事!故事是什么呢?
如此循環往復,是不是像極了scratch里的重復執行模塊?
遞歸算法在scratch里的實際運用
? ?
?其實重復執行除了可以通過循環結構實現外,還可以通過另一個強大的技術實現,那就是遞歸。
以畫正三角形為例,通常我們是這樣畫的:

繪制三角形需要循環3次
如果用遞歸算法怎么做?
這里需要運用到scratch里的更多模塊
通過更多模塊,我們創建新的功能塊,給新功能塊命名,并且可以自定義新功能塊的含義。
我們將循環3次而成的正三角形重新打包,定義為新的功能塊,最終程序改為:
同學們理解了嗎?
遞歸思想的運用非常之廣泛,來鳳凰機器人一起探索編程的奧秘吧!
遞歸算法小練習讓我們加點難度吧?下圖怎么用遞歸算法畫出來?
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
