注:本文參考《程序員教程》王春森主編 清華大學出版社
除了自然語言和編程語言以外,算法描述方法還有:程序流程圖、盒圖(NS圖)、問題分析圖(PAD圖)和僞代碼。
1、程序流程圖
優點:簡單直觀、易學
缺點:①修改麻煩
②使用者可以在流程圖上隨意畫流線,使其常常非結構化。
故,畫流程圖的時候最好只用三種基本結構(順序、選擇、循環)的組合。
2、盒圖(NS圖)
優點:①功能域(即一個特定控制結構的作用域)明確;
②無法任意轉移控制;
③容易確定全局數據和局部數據的作用域;
④容易表示嵌套關係,也可以表示模塊的層次結構。
②無法任意轉移控制;
③容易確定全局數據和局部數據的作用域;
④容易表示嵌套關係,也可以表示模塊的層次結構。
缺點:①修改麻煩
②當分支嵌套層次多時往往在一張紙上難以畫下。
3、問題分析圖(PAD圖)
問題分析圖(Problem Analysis Diagram,PAD)是日立公司提出的圖形描述工具。PAD符合自頂向下逐步求精的原則,也符合結構化程序設計的思想,同時能夠方便地從PAD轉換成程序語言的源程序代碼。
4、僞代碼
優點:①易懂且便於向程序過渡
②易於修改
缺點:不直觀、可能出現邏輯上的錯誤(如循環、選擇結構的範圍錯誤)
5、舉例說明