小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

流程圖符號及流程圖的例子

 jinzq 2007-08-30
介紹常見的流程圖符號及流程圖的例子。
    本章例1 - 1的算法的流程圖如圖1 - 2所示。本章例1 - 2的算法的流程圖如圖1 - 3所示。
在流程圖中,判斷框左邊的流程線表示判斷條件為真時的流程,右邊的流程線表示條件為假時的流程,有時就在其左、右流程線的上方分別標(biāo)注“真”、“假”或“T”、“F”或“Y”、“N”


另外還規(guī)定,流程線是從下往上或從右向左時,必須帶箭頭,除此以外,都不畫箭頭,流程線的走向總是從上向下或從左向右。

2. 算法的結(jié)構(gòu)化描述
    早期的非結(jié)構(gòu)化語言中都有g(shù)o to語句,它允許程序從一個地方直接跳轉(zhuǎn)到另一個地方去。
執(zhí)行這樣做的好處是程序設(shè)計十分方便靈活,減少了人工復(fù)雜度,但其缺點也是十分突出的,一大堆跳轉(zhuǎn)語句使得程序的流程十分復(fù)雜紊亂,難以看懂也難以驗證程序的正確性,如果有錯,排起錯來更是十分困難。這種轉(zhuǎn)來轉(zhuǎn)去的流程圖所表達的混亂與復(fù)雜,正是軟件危機中程序人員處境的一個生動寫照。而結(jié)構(gòu)化程序設(shè)計,就是要把這團亂麻理清。
經(jīng) 過研究,人們發(fā)現(xiàn),任何復(fù)雜的算法,都可以由順序結(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)部去。正因 為整個算法都是由三種基本結(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í)行順序為:A→B→C。
(2) 選擇(分支)結(jié)構(gòu)
這種結(jié)構(gòu)是對某個給定條件進行判斷,條件為真或假時分別執(zhí)行不同的框的內(nèi)容。其基本形狀有兩種,如圖1-5 a)、b)所示。圖1-5 a)的執(zhí)行序列為:當(dāng)條件為真時執(zhí)行A,否則執(zhí)行B;圖1 - 5 b)的執(zhí)行序列為:當(dāng)條件為真時執(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í)行序列為:當(dāng)條件為真時,反復(fù)執(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 - 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圖是另一種算法表示法,是由美國人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. 順序結(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 0
條件為真時執(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圖比流程圖更直觀易懂,而且相對簡練一些。

八,用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),當(dāng)I = I1時執(zhí)行A,I= I2時執(zhí)行B,I = I3時執(zhí)行C,I = I4時執(zhí)行D。

3. 循環(huán)結(jié)構(gòu)
如圖1 - 1 7所示。圖1-17 a)為while型循環(huán),圖1-17 b)為do - while型循環(huán)。

本章例1 . 1的PA D圖如圖1 - 1 8,例1 - 2的PA D圖如圖1 - 1 9


轉(zhuǎn)帖網(wǎng)址:http://yangxiufeng./

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多