7.1 日常生活也能用得到的演算法
Last updated
Was this helpful?
Last updated
Was this helpful?
如果說程式是和電腦溝通的語言,演算法,就是電腦解決問題的方法。當我們下達可行的處理步驟,電腦就會自動計算,並給出答案,從輸入到輸出結果的過程,就是演算的範圍。
舉例來說,當上班肚子餓時(輸入),我們依序確認時間點,以及適不適合出門(演算),再根據結果,決定要如何解決(輸出),這中間的起承轉合,就是演算法的過程。
演算法有五項特性,必須完全滿足,才稱得上邏輯運算。除了必須具備輸入(零資料也視為輸入)與輸出,中間的演算過程還必須明確、有限與有效,確保能執行,且必然產生結果。
演算法就是處理問題的方法,舉凡日常生活和程式皆會運用,常用的標示方法有兩種:
流程圖(flow chart)運用各種方塊、圖形、線條和箭頭,精簡表達演算的順序和步驟。透過圖案本身,就能表達出資料性質、處理方式等等,也就是「圖解」。常用的流程圖符號如下:
運用流程圖符號,可以清楚標示演算法的過程。以上方的「上班肚子餓」圖例來說,菱形方框代表的是決策,方框代表處理,箭頭為順序性標示,過程一目了然。
文字敘述法就是透過電腦虛擬碼(pseudo code),直接寫出其中過程,工程師電腦的「無字天書」就是程式虛擬碼。不過,虛擬碼其實類似邏輯強大又好懂的流程圖,只要破解代號,就能逐一解讀。
這個文字指令所代表的,就是跳出視窗(alert),並顯示文字(Hello World)。虛擬碼運用簡單的英文單字,對電腦下達指令,只要依規定的方式撰寫,就能達到演算、執行效果。
演算法的精隨,就在於清楚而邏輯的遊戲規則,讓對方接收明確指令。演算法之於工程師,就如同美味食材之於大廚師,若你能掌控自如,品嘗其中的美妙便利滋味,就算是成功換一顆工程師的邏輯腦了。