描述算法的工具有很多,如自然語言、傳統流程圖、N-S流程圖、偽代碼等。
首先,用自然語言表達算法。
用自然語言表達算法很容易理解。特別適用於描述前端序列程序結構的算法。而自然語言是有歧義的,使用時要特別註意算法邏輯的正確性和運算的準確性。比如描述自然語言算法判斷正整數n是質數。
第二,用流程圖來表示算法。
1.傳統流程圖
傳統流程圖四框壹線,符合人的思維習慣。表達算法直觀易懂(教材中有詳細講解,此處省略)。
2.該算法用N-S流程圖表示。
第三,偽代碼表示算法
用流程圖來表示壹個算法,直觀易懂,但是很難畫出來。設計算法時,可能需要反復修改,修改流程圖比較麻煩。所以流程圖適合用來表示壹個算法,但是用在設定算法的過程中就不太理想了,尤其是算法比較復雜,需要反復修改的時候。為了方便算法的設計,產生了偽代碼。
偽代碼介於自然語言和機器語言之間,用文字和符號來描述算法。它不使用圖形符號,所以書寫方便,格式緊湊,易於理解。偽代碼雖然不是實際的編程語言,但在表達能力上與編程語言相似,避免了描述技術細節的麻煩,所以偽代碼更適合描述算法,所以被稱為“算法語言”或“第壹語言”。偽代碼便於過渡到計算機語言算法(如C語言和Java)。
第四,用計算機語言表達算法。
編程的最終目的是用計算機語言來表達算法。常用的編程語言有C,C++。Java等等。下面這個例子用C語言來表達判斷n是否為素數的算法。