【C語言基礎(chǔ)Ep6】譚浩強(qiáng)《C程序設(shè)計(jì)》學(xué)習(xí)筆記P22:算法的表示

(合計(jì)661字,用時(shí)30min——)
第2章 算法——程序的靈魂
2.4 怎樣表示一個(gè)算法
2.4.1用自然語言表示算法
含義:自然語言就是人們?nèi)粘J褂玫恼Z言。
特點(diǎn):
優(yōu)點(diǎn):通俗易懂;
缺點(diǎn):文字冗長(zhǎng),容易出現(xiàn)歧義。
2.4.2用流程圖表示算法
含義:流程圖是用一些圖框來表示各種操作。
特點(diǎn):
優(yōu)點(diǎn):直觀形象,易于理解;
缺點(diǎn):占用篇幅較多,尤其當(dāng)算法比較復(fù)雜時(shí),畫流程圖既費(fèi)時(shí)又不方便。
組成:
表示相應(yīng)操作的框;
帶箭頭的流程線;
框內(nèi)外必要的文字說明。
2.4.3三種基本結(jié)構(gòu)和改進(jìn)的流程圖
a.傳統(tǒng)流程圖的弊端
BS型算法:意為一碗面條(a bowl of spaghetti),傳統(tǒng)的流程圖用流程線指出各框的執(zhí)行順序,對(duì)流程線的使用沒有嚴(yán)格限制。
b.三種基本結(jié)構(gòu)
地位:表示一個(gè)良好算法的基本單元——
順序結(jié)構(gòu);
選擇結(jié)構(gòu);
循環(huán)結(jié)構(gòu)——
當(dāng)型(while型)循環(huán)結(jié)構(gòu);
直到型(until型)循環(huán)結(jié)構(gòu)。
特點(diǎn):
只有一個(gè)入口;
只有一個(gè)出口;
結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;
結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無終止的循環(huán))。
2.4.4用N-S流程圖表示算法
含義:在這種流程圖中,完全去掉了帶箭頭的流程線——全部算法寫在一個(gè)矩形框內(nèi),在該框內(nèi)還可以包含其他從屬于它的框,或者說,由一些基本的框組成一個(gè)大的框——這種流程圖又稱N-S結(jié)構(gòu)化流程圖,盒圖(box diagram)。
2.4.5用偽代碼表示算法
含義:偽代碼(pseudo code)是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)來描述算法——它如同一篇文章一樣,自上而下地寫下來。
2.4.6用計(jì)算機(jī)語言表示算法
含義:用計(jì)算機(jī)語言表示算法必須嚴(yán)格遵循所用的語言的語法規(guī)則,這是和偽代碼不同的。