1 / 40

第五章 迴 圈結構

第五章 迴 圈結構. 本章學習目標. 讓 讀者瞭解 迴圈 結構種類 、 語法 及適用時機。 說明 計數迴圈 與 條件式迴圈 的差異。. 本章內容. 5-1. 計數迴圈 5-2. for 迴圈 5-3 巢狀迴圈 for 的使用 5-4 條件迴圈 (Do/Loop) 5-5. while 迴圈 5-6 do/while 迴圈 5-7 break 與 continue 敘述. 前言 (1/3).

mia-paul
Télécharger la présentation

第五章 迴 圈結構

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 迴圈結構

  2. 本章學習目標 • 讓讀者瞭解迴圈結構種類、語法及適用時機。 • 說明計數迴圈與條件式迴圈的差異。

  3. 本章內容 5-1. 計數迴圈 5-2. for迴圈 5-3 巢狀迴圈for的使用 5-4 條件迴圈(Do/Loop) 5-5. while迴圈 5-6 do/while迴圈 5-7 break與continue敘述

  4. 前言 (1/3) • 日常生活中,有許多事都是具有重覆性,例如一天有 24 小時,一星期有七天,同一門課要上18 次才能拿到學分,一個大學學位可以要修132個學分才能拿到,諸如此類問題,如果只靠人工處理必定是一件非常煩工作。 • 因此可以利用程式設計來解決此類所面臨問題。一般而言,可把一再重複動作,全部交由電腦處理,因此驅使電腦做這樣事情的方式,就是迴圈(Loop),亦即讓某一段程式反覆執行多次的敘述,稱之為「迴圈結構」。 

  5. 前言 (2/3)

  6. 前言 (3/3)

  7. 5-1 計數迴圈(1/2) • 計數迴圈可以想像成一個「計數器」,你設定多少次,此迴圈就會執行多少次。在VC#2008中計數迴圈又可分為下列兩種: • for迴圈:是單層次的迴圈結構 • 使用時機:適用於「單一變數」的重覆變化。 • 典型例子:1+2+3+…+10

  8. 5-1 計數迴圈(2/2) (2)巢狀迴圈for 的使用:是多層次的迴圈結構 使用時機:適用於「兩個或兩個以上變數」的重覆變化。典型例子:九九乘法表

  9. 5-2 for迴圈(1/7)

  10. 5-2 for迴圈(2/7)

  11. 5-2 for迴圈(3/7)

  12. 5-2 for迴圈(4/7) • 【使用時機】已知程式執行次數固定且重覆時,使用此種迴圈最適合。 • 【流程圖】當程式執行「敘述一」之後,可重新執行「敘述二」,直到條件式不成立為止。如圖5-3所示:

  13. 5-2 for迴圈(5/7)

  14. 5-2 for迴圈(6/7)

  15. 5-2 for迴圈(7/7)

  16. 5-3 巢狀迴圈for的使用(1/6) • 定義:指迴圈內還有其他的迴圈,稱為巢狀迴圈(Nested Loop)。因為它像鳥巢一樣,是由一層層組合而成。

  17. 5-3 巢狀迴圈for的使用(2/6)

  18. 5-3 巢狀迴圈for的使用(3/6)

  19. 5-3 巢狀迴圈for的使用(4/6)

  20. 5-3 巢狀迴圈for的使用(5/6)

  21. 5-3 巢狀迴圈for的使用(6/6)

  22. 5-4 條件迴圈(Do/Loop) (1/3) • 如果不能預先知道迴圈次數的話,則必須要使用條件迴圈來解決。例如王媽媽第一天給小明10元,第二天給20元,第三天給30元,請問小明要儲存到5000元需要多少天?諸如此類題目,最好使用條件式迴圈比較容易處理,如果使用計數迴圈(For)來處理的話,將會增加程式複雜度。 一般而言,條件迴圈有下面兩種: • 前測試迴圈(先判斷再執行) • 後測試迴圈(先執行再判斷)

  23. 5-4 條件迴圈(Do/Loop) (2/3)

  24. 5-4 條件迴圈(Do/Loop) (3/3)

  25. 5-5 while迴圈(1/7) • 如果預先已知道了迴圈執行次數,使用for計數迴圈是一個很好選擇,但事實並非永遠如此。如果不能預先知道迴圈次數的話,使用while迴圈會是一個好選擇。while迴圈是屬於前測試迴圈,當條件式「成立(True)」時,則執行迴圈敘述。

  26. 5-5 while迴圈(2/7)

  27. 5-5 while迴圈(3/7)

  28. 5-5 while迴圈(4/7)

  29. 5-5 while迴圈(4/7) -1

  30. 5-5 while迴圈(5/7) • 雖然上面例子,似乎無法明顯看出while迴圈優點,但是有些時候使用for迴圈並不容易描述想做的事情,例如如果想要知道2的多少次方才會大於1,000,由於事先並不知道到底是多少,所以很難設定for迴圈之中的變數值,勉強去用也會顯得很累贅,但是如果改用while迴圈,就會變得很簡單: 實例1:求2的多少次方才會大於1,000呢?

  31. 5-5 while迴圈(6/7)

  32. 5-5 while迴圈(7/7)

  33. 5-6 do/while迴圈(1/3) • do/while是屬於後測試迴圈,當條件式「 成立(True)」時,則執行迴圈敘述。

  34. 5-6 do/while迴圈(2/3)

  35. 5-6 do/while迴圈(3/3)

  36. 5-7 break與continue敘述 • break與continue敘述主要是應用在for與while迴圈當中,其中break敘述的目的就是用來中斷程式的執行動作。而continue敘述則是用來繼續執行某一動作。

  37. 5-7.1 break敘述 (1/2) • break敘述會使程式強迫跳離迴圈,繼續執行迴圈外下一個敘述,若其出現在巢狀迴圈內,則跳離該層迴圈,而break敘述在for與while迴圈中的比較如下:

  38. 5-7.1 break敘述 (2/2) 此行執行不到

  39. 5-7.2 continue敘述(1/2) • continue則是強迫程式跳到迴圈的起頭,當遇到其敘述時,停止執行迴圈主體,而到迴圈的開始處繼續執行,而continue敘述在for與while迴圈中的比較如下:

  40. 5-7.2 continue敘述(2/2)

More Related