書名: 教孩子學編程(信息學奧賽C語言版)作者名: 黨松年 方澤波本章字數: 563字更新時間: 2020-05-22 15:22:49
2.7 算法:程序解決問題的處理步驟
編程是為了讓計算機幫助我們解決各種各樣的問題,任何問題的解決都有一定的方法和步驟,計算機解決問題的處理步驟我們稱之為算法。
在計算機編程的過程中,提到“算法”總是讓人覺得很深奧,很難理解到底什么是算法?以及算法在程序設計過程中起到了什么作用?其實在現實生活中我們經常會用“算法”的思想在解決一些問題,最常見的就是根據菜譜做菜。
菜譜記錄了做出各色各樣美味菜品的方法步驟。比如制作紅燒肉的菜譜,會把制作紅燒肉所必需的材料及用量都標注清楚,并且把烹制的過程、每一步需要的時間等都詳細記錄下來。任何人只要完全按照菜譜的方法和步驟去做,就一定能烹制出美味的紅燒肉。而“算法”就是能讓程序員編寫出可靠、高效的計算機程序的“菜譜”(見圖2.5)。
圖2.5 算法就是計算機解決問題的具體步驟
編程是為了讓計算機解決特定的問題,編程之前首先需要明確計算機解決該問題的具體步驟,這個處理步驟就是編寫該程序所需要的“算法”。解決一個問題可以用不同的方法和步驟,因而針對同一問題的算法也有多種(見圖2.6)。而編寫程序就是通過某一種程序設計語言(比如C語言)對算法的具體實現。算法獨立于任何程序設計語言,同一算法可以用不同的程序設計語言來實現(見圖2.7)。
圖2.6 對于同一個問題,往往會有不同的算法
圖2.7 同一算法可以用不同的程序設計語言來編程實現