演算法基本概念1-問題解析與流程控制


演算法基本概念課程脈絡

演算法是資訊科學中重要的領域之一,也是計算機科學中的核心之一,更是解決問題不可或缺的方法。

演算法(Algorithm)

解說

當演算法統治及改變世界時,認識演算法就是義務

實作1-演算法動畫影片

Q:你覺得演算法是甚麼?

解說:

什麼是演算法

演算法就是對特定問題解決的流程或步驟

日常生活中的演算法

資料引用:課程詳細說明和學習單 (請點此):https://curriculum.code.org/csf-18/coursea/3/

解說:

範例:橘子汁

今天輸入一顆橘子,想要得到一杯橘子汁,中間可能經過果汁機.手....。只要最後可以順利得到橘子汁,中間的過程就可以稱為它的演算法

範例:食譜

按照食譜安排的程序一步一步做下去,就可以做出一道預期中的菜餚,該食譜提供的就是一種演算法。

牛刀小試-製作火鍋遊戲

來源:99課綱高中學科中心


解決問題(problem solving)

在日常生活中我們常常要面對和解決不同的問題。解決問題的能力成為一項很重要的能力。那要如何培養解決問題的能力呢?若要解決問題,首先會先思考問題,想清楚問題後再著手進行。

補充說明

思考問題

(1)思考

“思考"就是有意識地向自己提問題

(2)設計思考

範例-國內旅遊

解決問題最重要的是必須先將問題定義清楚並加以分析,釐清問題是第一步開車還是搭車? 旅遊地點? 有沒有要過夜? 人數與預算是多少?

解決問題能力培養

問題解決能力=發現且願意解決問題+領域知識/資訊+系統化思維(邏輯推理+分析歸納+心智圖/思考框架/方法論)+學習遷移能力

參考資料

https://medium.com/@yenru/what-is-problem-solving-38af6d7d0852

牛刀小試1- 有智慧的紙片

解說

參考資料

偷插電的資訊科學 《有智慧的紙片》

Q:思考一下:在和電腦玩井字遊戲中,你是如何取勝?

牛刀小試2-撲克牌排序

Q:思考一下:在撲克牌排序遊戲中,你是如何解決此問題?