日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 電子技術(shù)資源
[導(dǎo)讀]在 C語(yǔ)言中,有 5 種常用的算法描述方法:自然語(yǔ)言、流程圖、N-S 圖、偽代碼和程序設(shè)計(jì)語(yǔ)言。

在 C語(yǔ)言中,有 5 種常用的算法描述方法:自然語(yǔ)言、流程圖、N-S 圖、偽代碼和程序設(shè)計(jì)語(yǔ)言。

1. 自然語(yǔ)言描述算法

上一講《算法是什么》中給出的解決問(wèn)題的算法 a、算法 b 和算法 c 都是用自然語(yǔ)言來(lái)表示算法的。自然語(yǔ)言就是我們?nèi)粘J褂玫母鞣N語(yǔ)言,可以是漢語(yǔ)、英語(yǔ)、日語(yǔ)等。

用自然語(yǔ)言描述算法的優(yōu)點(diǎn)是通俗易懂,當(dāng)算法中的操作步驟都是順序執(zhí)行時(shí)比較直觀、容易理解。缺點(diǎn)是如果算法中包含了判斷結(jié)構(gòu)和循環(huán)結(jié)構(gòu),并且操作步驟較多時(shí),就顯得不那么直觀清晰了。

2. 用流程圖描述算法

用流程圖描述算法就可以解決上述缺點(diǎn)。所謂流程圖(Flow Chart),是指用規(guī)定的圖形符號(hào)來(lái)描述算法。

結(jié)構(gòu)化程序設(shè)計(jì)方法中規(guī)定的三種基本程序流程結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu))都可以用流程圖明晰地表達(dá)出來(lái)(見(jiàn)圖 1)。


用流程圖表示的順序結(jié)構(gòu)、選擇(條件分支)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種流程

圖 1:用流程圖表示的順序結(jié)構(gòu)、選擇(條件分支)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種流程

3. 用 N-S 圖描述算法

雖然用流程圖描述的算法條理清晰、通俗易懂,但是在描述大型復(fù)雜算法時(shí),流程圖的流向線較多,影響了對(duì)算法的閱讀和理解。因此有兩位美國(guó)學(xué)者提出了一種完全去掉流程方向線的圖形描述方法,稱(chēng)為 N-S 圖(兩人名字的首字母組合)。

N-S 圖使用矩形框來(lái)表達(dá)各種處理步驟和三種基本結(jié)構(gòu)(見(jiàn)圖 2),全部算法都寫(xiě)在一個(gè)矩形框中。


用N-S圖表示的順序結(jié)構(gòu)、選擇(條件分支)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種流程

圖 2:用 N-S 圖表示的順序結(jié)構(gòu)、選擇(條件分支)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種流程

圖 3 展示了分別用自然語(yǔ)言、流程圖和 N-S 圖解決同一問(wèn)題的算法描述。


分別用自然語(yǔ)言、流程圖和 N-S 圖描述的算法

圖 3:分別用自然語(yǔ)言、流程圖和 N-S 圖描述的算法

4. 用偽代碼描述算法

偽代碼是用在更簡(jiǎn)潔的自然語(yǔ)言算法描述中,用程序設(shè)計(jì)語(yǔ)言的流程控制結(jié)構(gòu)來(lái)表示處理步驟的執(zhí)行流程和方式,用自然語(yǔ)言和各種符號(hào)來(lái)表示所進(jìn)行的各種處理及所涉及的數(shù)據(jù)(見(jiàn)圖 4)。它是介于程序代碼和自然語(yǔ)言之間的一種算法描述方法。這樣描述的算法書(shū)寫(xiě)比較緊湊、自由,也比較好理解(尤其在表達(dá)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)時(shí)),同時(shí)也更有利于算法的編程實(shí)現(xiàn)(轉(zhuǎn)化為程序)。


常見(jiàn)的三種流程結(jié)構(gòu)的偽代碼

圖 4:常見(jiàn)的三種流程結(jié)構(gòu)的偽代碼

5. 用程序設(shè)計(jì)語(yǔ)言來(lái)描述算法

算法最終都要通過(guò)程序設(shè)計(jì)語(yǔ)言描述出來(lái)(編程實(shí)現(xiàn)),并在計(jì)算機(jī)上執(zhí)行。程序設(shè)計(jì)語(yǔ)言也是算法的最終描述形式(見(jiàn)圖 5)。無(wú)論用何種方法描述算法,都是為了將其更方便的轉(zhuǎn)化為計(jì)算機(jī)程序。


用偽代碼和程序設(shè)計(jì)語(yǔ)言(C 語(yǔ)言)描述的算法

圖 5:用偽代碼和程序設(shè)計(jì)語(yǔ)言(C語(yǔ)言)描述的算法

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉