天天看點

《易學C++(第2版)》——1.2 程式設計要做什麼

本節書摘來自異步社群出版社《易學c++(第2版)》一書中的第1章,第1.2節,作者:潘嘉傑  ,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

很多初學者會不解:程式設計到底是要做什麼呢?我們該如何教會計算機解決問題呢?

其實,要解決一些看似不同的問題,可以歸結為一種确定的過程和方法。這種能夠在有限的步驟内解決一類問題的過程和方法稱為算法(algorithm)。下面以解一進制二次方程為例,介紹求解的算法步驟。

(1)輸入二次項系數a,一次項系數b和常數項c;

(2)計算△=b2-4ac;

(3)判斷△的大小,如果△≥0,則有實數解,否則就沒有實數解;

(4)如果有實數解,就利用求根公式求出兩個解;

(5)輸出方程的兩個實數解,或告知無解。

以上便是用自然語言描述的求解一進制二次方程的算法。程式設計所要做的就是探求這種能解決一類問題的算法,并且将這種算法用計算機能夠“看懂”的語言表達出來。

想要學好程式設計,最重要的是具有清晰的邏輯思維能力。一個程式員可以把生活中任何細節都歸結為一個确定的過程和方法。例如,一個人回家,通常需要經過以下步驟。

(1)進入小區;

(2)進入所在的單元(樓房);

(3)如果電梯沒有壞則乘電梯,否則就走樓梯;

(4)用鑰匙打開房門。

這些步驟仍然是非常粗略的。可以對每一個步驟進行細化,直到細化為每一個具體的動作。這與程式設計也是非常相似的,當一個算法已經細化到最詳細的程度,就能與程式的“語句”(statement)一一對應起來。将這些語句按順序組織起來,便基本完成了程式的設計。

小提示

 

所謂語句,就是在程式設計中要編寫的代碼。這些代碼以文本方式存在,并且其組成遵循一定的規則,即文法。與自然語言相比,計算機語言中的文法相對比較“死闆”。如果在設計程式時不遵守文法規則,那麼計算機可能無法正确了解程式員的意圖。