- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重复结构
演算法的三種基本結構 在進行問題解決時,通常會對於所要解決的問題進行分析,並依據問題的類型與特性,設計不同的解題方法與步驟,形成解決問題的演算法。 幾乎所有的演算法都可以用下列三種基本結構組合而成: 循序結構(Sequential) 選擇結構(Selection) 重複結構(Iteration) 為什麼要有重複結構? 日常生活中每天都有許多「不斷重複」的事件在進行,例如早上起床、刷牙洗臉、換衣服、吃早餐、上學…等,都是每天必須重複經歷的事。在解題歷程中,同樣有許多不斷重複的程式敘述,此時便可用「重複結構」來簡化程式,並提供無法事先預測需重複次數的解決方案。 重複結構的運作方式 重複結構就如同學校的跑道一般,從司令台前開始起跑,跑了一圈後會回到司令台前,此時可以選擇要不要繼續下一圈的跑步。 重複結構是一個可以讓程式敘述重複執行的結構,配合在每一圈開頭或結尾設置的條件判斷式,決定重複的程式敘述是否繼續執行。 重複結構的運作方式 舉例來說,若要完成「在考取理想大學校系前,不斷的重複進行讀書、模擬考試、檢討的循環」,我們可以先以循序結構表示如下: 讀書 考試 檢討 讀書 考試 檢討 讀書 考試 檢討 …… 重複結構的運作方式 由於無法確定要完成多少的循環才能考取理想的校系,所以我們並無法以單純的循序結構來完成,此時我們可用重複結構來達成: 讀書 考試 檢討 前測式重複結構:先行後測 執行重複程式區塊前先進行條件式判斷 後測式重複結構:先測後行 先執行完重複程式區塊後再進行條件式判斷 兩種重複結構的差別 若「前測式重複結構」一開始就發現條件判斷式為否(false),那麼接下來的程式區塊內容一次也不會執行。 「後測式重複結構」是先執行程式區塊,再進行條件判斷,所以即使條件判斷式為否(false),仍然至少會執行一次程式區塊的內容。 巢狀重複結構 如果在重複結構的敘述區塊中,又有重複結構,即形成「巢狀重複結構」。 巢狀重複結構在執行時,都會依照一定流程進行,但有時因為特殊原因,必須變更執行的流程,通常會有「中斷(break)」和「繼續(continue)」兩種指令敘述,並搭配選擇結構來完成。 巢狀重複結構 break的運作方式 「中斷(break)」指令敘述用來強制跳出重複結構。 巢狀重複結構 continue的運作方式 「繼續(continue)」指令敘述是讓目前執行中的重複結構不往下執行,而是跳到重複結構的開頭,繼續執行下一個循環。 演算法基本元件組合-重複結構 電腦與問題解決-演算法概論-演算法基本元件組合 重複結構簡介 基本結構介紹 依一定的順序,由上而下,一個敘述接著一個敘述依序執行。 程式中某一敘述區段需要反覆執行,直到符合或不符合時,才離開重複執行的部份。 循序結構(Sequence structure) 依條件判斷的結果改變程式執行的順序。 演算法結構 選擇結構(Selection structure) 重複結構(Iteration structure) 循環一 循環二 循環三 尚未考取理想校系? 讀書 是 否 考試 檢討 快樂享受大學生活 重複結構的三種類型 重複結構 條件式重複結構 計次式重複結構 遞迴式重複結構 條件判斷式 敘述一 是 否 敘述二 敘述三 重複結構外敘述 條件判斷式 敘述一 是 否 敘述二 敘述三 重複結構外敘述 條件判斷式一 敘述一 是 否 敘述三 重複結構外敘述 條件判斷式二 敘述一 敘述二 是 否 直接跳出重複結構 條件判斷式 敘述一 是 否 中斷 敘述三 重複結構外敘述 直接跳到重複結構的開頭 條件判斷式 敘述一 是 否 繼續 敘述三 重複結構外敘述
原创力文档


文档评论(0)