- 工程軟件開發技術基礎
- 臧鐵鋼 朱海華
- 592字
- 2019-10-14 12:10:02
1.3.2 算法的描述
算法的描述方法很多,根據描述算法語言的不同,可將算法分為以下常用的4種:
(1)框圖描述法。該描述法在算法研究的早期非常流行。一個算法可以用流程圖的方式來描述,輸入/輸出、判斷、處理分別用不同的框圖表示,用箭頭表示流程的流向。它的優點是直觀、易懂,但用來描述比較復雜的算法就顯得不夠方便,也不夠清晰簡潔。目前在一些高級語言程序設計中仍然采用此種方法。
(2)非形式描述法。用自然語言,同時還使用一些程序設計語言中的語句來描述算法,稱為非形式描述法。這類描述方法自然、簡潔,但對于復雜算法的描述缺乏嚴謹性和結構性。
(3)類高級算法語言描述法。類高級算法語言描述法中常采用類C或C++的所謂偽語言。這種算法不能直接在計算機上運行,但專業設計人員經常使用這類偽語言來描述算法,它具有容易編寫、閱讀和格式統一的特點。
(4)高級算法語言描述法。這是可以在計算機上運行并獲得結果的算法描述,使給定的問題能在有限的時間內被計算機執行,通常這種算法也稱程序。
下面以求兩個整數m、n(m≥n)的最大公因子為例來說明不同的算法描述方法。該問題的框圖描述如圖1-4所示。

圖1-4 求兩個整數m、n的最大公因子框圖
該問題的非形式算法描述如下:
①(求余數)以n除m,并令r為余數(0≤r<n)。
②(余數是否為0)若r=0則結束算法,n就是最大公因子。
③(替換并返回a)若r≠0,則m←n,n←r,返回a。
采用C語言描述如下:

推薦閱讀
- Mastering Entity Framework Core 2.0
- Spring Cloud Alibaba核心技術與實戰案例
- 在最好的年紀學Python:小學生趣味編程
- Mastering Articulate Storyline
- Hadoop+Spark大數據分析實戰
- Julia Cookbook
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- Rust Essentials(Second Edition)
- Mastering JavaScript High Performance
- Python3.5從零開始學
- Node.js開發指南
- JBoss:Developer's Guide
- Simulation for Data Science with R
- 面向對象程序設計及C++(第3版)
- RESTful Web API Design with Node.js(Second Edition)