演算法基本概念1-問題解析與流程控制
演算法基本概念課程脈絡
演算法是資訊科學中重要的領域之一,也是計算機科學中的核心之一,更是解決問題不可或缺的方法。
演算法(Algorithm)
解說
小結:
當演算法統治及改變世界時,認識演算法就是義務 |
實作1-演算法動畫影片
資料引用:課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursea/3/
Q:你覺得演算法是甚麼?
解說:
演算法就是對特定問題解決的流程或步驟 |
範例:橘子汁
今天輸入一顆橘子,想要得到一杯橘子汁,中間可能經過果汁機.手....。只要最後可以順利得到橘子汁,中間的過程就可以稱為它的演算法。
範例:食譜
按照食譜安排的程序一步一步做下去,就可以做出一道預期中的菜餚,該食譜提供的就是一種演算法。
牛刀小試1-煮火鍋遊戲
來源:99課綱高中學科中心
解決問題(problem solving)
在日常生活中我們常常要面對和解決不同的問題。解決問題的能力成為一項很重要的能力。那要如何培養解決問題的能力呢?若要解決問題,首先會先思考問題,想清楚問題後再著手進行。
1.思考問題
(1)思考
“思考"就是有意識地向自己提問題
(2)設計思考
範例-國內旅遊
解決問題最重要的是必須先將問題定義清楚並加以分析,釐清問題是第一步開車還是搭車? 旅遊地點? 有沒有要過夜? 人數與預算是多少?
2.培養解決問題能力
小結:
問題解決能力=發現且願意解決問題+領域知識/資訊+系統化思維(邏輯推理+分析歸納+思考框架/方法論)+學習遷移能力 |
參考資料
https://medium.com/@yenru/what-is-problem-solving-38af6d7d0852
牛刀小試2-撲克牌排序遊戲
牛刀小試3-河內塔
遊戲動畫展示及練習:
遊戲活動說明:
試完成河內塔遊戲。在進行解決問題中, 留意自己的步驟及所採取之策略。
Q:思考一下:在操作河內塔遊戲中,你是如何解決問題(過關)?
解說
依照密技所指示的步驟來操作,無論誰每次都可以過關。這種為遊戲通關設計的密技(定式),也算是不錯的演算法
http://www1.mtjh.kh.edu.tw/~t394/ago/honoi.htm
http://simonsays-tw.com/web/Recursion/Iteration&Recursion.html