c語言程序設(shè)計(jì)流程圖詳解_第1頁
c語言程序設(shè)計(jì)流程圖詳解_第2頁
c語言程序設(shè)計(jì)流程圖詳解_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、WORD格式c 語言程序設(shè)計(jì)流程圖詳解介紹常見的流程圖符號(hào)及流程圖的例子。本章例 1 - 1 的算法的流程圖如圖1 - 2 所示。本章例1 - 2 的算法的流程圖如圖1 - 3 所示。在流程圖中, 判斷框左邊的流程線表示判斷條件為真時(shí)的流程,右邊的流程線表示條件為假時(shí)的流程,有時(shí)就在其左、右流程線的上方分別標(biāo)注“真 、 “假 或 “T、“F或“Y、“N注“真、“假或“T、“F或“Y、“N專業(yè)資料整理WORD格式另外還規(guī)定,流程線是從下往上或從右向左時(shí),必須帶箭頭,除此以外,都不畫箭頭,流程線的走向總是從上向下或從左向右。2. 算法的構(gòu)造化描述早期的非構(gòu)造化語言中都有g(shù)o to 語句,它允許 程

2、序 從一個(gè)地方直接跳轉(zhuǎn)到另一個(gè)地方去。執(zhí)行這樣做的好處是程序 設(shè)計(jì)十分方便靈活, 減少了人工復(fù)雜度, 但其缺點(diǎn)也是十分突出的,一大堆跳轉(zhuǎn)語句使得程序 的流程十分復(fù)雜紊亂, 難以看懂也難以驗(yàn)證 程序 的正確性, 如果有錯(cuò),排起錯(cuò)來更是十分困難。這種轉(zhuǎn)來轉(zhuǎn)去的流程圖所表達(dá)的混亂與復(fù)雜,正是軟件危機(jī)中程序 人員處境的一個(gè)生動(dòng)寫照。而構(gòu)造化程序 設(shè)計(jì),就是要把這團(tuán)亂麻理清。經(jīng)過研究,人們發(fā)現(xiàn),任何復(fù)雜的算法,都可以由順序構(gòu)造、選擇分支構(gòu)造和循環(huán)構(gòu)造這三種根本構(gòu)造組成,因此,我們構(gòu)造一個(gè)算法的時(shí)候,也僅以這三種根本構(gòu)造作為“建筑單元 ,遵守三種根本構(gòu)造的標(biāo)準(zhǔn),根本構(gòu)造之間可以并列、 可以相互包含, 但不

3、允許穿插,不允許從一個(gè)構(gòu)造直接轉(zhuǎn)到另一個(gè)構(gòu)造的內(nèi)部去。正因?yàn)檎麄€(gè)算法都是由三種根本構(gòu)造組成的,就像用模塊構(gòu)建的一樣,所以構(gòu)造清晰,易于正確性驗(yàn)證,易于糾錯(cuò),這種方法,就是構(gòu)造化方法。遵循這種方法的程序 設(shè)計(jì),就是構(gòu)造化 程序 設(shè)計(jì)。相應(yīng)地,只要規(guī)定好三種根本構(gòu)造的流程圖的畫法 ,就可以畫出任何算法的流程圖。(1) 順序構(gòu)造順序構(gòu)造是簡(jiǎn)單的線性構(gòu)造,各框按順序執(zhí)行。其流程圖的根本形態(tài)如圖1 - 4所示,語句的執(zhí)行順序?yàn)椋?ABC 。(2) 選擇分支構(gòu)造這種構(gòu)造是對(duì)某個(gè)給定條件進(jìn)展判斷,條件為真或假時(shí)分別執(zhí)行不同的框的內(nèi)容。其根本形狀有兩種,如圖 1-5 a 、b所示。圖1-5 a 的執(zhí)行序列為:

4、當(dāng)條件為真時(shí)執(zhí)行A ,否那么執(zhí)行 B ;圖 1 - 5 b 的執(zhí)行序列為:當(dāng)條件為真時(shí)執(zhí)行A ,否那么什么也不做。(3) 循環(huán)構(gòu)造循環(huán)構(gòu)造有兩種根本形態(tài):while 型循環(huán)和 do - while型循環(huán)。a. while型循環(huán)如圖 1-6 所示。其執(zhí)行序列為:當(dāng)條件為真時(shí),反復(fù)執(zhí)行 A,一旦條件為假,跳出循環(huán),執(zhí)行循環(huán)緊后的語句。b. do-while型循環(huán)如圖 1-7 所示。專業(yè)資料整理WORD格式執(zhí)行序列為:首先執(zhí)行A ,再判斷條件,條件為真時(shí),一直循環(huán)執(zhí)行A,一旦條件為假,結(jié)束循環(huán),執(zhí)行循環(huán)緊后的下一條語句。在圖 1 - 6 、圖 1 - 7 中, A 被稱為循環(huán)體,條件被稱為循環(huán)控制條

5、件。要注意的是:1) 在循環(huán)體中,必然對(duì)條件要判斷的值進(jìn)展修改,使得經(jīng)過有限次循環(huán)后,循環(huán)一定能完畢,如圖 1 - 3 中的 i = i - 1 。2) 當(dāng)型循環(huán)中循環(huán)體可能一次都不執(zhí)行,而直到型循環(huán)那么至少執(zhí)行一次循環(huán)體。3) 直到型循環(huán)可以很方便地轉(zhuǎn)化為當(dāng)型循環(huán),而當(dāng)型循環(huán)不一定能轉(zhuǎn)化為直到型循環(huán)。例如,圖 1-7 可以轉(zhuǎn)化為圖 1-8。七,用 N-S 圖描述算法N - S 圖是另一種算法表示法,是由美國(guó)人I . Nassi 和 B.Shneiderman共同提出的, 其根據(jù)是:既然任何算法都是由前面介紹的三種構(gòu)造組成,所以各根本構(gòu)造之間的流程線就是多余的,因此, N - S 圖也是算法的

6、一種構(gòu)造化描述方法。N - S 圖中,一個(gè)算法就是一個(gè)大矩形框, 框內(nèi)又包含假設(shè)干根本的框, 三種根本構(gòu)造的 N - S 圖描述如下所示:1. 順序構(gòu)造如圖 1 - 9 所示,執(zhí)行順序先A 后 B。2. 選擇構(gòu)造對(duì)應(yīng)于圖1 - 5 的 N - S 圖為圖 1 - 1 0 。圖 1-10 a) 條件為真時(shí)執(zhí)行A,條件為假時(shí)執(zhí)行B 。圖 1-10b 條件為真時(shí)執(zhí)行 A,為假時(shí)什么都不做。專業(yè)資料整理WORD格式3. 循環(huán)構(gòu)造1) while 型循環(huán)的N - S圖如圖1-11所示,條件為真時(shí)一直循環(huán)執(zhí)行循環(huán)體A ,直到條件專業(yè)資料整理WORD格式為假時(shí)才跳出循環(huán)。2) do-while型循環(huán)的N -

7、 S圖如圖1-12,一直循環(huán)執(zhí)行循環(huán)體A ,直到條件為假時(shí)才跳出專業(yè)資料整理WORD格式循環(huán)。專業(yè)資料整理WORD格式本章例 1-1 的N-S 圖如圖 1-13 ,例 1-2 的 N-S 圖如圖 1-14 。應(yīng)該說, N-S 圖比流程圖更直觀易懂,而且相對(duì)簡(jiǎn)練一些。八,用 PAD 圖描述算法PAD Problem Analysis Diagram,是近年來在軟件開發(fā)中被廣泛使用的一種算法的圖形表示法,與前述的流程圖、N - S圖相比,流程圖、N - S圖都是自上而下的順序描述,而PAD 圖除了自上而下以外,還有自左向右的展開,所以,如果說流程圖、N - S 圖是一維的算法描述的話,那么PAD 圖就是二維的,它能展現(xiàn)算法的層次構(gòu)造,更直觀易懂。下面是 PAD 圖的幾種根本形態(tài):1. 順序構(gòu)造:如圖 1-15 所示。2. 選擇構(gòu)造(1) 單分支選擇,條件為真執(zhí)行A,如圖 1-16 a 。(2) 兩分支選擇,如圖 1-16 b) ,條件為真執(zhí)行 A,為假執(zhí)行 B 。(3) 多分支選擇, 如圖 1-16 c) ,當(dāng) I = I1 時(shí)執(zhí)行 A, = I2 時(shí)執(zhí)行 B,I = I3 時(shí)執(zhí)行 C,I = I4時(shí)執(zhí)行。3. 循環(huán)構(gòu)造如圖 1 - 1 7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論