国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

遞歸算法在scratch學習中的運用

極客小將2020-12-07-
遞歸算法應用 ? ? ?學習scratch編程的同學,到了進階課程階段會接觸到遞歸的概念。 ? ? ?但是很多人很難理解什么是遞歸。 ? ? 因為正常人的思維,一般是迭代(iteration),比如人都是先學習加減法

遞歸算法應用

? ? ?學習scratch編程的同學,到了進階課程階段會接觸到遞歸的概念。

? ? ?但是很多人很難理解什么是遞歸。

? ? 因為正常人的思維,一般是迭代(iteration),比如人都是先學習加減法,再學習乘除法,最后學習微積分。歸納法其實就是一種迭代,從一個簡單的起點,推廣到一般情況。

? ?而遞歸(recursion),則是一種反人類的逆向思維,會讓程序變得非常之簡潔。

遞歸算法簡介

遞歸算法是一種直接或者間接調用自身函數或者方法的算法,其實質是把問題分解成規模縮小的同類問題的子問題,然后遞歸調用方法來表示問題的解。遞歸算法對解決一大類問題很有效,它可以使算法簡潔和易于理解。

同學們小時候經常念的:從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事!故事是什么呢?“從前有座山,山里有座廟,廟里有個老和尚給小和尚講故事!故事是什么呢?

如此循環往復,是不是像極了scratch里的重復執行模塊?

遞歸算法在scratch里的實際運用

? ? ?其實重復執行除了可以通過循環結構實現外,還可以通過另一個強大的技術實現,那就是遞歸。

以畫正三角形為例,通常我們是這樣畫的:

upload/article/images/2020-12-07/f19708d6865409b34bc62cbe1db7783a.jpg

繪制三角形需要循環3次

如果用遞歸算法怎么做?

這里需要運用到scratch里的更多模塊

upload/article/images/2020-12-07/b7e32ce1a963134ec1e0e6aac6f7ba98.jpg

通過更多模塊,我們創建新的功能塊,給新功能塊命名,并且可以自定義新功能塊的含義。

upload/article/images/2020-12-07/65aac8fce4ccde5f00a431ae214208e8.jpg

我們將循環3次而成的正三角形重新打包,定義為新的功能塊,最終程序改為:

upload/article/images/2020-12-07/2dc57f9ef497168ade3340a81b5a358a.jpg

同學們理解了嗎?

遞歸思想的運用非常之廣泛,來鳳凰機器人一起探索編程的奧秘吧!

遞歸算法小練習

讓我們加點難度吧?下圖怎么用遞歸算法畫出來?

upload/article/images/2020-12-07/7dd602172a9bf99b7beb35c4155cd5c6.jpg

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 曲阜市| 固始县| 巨鹿县| 洛阳市| 石楼县| 淮北市| 桓台县| 闻喜县| 樟树市| 雷山县| 孟津县| 郑州市| 金阳县| 固阳县| 南宫市| 集安市| 乌兰察布市| 祁连县| 木兰县| 惠安县| 板桥市| 巧家县| 台山市| 钦州市| 拉萨市| 盐池县| 措勤县| 图们市| 宿州市| 会同县| 晋城| 克拉玛依市| 越西县| 淳化县| 台东市| 太和县| 上杭县| 日喀则市| 临猗县| 侯马市| 礼泉县|