程式流程圖怎麼畫

  流程圖的使用圖形表示演算法的思路是一種極好的方法,因為千言萬語不如一張圖。程式流程圖的畫法是怎樣的。小編給大家整理了關於,希望你們喜歡!

  

  一、抓特徵

  組成任何一個程式框圖的三要素是“四框”、“一線”加“文字說明”,所以首先要抓住它們各自的特徵與意義.

  “四框”的特徵與意義:①終端框***起止框***的特徵是圓角矩形,表示演算法的開始和結束,是任何流程不可缺少的;②輸入、輸出框的特徵是平行四邊形,表示演算法中輸入和輸出的資訊,可放在任何需輸入、輸出的位置;③處理框***執行框***的特徵是方角矩形,表示賦值和計算等,演算法中要處理的資料或計算可分別寫在不同的處理框內;④判斷框的特徵是菱形,用在當演算法要求對兩個不同的結果進行判斷時.

  “一線”的特徵與意義:流程線的特徵是帶有方向箭頭的線,用以連線程式框,直觀地表示演算法的流程,任意兩個程式框之間都存在流程線.

  “文字”的特徵與意義:在框圖內加以說明的文字、算式等,也是每個框圖不可缺少的內容.

  二、明規則

  程式框圖的畫法規則是:①用標準,即使用標準的框圖符號;②按順序,即框圖一般從上到下、從左到右的順序畫;③看出入,即大多數程式框圖的圖形符號只有一個***和一個出口,判斷框是唯一具有超過一個出口的符號,條件結構中要在出口處標明“是”或“否”;④明迴圈,即迴圈結構要注意變數的初始值及迴圈終止條件;⑤辨流向,即流程線的箭頭表示執行的方向,不可缺少;⑥簡說明,即在圖形符號內的描述語言要簡練清晰.

  三、依步驟

  畫程式框圖的總體步驟是:第一步,先設計演算法,因為演算法的設計是畫程式框圖的基礎,所以在畫程式框圖前,首先寫出相應的演算法步驟,並分析演算法需要哪種基本邏輯結構***順序結構、條件結構、迴圈結構***;第二步,再把演算法步驟轉化為對應的程式框圖,在這種轉化過程中往往需要考慮很多細節,是一個將演算法“細化”的過程. 具體畫法步驟請看例題.

  例1 某商場進行優惠促銷:若購物金額x在500元以上,打8折;若購物金額x在300元以上,打9折;否則,不打折. 設計演算法的程式框圖,要求輸入購物金額x,即能輸出實際交款額.

  演算法分析:由題意,實際交款額y與購物金額x之間的函式關係是⎧x,x≤300⎪y=⎨0.9x, 300<x≤500⎪0.8x,x>500⎩,因為它需對x進行三次判斷,所以演算法含有兩個條件結構,寫出演算法步驟如下:第一步,輸入購物金額x.

  第二步,判斷x≤300嗎?若是,則y=x;否則,進入第三步. 第三步,判斷x≤500嗎?若是,則y=0.9x;否則,y=0.8x. 第四步,輸出y,結束演算法.

  畫法步驟:①畫順序結構圖,即起止框及輸入框,並用流程線連線***如圖①***;②畫條件結構圖,即畫判斷框並

  判斷x≤300?若是,則畫處理框並填入

  “y=x”,否則流向下一個判斷框***如圖

  ②***;③再畫條件結構圖,即畫判斷框並

  判斷x≤500?若是, 則畫處理框

  “y=0.9x”,否則畫處理框“y=0.8x”

  ***如圖③***;④畫一個總的輸出框並輸出

  y,以及起止框表示演算法結束***如圖④***.

  最後,合成整個演算法程式框圖如圖1.

  點評:畫程式框圖的關鍵是分析演算法步驟,因為程式框圖是演算法步驟的圖形表示,所以演算法步驟越明確畫圖就越容易;另外,如分段函式這種需要對條件進行判斷的演算法設計中,宜使用條件結構.

  例2 若1+3+5+ +n>2008,試設計演算法的程式框圖,尋找滿足條件的最小奇數n.

  演算法分析:因為涉及類加問題,所以演算法含有迴圈結構,寫出直到型

  迴圈結構的演算法步驟如下:

  第一步,令S=0,i=1.

  第二步,計算S=S+i,i=i+2.

  第三步,判斷S>2008嗎?若是,則輸出n-2,結束演算法;否則,返回第二步.

  畫法步驟:①畫順序結構圖,即起止框及兩個處理框,並分別填入迴圈初始條件***如圖①***;②畫迴圈結構圖,先畫迴圈體

  即兩個處理框***一個累加,一個計數***,再畫迴圈終

  止條件,即判斷框並判斷S>2008?若是,則輸出

  n-2,否則,流向迴圈體之前進行再迴圈***如圖②***;

  ③畫輸出框輸出n-2,以及起止框表示演算法結束***如

  圖③***.

  最後,合成整個演算法程式框圖如圖2.

  點評:迴圈結構必包含順序結構和條件結構,所以本題具有一定的典型性和示範性;如累加、類乘等需要反覆執行的演算法設計中,宜使用迴圈結構,這時要密切注意“迴圈體”、“迴圈變數”和“迴圈終止條件”三個重要組成部分的框圖設計.

  流程圖的相關符號

  資料流程圖資料流程圖表示求解某一問題的資料通路。同時規定了處理的主要階段和所用的各種資料媒體。

  資料流程圖包括:

  a. 指明資料存在的資料符號,這些資料符號也可指明該資料所使用的媒體;

  b. 指明對資料執行的處理的處理符號,這些符號也可指明該處理所用到的機器功能;

  c. 指明幾個處理和***或***資料媒體之間的資料流的流線符號;

  d. 便於讀.寫資料流程圖的特殊符號。

  在處理符號的前後都應是資料符號.資料流程圖以資料符號開始和結束***除9.4規定的特殊符號外***

  程式流程圖

  程式流程圖表示程式中的操作順序。

  程式流程圖包括:

  a. 指明實際處理操作的處理符號,它包括根據邏輯條件確定要執行的路徑的符號;

  b. 指明控制流的流線符號;

  c. 便於讀.寫程式流程圖的特殊符號。

  系統流程圖

  系統流程圖表示系統的操作控制和資料流。

  系統流程圖包括:

  a. 指明資料存在的資料符號,這些資料符號也可指明該資料所使用的媒體;

  b. 定義要執行的邏輯路徑以及指明對資料執行的操作的處理符號;

  c. 指明各處理和***或***資料媒體間資料流的流線符號;

  d. 便於讀.寫系統流程圖的特殊符號。

  程式網路圖

  程式網路圖表示程式啟用路徑和程式與相關資料的相互作用.在系統流程圖中,一個程式可能在

  多個控制流中出現;但在程式網路圖中,每個程式僅出現一次。

  程式網路圖包括;

  a. 指明資料存在的資料符號;

  b. 指明對資料執行的操作的處理符號;

  c. 表明各處理的啟用和處理與資料間流向的流線符號;

  d. 便於讀.寫程式網路圖的特殊符號。

  系統資源圖

  系統資源圖表示適合於一個問題或一組問題求解的資料單元和處理單元的配置。

  系統資源圖包括:

  a. 表明輸入.輸出或儲存裝置的資料符號;

  b. 表示處理器***如中央處理機.通道等***的處理符號;

  c. 表示資料裝置和處理器間的資料傳輸以及處理器之間的控制傳送的流線符號;

  d. 便於讀.寫系統資源圖的特殊符號。