第十六次:模組化程式設計與問題解決實作(5)
模組化的核心思想-分而治之(Divide and Conquer.各個擊破)演算法
將一個大問題拆解成若干個小問題之後,透過逐一解決這些小問題,來解決整個大問題。
分而治之演算法與問題解決
問題1:排序
問題2:假設你是農場主人.有一小塊土地.你要將這塊土地均分為正方形.且分出的正方形要盡可能大.你如何解決這個問題?
動畫圖解
資料來源:Animations from Grokking Algorithms
實作1-模組化程式設計(分而治之)-花朵
執行結果
一.問題分析及演算法:
定義4個函式
(1)單片葉子
(2)五片葉子(呼叫單片葉子)
(3)花枝(呼叫單片葉子及五片葉子)
(4)花朵(呼叫花枝)
二.程式設計實作:
1.撰寫各個函式
(1)單片葉子
(2)五片葉子
a.重複?次.呼叫單片葉子函示
b.旋轉?度
(3)花枝
a.移動?點
b.呼叫單片葉子函示
c.移動?點
d.呼叫五片葉子
e.初始化(回到坐標軸原點)
(4)花朵
a.重複?次.呼叫花枝函示
b.旋轉?度
2.撰寫主程式
a.位置初始化
b.畫筆初始化
c.呼叫花朵函示
檔案存為108****-11scratch專案.sb3
模組化程式設計總結
1.何謂模組化程式設計
把程式拆解成一個一個模組,就是模組化程式設計」 |
2.模組化是函式延伸觀念.一個模組可以包含很多函式
(1)函式-工具
(2)模組化-工具箱(含很多工具)
3.模組化程式設計優點
資料來源:
http://info23thing.blogspot.tw/2016/05/scratch.html
作業上傳
運算思維時間
貪吃蛇遊戲
遊戲規則說明:
這是一個簡單的蛇遊戲。選擇一種速度,然後使用箭頭鍵嘗試吃蘋果(紅色方塊),但要當心牆壁和自己。您隨時可以通過按空格鍵暫停遊戲
迷宮遊戲