- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
問題解決與流程圖高慧君 台北市立南港高中2006年12月22日什麼是演算法解決問題的方法就是演算法簡單的問題,我們可以憑直覺就解決例如:兩個數字相加對於熟悉算術的人來說,根本不是問題。十進位相加:126 + 56 = 182但對沒有學過數字及加法運算的人,就是一個問題。二進位相加:10012 + 11102 = 什麼是流程圖演算法的表達為了清晰地表達演算法,可以將解決問題的過程整理成流程圖。標準流程圖美國國家標準學會(ANSI)於1970年制定標準的流程圖符號,以利於流通與閱讀流程圖。常用的流程圖符號符號意義說明開始/結束流程圖的開始或結束位置。處理進行一項處理工作。流程線表示流程進行的方向。輸入/輸出進行資料的輸入或輸出工作。決策依條件比較結果進行不同的處理。迴圈表示迴圈變數初值與終值的描述連接連接點副程式表示一群程序步驟的組合。基本邏輯結構在解決問題的過程中,可以使用三種基本邏輯結構(1) 循序結構:在解題過程中,有些步驟是具有順序性的。(2) 選擇結構:能演繹出不同的方式,依決策擇一進行解題。(3) 重複結構:能歸納出重複的部份,依次數或決策重複執行某些步驟。循序結構例題:虛擬碼敘述1敘述 1敘述 2敘述 3敘述2敘述3選擇結構單向選擇結構虛擬碼條件不成立條件判斷If (條件判斷) then 敘述End if條件成立敘述選擇結構雙向選擇結構虛擬碼條件不成立條件判斷If (條件判斷) then 敘述 1Else 敘述 2End if條件成立敘述2敘述1重覆結構條件式:先行後測虛擬碼Do 敘述Loop While (條件判斷)敘述條件判斷條件成立條件不成立重覆結構條件式:先測後行虛擬碼條件不成立條件判斷Do While (條件判斷) 敘述Loop條件成立敘述重覆結構計次式虛擬碼次數判斷For 迴圈變數 = 初值 to 終值 敘述Next敘述重覆結構遞迴式開始虛擬碼Function (參數) If (終止條件判斷) 基本狀況 Else 遞迴步驟 End IfEnd Function條件成立 終止條件條件不成立 基本狀況遞迴步驟結束解題練習 (1)循序結構【類型】求平均值【問題】求國、英、數三科成績的平均值〔分析〕輸入:三科成績A, B, C 處理:平均值 = (A + B + C) / 3 輸出:平均值開始輸入A、B、C值平均值=(A+B+C) / 3輸出平均值結束解題練習 (1)解答解題練習 (2)循序結構【類型】單位換算【問題】將攝氏溫度轉為華氏溫度〔分析〕輸入:攝氏溫度 處理:華氏溫度= (攝氏溫度+32 ) * (9/5 ) 輸出:華氏溫度開始輸入攝氏溫度華氏溫度=(攝氏溫度 + 32 ) * ( 9 / 5 )輸出華氏溫度結束解題練習 (2)解答解題練習 (3)選擇結構【類型】判斷成績是否及格【問題】輸入成績換算為成績,並判斷是否及格。 作業(40%)、測驗(40%)、平時表現(20%)〔分析〕輸入:作業成績、測驗成績、平時表現成績 處理:學期=作業*0.4 +測驗*0.4 +平時表現* 0.2 判斷:學期≧60 則及格,學期<60 則不及格 輸出:學期成績是否及格開始輸入成績計算學期成績輸出成績條件不成立學期成績 60條件成立輸出及格輸出不及格結束解題練習 (3)解答解題練習 (4)重覆結構【類型】累加數字【問題】計算1+2+3+…+10的值〔分析〕輸入:無 處理:累加下一項 輸出:總和開始Sum = 0 For i = 1 to 10Sum = Sum + i輸出Sum結束解題練習 (4)解答開始N = 9N = 10N = 0N = 0條件成立 條件不成立 條件成立 條件不成立 S(9)N + S(8)Return 0N + S(9)Return 0結束解題練習 (4)解答(遞迴)解題練習 (5)重覆結構【類型】累加數字 【問題】計算1+2+…+N的值〔分析〕輸入:無 處理:累加下一項 輸出:總和開始輸入NSum = 0 For i = 1 to NSum = Sum + i輸出Sum結束解題練習 (5)解答開始N-1N(N-1) = 0N = 0條件成立 條件不成立 條件成立 條件不成立 S(N-1)(N-1) + S(N-2)Return 0N + S(N-1)Return 0結束解題練習 (5)解答(遞迴)解題練習 (6)重覆結構【類型】階乘數字 N!【問題】計算 1*2*…*N 的值〔分析〕輸入:N 處理:累乘下一項 輸出:總乘積開始輸入NMul = 1 For i = 1 to NMul = Mul * i輸出Mul結束解題練習 (6)解答開始N-1N(N-1) = 0N = 0條件成立 條件不成立 條件成立 條件不成立 S(N-1)(N-1) * M(N-2)Return 1N *
文档评论(0)