流程图表示法
(2)工作結束。
95.12.22
95學年度資訊科技概論研習
15
開始
實際演練 輸數入N整(3/3)
I >= N 嗎?
是
否 Sum=Sum+I I=I+1
Sum=Sum+N
印出加 總Sum
結束
95.12.22
95學年度資訊科技概論研習
16
回顧與討論
❖ 本節重點掃描
問題的表示有三種狀態的描述,包括:初始狀態、中間 狀態和目標狀態。
95.12.22
95學年度資訊科技概論研習
2
何謂問題
❖ 自古至今,人類的世界便存在著各種問題, 人類就是因為具備解決問題的精神與行動, 不斷克服問題,才造成人類文明的不斷進步。
❖ 一般而言,所謂「問題」是指,解題者無法 以原有的知識或經驗,立即加以克服的障礙。
95.12.22
95學年度資訊科技概論研習
95.12.22
95學年度資訊科技概論研習
14
實際演練(2/3)
第二步:處理資料
(1)將原來的Sum加上I,然後存入新的Sum,即
Sum=Sum+I。
(2)將加數I加1,即I=I+1 。
(3)判斷I是否大於N值,若是,則跳至輸出結果, 否則,回到處理資料的“第一步”繼續處理。
第三步:輸出結果
(1)將運算結果Sum,依規定格式輸出到螢幕上。
95.12.22
95學年度資訊科技概論研習
13
實際演練(1/3)
❖ 寫出1+2+3+...+N之演算法則 ❖ 文字描述法之參考解答:
第一步:輸入資料 (1)設和之變數名稱為Sum,並定其初始值為0,即
Sum=0。 (2)設加數之變數名稱為I,並定其初始值為1,即
I=1。 (3)由鍵盤輸入加數的終值為N,且N值大於等於1。
3
問題解決
❖ Zidane’s Head ❖ Zidane Problem Solving
95.12.22
95學年度資訊科技概論研習
4
問題的表示(1/3)
❖ 問題的初始狀態(Initial state):此狀態為問題 的初始狀態,包括對問題的定義與一些特定 條件或對象的描述。
❖ 問題的中間狀態(Intermediate state):此狀態 為解決該問題的各種可能方法,也就是描述 解決該問題的可能路徑。
❖ 問題的目標狀態(Goal state):此狀態為預期 解決問題後的結果,也就是達到問題解決後 的狀態。
95.12.22
95學年度資訊科技概論研習
5
問題的表示(2/3)
❖ 問題的表示對於不同的解題者而言,由於各 個解題者的能力不同,因此有不同的問題表 示狀況。
❖ 以上三種問題表示狀態的描述,如果應用在 程式設計過程中,可以將初始狀態視為輸入 資料,目標狀態視為輸出結果,中間狀態視 為為達到目標結果的各段程式碼或演算法。
❖ 由於程式的解法並不唯一,所以繪製出來的 流程圖也並不是只有一種解決方案,它通常 會因人而異,不同的解決邏輯將產生不同的 流程圖。
95.12.22
95學年度資訊科技概論研習
11
演算法的表示方法(1/2)
❖ 通常對於演算法的表示方法,以文字描述法 及流程圖表示法,兩種較為常用,相關說明 如下。
文字描述法:以文字描述的方式,將問題的初 始狀態、中間狀態和目標狀態做一個表達與陳 述,稱之為文字描述法。任何問題的演算法, 大致上可以分割為三個部分,包括:(1)輸入資 料 (2)處理資料 (3)輸出結果。
95.12.22
95學年度資訊科技概論研習
6
問題的表示(3/3)
❖ 問題的表示狀態圖
初始狀態 解題者對問題的 定義
中間狀態
各種可能的解決 方法
目標狀態 解題者預期的理 想狀態
95.12.22
95學年度資訊科技概論研習
7
問題的分析
❖ 所謂「問題的解決」,就需要經過一些步驟,加 以分析或推理,以求得答案。
❖ 在這個問題求解的過程中,最好能夠以有系統的 邏輯思考或推理方式進行,並且妥善使用分析工 具,來求得解答,最好不要以不斷嘗試錯誤法, 以求得問題的解決。
❖ 在資訊科學的世界中,我們經常會使用演算法 (algorithm)來表達問題的處理步驟。好的演算法, 會讓問題以很有效率的方式,獲得解決;不好的 演算法,會讓電腦耗費更多的時間進行運算。
有限性:需避免形成無窮迴圈,演算法在設計時,必須 在有限的步驟內解決。
明確性:指令22
95學年度資訊科技概論研習
9
流程圖符號介紹(1/2)
❖ 所謂流程圖(flow chart)就是利用各種被 賦予意義的圖形,包括方塊圖形、線條 或箭頭等符號,來表達問題的解決步驟 與程式進行的順序。
李啟龍的自我介紹
❖ 學歷:
國立台灣師範大學資訊教育研究所畢業 國立交通大學經營管理研究所畢業 國立政治大學圖書館學分班畢業 國立台灣大學資訊網路與多媒體研究所
博士班
❖ 經歷:
師大附中教學組長 師大附中圖書館主任 師大附中資訊中心主任
95.12.22
95學年度資訊科技概論研習
1
大綱
❖ 何謂問題 ❖ 問題的表示 ❖ 問題的分析 ❖ 演算法特性介紹 ❖ 流程圖符號介紹 ❖ 演算法的表示方法 ❖ 實際演練 ❖ 回顧與討論
95.12.22
95學年度資訊科技概論研習
12
演算法的表示方法(2/2)
流程圖表示法:對於演算法的表示法,流程圖表 示法是最常使用的方式。在進行較複雜的程式設 計時,往往會藉由繪製流程圖,來輔助程式的設 計。藉由流程圖的繪製,可以讓程式設計者更清 楚地掌握程式的運作流程,並且對於程式的邏輯 思考架構,有更深刻的瞭解。
端點:表示程序的起始點或終止點。 程序:代表一個程式區塊,具備執行特定工
作的能力。 決策:依條件式內容來進行條件判斷,以決
定程序的下一條路徑。 程序路徑:用來表示程式的執行方向,具有
方向性。 輸入輸出:用於表示資料的取得或檔案的存
取。
95.12.22
95學年度資訊科技概論研習
10
流程圖符號介紹(2/2)
95.12.22
95學年度資訊科技概論研習
8
演算法特性介紹
❖ 演算法具備幾個特性,我們可以根據這些特性,
來檢查所設計的演算法,是否符合演算法定義與 是否完整。
❖ 演算法的特性如下所述:
輸入:由外界輸入單一或多項資料。 輸出:至少有一個或多個結果輸出。
有效性:演算法需具備可行性,每一個程序步驟必須與 原本推演出來的結果相符。