一、流程圖的意義
(一)流程圖的意義:
流程圖(Flowchart)是將解決問題的順序、步驟,用特定的圖形、符號表達出來。「一圖勝過千言萬語」,看圖會意往往能收事半功倍之效。
(二)流程圖的表達符號:
流程圖是使用圖形符號來表示解決問題的步驟和程序。由美國國家標準協會 (American Natoional StanderdsInstityte,ANSI)制訂的統一標準,每一種符號表示一個特定作業。流程圖可以清楚地顯示程式的邏輯架構,很容易便能找出邏輯錯誤,有助於程式的維護與修改。
二、流程圖表示的三大結構: (循序、判斷、重複)
(一)循序結構:
程式執行時,由上而下,一個敘述接一個敘述依序執行著,此種結構稱為「循序結構」,它是程式中最基本且最簡單的結構。
◎問題 - 加10和20
◎思考:
1.設定一個總和變數(sum)為0。
2.輸入:兩個數字10和20。
3.將兩個數字相加,並將結果保存在sum變數中。
4.列印變數中的值。
◎演算法:
步驟一:初始化sum = 0(PROCESS)
步驟二:輸入數字(I / O)
步驟三:相加並存儲總和(PROCESS)
步驟四:列印總和(I / O)
◎練習一: 計算面積
◎演算法 :
步驟1:設定 w=0、area=0
(area是面積、w是邊長)。
步驟2:輸入 正方形的邊長w。
步驟3:計算 正方形的面積area= w * w 。
步驟4:輸出 正方形面積(area)之值。
步驟5:程式結束。
(二)選擇結構:
程式執行時,依據條件測試的結果來決定程式執行的路徑,此種結構稱為「選擇結構」。
一般可分為下列三種結構:
1.單一選擇結構(如圖1) (阿志買麵包問題)
2.雙向選擇結構(如圖2) (奇、偶數問題)
3.多重選擇結構(如圖3)。 (選擇題問題)
◎範例題 - 判斷成績
◎思考:
1.輸入一學生成績
2.判斷若成績在60分以上
3.輸出「及格」,反之「不及格」
◎演算法:
步驟一:初始化 成績test=0(PROCESS)
步驟二:輸入成績(I / O)
步驟三:判斷 是否 >= 60(DECISION)
步驟四:列印結果(I / O)
是,則印出「及格」;否,則印出「不及格」
◎練習二(1): 判斷奇、偶數
輸入一正整數 n ,判斷為奇數或偶數
◎演算法 :
步驟1:初始化 設定 n=0、 rem=0。
步驟2:輸入 請 輸入 = n 。
步驟3:計算 處理數值 ( n/2的餘數 = rem )。
步驟4:判斷 rem = 0
步驟5:輸出
(1)是--> n 為 偶數
(2)否--> n 為 奇數
步驟5:程式結束。
◎練習二(2): 學生補考問題
學生成績,若低於50分,則「重修」;50~60分之間,則「補考」;60分以上則「及格」
◎演算法 :
步驟1:初始化 設定 score=0。
步驟2:輸入 請 輸入 = score 。
步驟3:判斷 score >= 60
(1)是--> 輸出 及格 -->至 步驟5
(2)否--> 至 步驟4
步驟4:判斷 score >= 50
(1)是--> 輸出 補考 -->至 步驟5
(2)是--> 輸出 重修 -->至 步驟5
步驟5:程式結束。