第五章 迴圈結構 授課老師:___________.

Slides:



Advertisements
Similar presentations
變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
Advertisements

.NET 程式設計入門 ( 使用 C#) 講師:鄧智鴻. Outline  流程控制 : 選擇判斷流程  流程控制 : 重覆流程  巢狀式迴圈.
第 7 章 流程控制 ─ 重複執行同一段程式.
Introduction to C Programming
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第四章 選擇結構.
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第4章 流程控制結構 4-1 結構化程式設計 4-2 程式區塊 4-3 簡單的條件控制敘述 4-4 巢狀條件敘述 4-5 多選一條件敘述
第8章 迴圈與訊息視窗 [利息計算程式和猜數字遊戲]
重複結構簡介.
第六章 重複結構 本投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載.
第 5 章 流程控制.
2015/Spring 跨平台行動程式進階應用 王派洲老師
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
條件判斷 授課:林哲嘉 日期:2009/3/4.
六、程式語言與邏輯 教學實例 --重複(迴圈)結構.
張智星 台大資工系 多媒體檢索實驗室 第二章 程式控制結構 張智星 台大資工系 多媒體檢索實驗室.
Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
Chapter 5 迴圈.
4-4 程式設計之邏輯結構.
JDK 安裝教學 (for Win7) Soochow University
SQL Stored Procedure SQL 預存程序.
第6章 迴圈結構 6-1 計數迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-4 While/End While迴圈 6-5 跳出與繼續迴圈
實作輔導 4 日期: 4/21(星期六) 13:10~16:00、13:10~16:00
Wavelet transform 指導教授:鄭仁亮 學生:曹雅婷.
Java 程式設計 講師:FrankLin.
第六章 迴 圈 結 構 課程名稱:程式設計 授課老師:李春雄 博士 各位同學大家好,我是李春雄老師,本學期所開設的課程名稱為「資料結構」,
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
Chap3 Linked List 鏈結串列.
第二次電腦實習課 說明者:吳東陽 2003/10/07.
義守大學電機工程學系 陳慶瀚 第4章 VHDL Sequential語法 義守大學電機工程學系 陳慶瀚
----直線運動 應用力學by志伯 ----直線運動
第4章 PHP流程控制语句.
小學數學科 二年級課程 — 統計圖 製作 — 麥頌儀老師 (青山天主教小學上午校).
數學 近似值 有效數值.
How to use Edmodo Alice Lin 8-12th Grade Valencia High School
Visual Basic 程序设计教程.
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
第 03 章 流程控制 3.1 流程控制的運算式 3.2 選擇結構 3.3 迴圈結構 3.4 實例.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
期末考.
程式邏輯結構 Chapter 6 認知 認識何謂流程圖及流程圖各種符號的意義。
第 5 章 流程控制.
實作輔導 本周5/5(六)安排實作輔導 二時段: 周六 11:00~12:30 周六13:30~15:30.
小學數學科 方塊圖 製作 — 麥頌儀老師 (青山天主教小學上午校).
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
例題 1. 多項式的排列 1-2 多項式及其加減法 將多項式 按下列方式排列: (1) 降冪排列:______________________ (2) 升冪排列:______________________ 排列 降冪:次數由高至低 升冪;次數由低至高.
1-1 二元一次式運算.
中國語文科教學簡報 中一中文科 理清篇章層次簡述及舉例.
期末報告第一題 通訊四甲 B 湯智瑋.
第一章 直角坐標系 1-3 函數及其圖形.
陣列與迴圈.
程式語言與邏輯 結構化程式設計:迴圈控制 報告人:國立台灣師大附中 李啟龍 老師 學年度資訊科技概論研習.
迴圈(重複性結構) for while do while.
適用於多選一 可減少if 與 else配對混淆的錯誤.
10791: Minimum Sum LCM ★★★☆☆ 題組:Problem Set Archive with Online Judge
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
C/C++基礎程式設計班 控制敘述 講師:林業峻 CSIE, NTU 3/7, 2015.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
解下列各一元二次方程式: (1)(x+1)2=81 x+1=9 或 x+1=-9 x=8 或 x=-10 (2)(x-5)2+3=0
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
以下是一元一次方程式的有________________________________。
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

第五章 迴圈結構 授課老師:___________

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

本章內容 5-1. 計數迴圈 5-2. for迴圈 5-3 巢狀迴圈for的使用 5-4 條件迴圈(Do/Loop) 5-5 while迴圈 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) 在我們的日常生活中,有許多事都是具有重覆性的, 例如一天有 24 小時, 一星期有七天,同一門課要上18 次才能拿到學分,一個大學學位可以要修132個學分才能拿到。或每一位學生每一月考要考五科,一學期要考三次月考,諸如此類的問題,如果只靠人工處理必定是一件非常煩的工作。因此,我們可以利用「迴圈結構」來解決此類所面臨的問題。

前言 (2/3)

前言 (3/3) 重要概念: 如果想要列印全班50位同學的座位表時,如果利用循序結構,就比較沒有效率。如5-2圖所示: 一般迴圈結構可分為兩種:計數迴圈與條件迴圈。

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

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

5-2 for迴圈(1/7)

5-2 for迴圈(2/7)

5-2 for迴圈(3/7)

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

5-2 for迴圈(5/7)

5-2 for迴圈(6/7)

5-2 for迴圈(7/7)

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

5-3 巢狀迴圈for的使用(2/6) 【說明】 當外迴圈的計數變數1值增加一次時,則內迴圈必須Run一回合,也就是說,計數變數2必須從「初值」執行到「終值條件」結束。 基本上,常見的巢狀迴圈有下列三種不同的變化:

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

5-3 巢狀迴圈for的使用(4/6) 【解析】 上述的九九乘法表共有內外兩層迴圈,當外迴圈「i變數」變動1次時,則內迴圈則要執行9次,所以,當外迴圈「i變數」由1~9時,內迴圈要執行81次。其執行過程如下所示:

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

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

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

5-4 條件迴圈(Do/Loop) (2/3) (1)前測試迴圈(先判斷再執行)  執行前先檢查是否符合條件式,若符合則執行迴圈,不符合則跳出迴圈。也 就是所謂的「先判斷條件式再執行迴圈」。 【語法】

5-4 條件迴圈(Do/Loop) (3/3) (2)後測試迴圈(先執行再判斷) 會先執行迴圈一次之後,再執行條件式判斷,不符合則跳出迴圈,但至少會執行一次迴圈。也就是所謂的「先執行迴圈再判斷條件式」。 【語法】 【注意】 後測試迴圈的while(條件式)後面必須要加上分號(;),而前測試迴圈的while則不需要。

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

5-5 while迴圈(2/7)

5-5 while迴圈(3/7)

5-5 while迴圈(4/7) 【比較說明】for迴圈 與 while迴圈之比較 使用for迴圈 2. 使用while迴圈 說明:執行次數固定且重覆 說明:重覆但是執行次數無法確定的情況

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

5-5 while迴圈(6/7)

5-5 while迴圈(7/7) 牛刀小試1: 假如王媽媽第一天給小明1元,第二天給2元,請問到第幾天才能超過1000元。 【解答】

5-6 do/while迴圈(1/3) do/while是屬於後測試迴圈,當條件式「 成立(True)」時,則執行迴圈敘述。 【語法】 【說明】當條件式為「不成立(False)」時,跳出迴圈。此迴圈會先執行迴圈一次之後,再執行條件式判斷,不符合則跳出迴圈,但至少會執行一次迴圈。也就是所謂的「先執行迴圈再判斷條件式」。 【注意】 後測試迴圈的while(條件式)後面必須要加上分號(;),而前測試迴圈的while則不需要。

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

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

5-7 break與continue敘述 break與continue敘述主要是應用在for與while迴圈當中,其中:

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

5-7.1 break敘述 (2/2) 【實例1】1+2+3+…+10的程式中加入break敘述的情況如下: 說明: 當程式執行到行號50時,遇到break敘述,則直接跳出迴圈,再執行迴圈外的行號80敘述。所以,本程式的conut的值為0(代表沒有被執行到)。

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

5-7.2 continue敘述(2/2) 【實例1】1+2+3+…+10的程式中加入continue敘述的情況如下: 說明: 說明:當程式執行到行號50時,遇到continue敘述,則繼續執行迴圈內的行號40敘述。所以,本程式的conut的值為0(代表沒有被執行到)。