演算法基本概念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