將問題拆解,才能詳細的檢查每個更小的問題
試著把複雜的問題拆解成小部分,分開思考
例:刷牙
分解如何刷牙的問題,我們需要考慮:
用那種牙刷
要刷多久
用多大力道
使用什麼牙膏
這個任務跟剛剛遇到的有沒有一樣?
能不能用一樣的方法解決?
一樣的問題有沒有簡化的辦法?
模式
每個蛋糕都需要一定份量的 材料
材料會在特定時間被加入
每個蛋糕會被烤一定的時間
當我們辨別出模式之後,我們便可用此解決辦法來面對不同的問題。
將刪除複雜的細節或移除的無用處的資訊
避免放錯重點,得到錯誤的解決方案
當烤蛋糕時,烤蛋糕的模板並不是烤某一種特定的蛋糕,像是海綿蛋糕或是水果蛋糕。
這個烤蛋糕模板應該要能套用到所有烤蛋糕的過程,從這個模板我們可以知道如何烤任何蛋糕。
設計出流程圖
規劃解決問題的詳細步驟
撰寫程式
做菜過程是一個演算法。
做菜前會描述準備的食材和份量,再來就是描述做菜的每個步驟。
從電腦程式來看,食材和份量是演算法的初始條件;烹飪步驟則是程式執行的過程。