C语言描述算法的常用方法是,认识C语言-算法描述的5种方法
在 C語言中,有 5 種常用的算法描述方法:自然語言、流程圖、N-S 圖、偽代碼和程序設計語言。
1. 自然語言描述算法
上一講《算法是什么》中給出的解決問題的算法 a、算法 b 和算法 c 都是用自然語言來表示算法的(見上一節(jié)的圖2)。自然語言就是我們日常使用的各種語言,可以是漢語、英語、日語等。
用自然語言描述算法的優(yōu)點是通俗易懂,當算法中的操作步驟都是順序執(zhí)行時比較直觀、容易理解。缺點是如果算法中包含了判斷結構和循環(huán)結構,并且操作步驟較多時,就顯得不那么直觀清晰了。
2. 用流程圖描述算法
用流程圖描述算法就可以解決上述缺點。所謂流程圖(Flow Chart),是指用規(guī)定的圖形符號來描述算法(見表 1)。
表 1:流程圖常用的圖形符號
圖形符號
名稱
含義
起止框
程序的開始或結束
處理框
數據的各種處理和運算操作
輸入/輸出框
數據的輸入和輸出
判斷框
根據條件的不同,選擇不同的操作
連接點
轉向流程圖的他處或從他處轉入
流向線
程序的執(zhí)行方向
結構化程序設計方法中規(guī)定的三種基本程序流程結構(順序結構、選擇結構和循環(huán)結構)都可以用流程圖明晰地表達出來(見圖 1)。
圖 1:用流程圖表示的順序結構、選擇(條件分支)結構、循環(huán)結構三種流程
3. 用?N-S 圖描述算法
雖然用流程圖描述的算法條理清晰、通俗易懂,但是在描述大型復雜算法時,流程圖的流向線較多,影響了對算法的閱讀和理解。因此有兩位美國學者提出了一種完全去掉流程方向線的圖形描述方法,稱為 N-S 圖(兩人名字的首字母組合)。
N-S 圖使用矩形框來表達各種處理步驟和三種基本結構(見圖 2),全部算法都寫在一個矩形框中。
圖 2:用 N-S 圖表示的順序結構、選擇(條件分支)結構、循環(huán)結構三種流程
圖 3 展示了分別用自然語言、流程圖和 N-S 圖解決同一問題的算法描述。
圖 3:分別用自然語言、流程圖和 N-S 圖描述的算法
4. 用偽代碼描述算法
偽代碼是用在更簡潔的自然語言算法描述中,用程序設計語言的流程控制結構來表示處理步驟的執(zhí)行流程和方式,用自然語言和各種符號來表示所進行的各種處理及所涉及的數據(見圖 4)。它是介于程序代碼和自然語言之間的一種算法描述方法。這樣描述的算法書寫比較緊湊、自由,也比較好理解(尤其在表達選擇結構和循環(huán)結構時),同時也更有利于算法的編程實現(轉化為程序)。
圖 4:常見的三種流程結構的偽代碼
5. 用程序設計語言來描述算法
算法最終都要通過程序設計語言描述出來(編程實現),并在計算機上執(zhí)行。程序設計語言也是算法的最終描述形式(見圖 5)。無論用何種方法描述算法,都是為了將其更方便的轉化為計算機程序。
圖 5:用偽代碼和程序設計語言(C語言)描述的算法
#include
int main(){
int S=0;
int i=0;
while(i<100)
{
i=i+1;
S=S+i;
}
printf("1+2+3+…+100=%d",S);
system("pause");
}
總結
以上是生活随笔為你收集整理的C语言描述算法的常用方法是,认识C语言-算法描述的5种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fix indent命令实现纳米摩擦及摩
- 下一篇: 相信自己,就是奇迹