- 運算思維是使用
電腦科學
角度來思考解決問題的方式與步驟的思考方式
特徵:拆解/分解、模式識別/資料表示,泛化/抽象、演算法
(1) 拆解/分解:分解問題,並縮小問題範圍
(2) 模式識別/資料表示:辨識是否有重複的模式
(3) 泛化/抽象:將問題抽象化、一般化
p.s. 泛化(Generalization):可以被廣泛使用但在我們模型範圍內(= 適應性好)
(4) 演算法:設計解決問題的步驟 - 甚麼是程式設計?
程式(program) = 一系列電腦指令(command)的集合
程式設計 = 資料結構(data structure) + 演算法(algorithm)
資料結構:資料在程式中儲存的方式
演算法:執行程式的方法、步驟
在撰寫程式(programming)之前通常會先把程式演算法(algorithm)邏輯用筆寫下來進行分析
演算法是一個有輸入且有輸出的解決問題的步驟,它具有明確和有限步驟且有效的特性
在寫程式前會進行3個步驟:
(1) 將需求轉換成文字描述
ex.
初始化計算值
-> 從 1 累加到 20
-> 累加完後印出結果
-> 結束程式
(2) 將需求轉換成虛擬碼(Pseudocode)
p.s. 虛擬碼(Pseudocode)不是實際的程式碼,是一種描述演算法的一種方式# 注意以下為虛擬碼,非正式程式碼,表示從 1 到 20 累加 # 宣告兩個變數 counter / result counter = 1 result = 0 # 當 counter 小於等於 20 執行下列 {} 區塊 while counter <= 20 { # 累加結果 result = result + counter # counter + 1 add 1 to counter } # 印出結果 output result
(3) 畫出流程圖(Flow Chart):以圖示表達整個程式邏輯流程
構成流程圖的基本圖示:
(來源:第 12 期電腦科學概論 & 程式設計思維入門共學營)
橢圓形:代表開始結束
長方形:代表執行、處理過程
菱形:代表條件判斷,做決策
平行四邊形:代表輸入/輸出
箭頭線:代表流程執行順序
圓形:代表連結多個來源的箭頭線
流程圖為由上往下
執行。
(來源:第 12 期電腦科學概論 & 程式設計思維入門共學營)
- 變數宣告(variable):變數是一個暫存資料的地方(暫存在記憶體中)
- True/False 在程式中稱為布林值(Boolean),用於邏輯判斷
- 函式(function):
f(x) = y
丟入x,回傳y
透過函式可以讓程式更容易模組化重複使用也更容易閱讀