c語言程序設(shè)計流程圖詳解參考模板_第1頁
c語言程序設(shè)計流程圖詳解參考模板_第2頁
c語言程序設(shè)計流程圖詳解參考模板_第3頁
c語言程序設(shè)計流程圖詳解參考模板_第4頁
c語言程序設(shè)計流程圖詳解參考模板_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c語言程序設(shè)計流程圖詳解介紹常見的流程圖符號及流程圖的例子。本章例1 - 1的算法的流程圖如圖1 - 2所示。本章例1 - 2的算法的流程圖如圖1 - 3所示。在流程圖中,判斷框左邊的流程線表示判斷條件為真時的流程,右邊的流程線表示條件為假時的流程,有時就在其左、右流程線的上方分別標注“真”、“假”或“T”、“F”或“Y”、“N”注“真”、“假”或“T”、“F”或“Y”、“N”另外還規(guī)定,流程線是從下往上或從右向左時,必須帶箭頭,除此以外,都不畫箭頭,流程線的走向總是從上向下或從左向右。2 / 62. 算法的結(jié)構(gòu)化描述早期的非結(jié)構(gòu)化語言中都有g(shù)o to語句,它允許程序從一個地方直接跳轉(zhuǎn)到另一個

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

3、去。正因為整個算法都是由三種基本結(jié)構(gòu)組成的,就像用模塊構(gòu)建的一樣,所以結(jié)構(gòu)清晰,易于正確性驗證,易于糾錯,這種方法,就是結(jié)構(gòu)化方法。遵循這種方法的程序設(shè)計,就是結(jié)構(gòu)化程序設(shè)計。相應(yīng)地,只要規(guī)定好三種基本結(jié)構(gòu)的流程圖的畫法,就可以畫出任何算法的流程圖。(1) 順序結(jié)構(gòu)順序結(jié)構(gòu)是簡單的線性結(jié)構(gòu),各框按順序執(zhí)行。其流程圖的基本形態(tài)如圖1 - 4所示,語句的執(zhí)行順序為:ABC。(2) 選擇(分支)結(jié)構(gòu)這種結(jié)構(gòu)是對某個給定條件進行判斷,條件為真或假時分別執(zhí)行不同的框的內(nèi)容。其基本形狀有兩種,如圖1-5 a)、b)所示。圖1-5 a)的執(zhí)行序列為:當條件為真時執(zhí)行A,否則執(zhí)行B;圖1 - 5 b)的執(zhí)行序

4、列為:當條件為真時執(zhí)行A,否則什么也不做。(3) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)有兩種基本形態(tài): while型循環(huán)和do - while型循環(huán)。a. while 型循環(huán)如圖1 - 6所示。其執(zhí)行序列為:當條件為真時,反復執(zhí)行A,一旦條件為假,跳出循環(huán),執(zhí)行循環(huán)緊后的語句。b. do-while型循環(huán)如圖1 - 7所示。執(zhí)行序列為:首先執(zhí)行A,再判斷條件,條件為真時,一直循環(huán)執(zhí)行A,一旦條件為假,結(jié)束循環(huán),執(zhí)行循環(huán)緊后的下一條語句。在圖1 - 6、圖1 - 7中,A被稱為循環(huán)體,條件被稱為循環(huán)控制條件。要注意的是:1) 在循環(huán)體中,必然對條件要判斷的值進行修改,使得經(jīng)過有限次循環(huán)后,循環(huán)一定能結(jié)束,如圖1 -

5、 3中的i = i - 1。2) 當型循環(huán)中循環(huán)體可能一次都不執(zhí)行,而直到型循環(huán)則至少執(zhí)行一次循環(huán)體。3) 直到型循環(huán)可以很方便地轉(zhuǎn)化為當型循環(huán),而當型循環(huán)不一定能轉(zhuǎn)化為直到型循環(huán)。例如,圖1 - 7可以轉(zhuǎn)化為圖1 - 8。七,用N-S圖描述算法N - S圖是另一種算法表示法,是由美國人I . Nassi和B.Shneiderman共同提出的,其根據(jù)是:既然任何算法都是由前面介紹的三種結(jié)構(gòu)組成,所以各基本結(jié)構(gòu)之間的流程線就是多余的,因此,N - S圖也是算法的一種結(jié)構(gòu)化描述方法。N - S圖中,一個算法就是一個大矩形框,框內(nèi)又包含若干基本的框,三種基本結(jié)構(gòu)的N - S圖描述如下所示:1. 順序

6、結(jié)構(gòu)如圖1 - 9所示,執(zhí)行順序先A后B。2. 選擇結(jié)構(gòu)對應(yīng)于圖1 - 5的N - S圖為圖1 - 1 0。圖1-10 a)條件為真時執(zhí)行A,條件為假時執(zhí)行B。圖1 - 1 0b條件為真時執(zhí)行A,為假時什么都不做。3. 循環(huán)結(jié)構(gòu)1) while型循環(huán)的N - S圖如圖1 - 11所示,條件為真時一直循環(huán)執(zhí)行循環(huán)體A,直到條件為假時才跳出循環(huán)。2) do-while型循環(huán)的N - S圖如圖1 - 1 2,一直循環(huán)執(zhí)行循環(huán)體A,直到條件為假時才跳出循環(huán)。本章例1 - 1的N - S圖如圖1 - 1 3,例1 - 2的N - S圖如圖1 - 1 4。應(yīng)該說,N - S圖比流程圖更直觀易懂,而且相對簡

7、練一些。八,用PAD圖描述算法PAD (Problem Analysis Diagram),是近年來在軟件開發(fā)中被廣泛使用的一種算法的圖形表示法,與前述的流程圖、N - S圖相比,流程圖、N - S圖都是自上而下的順序描述,而PAD圖除了自上而下以外,還有自左向右的展開,所以,如果說流程圖、N - S圖是一維的算法描述的話,則PAD圖就是二維的,它能展現(xiàn)算法的層次結(jié)構(gòu),更直觀易懂。下面是PAD圖的幾種基本形態(tài):1. 順序結(jié)構(gòu):如圖1 - 1 5所示。2. 選擇結(jié)構(gòu)(1) 單分支選擇,條件為真執(zhí)行A,如圖1-16 a)。(2) 兩分支選擇,如圖1-16 b),條件為真執(zhí)行A,為假執(zhí)行B。(3) 多分支選擇,如圖1-16 c),當I = I1時執(zhí)行A,= I2時執(zhí)行B,I = I3時執(zhí)行C,I

溫馨提示

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

最新文檔

評論

0/150

提交評論