国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩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人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 阿合奇县| 景泰县| 鄄城县| 图片| 库伦旗| 金门县| 达日县| 扬中市| 九江市| 银川市| 敦化市| 江都市| 行唐县| 东港市| 清河县| 合水县| 神池县| 富源县| 陆河县| 资溪县| 闵行区| 安宁市| 虎林市| 绥宁县| 穆棱市| 萍乡市| 铁岭市| 施甸县| 积石山| 榕江县| 东乌珠穆沁旗| 鄱阳县| 渝北区| 乌拉特中旗| 雅安市| 江华| 柯坪县| 茂名市| 醴陵市| 光山县| 巴中市|