第四章 選擇結構.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

Introduction to C Programming
第5章 決策敘述 if if…else switch…case 綜合範例
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第4章 流程控制結構 4-1 結構化程式設計 4-2 程式區塊 4-3 簡單的條件控制敘述 4-4 巢狀條件敘述 4-5 多選一條件敘述
重複結構簡介.
第 5 章 流程控制 (一): 條件分支.
第 5 章 流程控制.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
資料結構使用Java 第1章 資料結構與Java程式複習.
選擇 運算式 邏輯運算 if指令 流程圖基本觀念 程式註解 巢狀if指令 switch指令.
張智星 台大資工系 多媒體檢索實驗室 第二章 程式控制結構 張智星 台大資工系 多媒體檢索實驗室.
Chapter 5 迴圈.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
程式語言 -Visual Basic 條件結構.
Visual C++ introduction
2-3 基本數位邏輯處理※.
JAVA程式語言入門(I) 授課教師:王大瑾
第八章 利用SELECT查詢資料.
第四章 流程控制(一) if,if-else 與 switch
保留字與識別字.
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
流程控制 大綱 傳遞參數給main()方法 流程控制的用途與種類 if判斷敘述 switch 判斷敘述.
生物資訊程式語言應用 Part 3 Perl Language.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 11 章 條件判斷敘述.
金融資訊管理 運算子與條件分支.
SQL語法.
檔案與磁碟的基本介紹.
Introduction to the C Programming Language
Java 程式設計 講師:FrankLin.
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
Instructor:Po-Yu Kuo 教師:郭柏佑
Python 基本介紹.
第一單元 建立java 程式.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
數學 近似值 有效數值.
金融資訊管理 運算子與條件分支.
JAVA 程式設計 資訊管理系 - 網路組.
第 03 章 流程控制 3.1 流程控制的運算式 3.2 選擇結構 3.3 迴圈結構 3.4 實例.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
Introduction to C Programming
CH05. 選擇敘述.
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
程式邏輯結構 Chapter 6 認知 認識何謂流程圖及流程圖各種符號的意義。
第 5 章 流程控制.
如何使用Gene Ontology 網址:
算獨教學 范國祥製作 於新湖國小 算獨資料來源
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
例題 1. 多項式的排列 1-2 多項式及其加減法 將多項式 按下列方式排列: (1) 降冪排列:______________________ (2) 升冪排列:______________________ 排列 降冪:次數由高至低 升冪;次數由低至高.
1-1 二元一次式運算.
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
適用於多選一 可減少if 與 else配對混淆的錯誤.
多重條件選擇敘述
10791: Minimum Sum LCM ★★★☆☆ 題組:Problem Set Archive with Online Judge
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
C/C++基礎程式設計班 控制敘述 講師:林業峻 CSIE, NTU 3/7, 2015.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
Chapter 4 Multi-Threads (多執行緒).
以下是一元一次方程式的有________________________________。
方法(Method) 函數.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

第四章 選擇結構

本章學習目標 讓讀者瞭解循序結構與選擇結構之不同。 讓讀者瞭解選擇結構之種類、語法及適用時機。

本章內容 4-1 單一選擇結構(if) 4-2 雙重選擇結構 4-3 條件運算子結構 4-4 多重選擇結構 4-5. 巢狀選擇結構

前言 在學會「循序結構」之後,是否發現程式都是由上而下,逐一執行,但是當在撰寫程式時,如果希望在某種條件成立時才執行某些敘述,而某種條件不成立才執行另一種敘述,來過濾一些條件。那就必須要使用「選擇結構」的方式了 。

本章重點提示

4-1 單一選擇結構(if) (1/9) if的中文意思就是「如果…就…」。在單一選擇結構中,只會執行條件成立時的敘述。一般而言,又可以依照敘述行數區分為兩種: (一) 單行敘述 (二) 多行敘述

4-1 單一選擇結構(if) (2/9) (一)單行敘述: 指當條件式成立之後,所要執行的敘述式只有一行稱之。 其中 (條件式) 是一關係運算式 或 邏輯運算式

4-1 單一選擇結構(if) (3/9) 【注意】單行敘述可省略上下兩個大括號。 【說明】 如果「條件式」成立(True),就執行後面的「敘述」。 如果「條件式」不成立(False),就跳過不執行。若if條件成立時,希望執行的敘述不只有一行時,請用{ }括起來。若只有一行,則可以省略。 【使用時機】當條件式成立之後,所要執行的敘述式只有一行。

4-1 單一選擇結構(if) (4/9)

4-1 單一選擇結構(if) (5/9)

4-1 單一選擇結構(if) (6/9) (二)多行敘述: 指當條件式成立之後,所要執行的敘述式超過一行以上則稱之。 其中 (條件式) 是一關係運算式或邏輯運算式

4-1 單一選擇結構(if) (7/9) 【注意】多行敘述不可以省略上下兩個大括號。 【說明】 如果「條件式」成立,就執行後面的「多行敘述」。 若if條件式成立時,希望執行的敘述不只有一行時,請用{ }括起來。 【使用時機】當條件式成立之後,所要執行的敘述式是多行。

4-1 單一選擇結構(if) (8/9)

4-1 單一選擇結構(if) (9/9)

4-2 雙重選擇結構 (1/10) 此種結構是最常被使用的方式,因為大部份選擇結構的情況可能兩種。例如:判斷及格與不及格、判斷奇數與偶數、判斷男生與女生…等情況,都可以利用此種結構來完成。 其中(條件式)  是一關係運算式 或 邏輯運算式

4-2 雙重選擇結構(2/10) 【說明】如果「條件式」成立(真),就執行後面的「敘述區塊1」,否則就執行「敘述區塊2」。 4-2 雙重選擇結構(2/10) 【說明】如果「條件式」成立(真),就執行後面的「敘述區塊1」,否則就執行「敘述區塊2」。 【注意】當「敘述區塊」內的敘述只有一行時,則可以省略左右大括號。 【使用時機】當條件只有二種情況。

4-2 雙重選擇結構(3/10)

4-2 雙重選擇結構(4/10)

4-2 雙重選擇結構(5/10) 牛刀小試1:參考第三章的循序結構例子。請再增加一個功能,即利用「平均成績」來判斷「是否及格」。如圖4-4所示:

4-2 雙重選擇結構(6/10)

4-2 雙重選擇結構(7/10) 牛刀小試2:利用InputBox輸入身高,如果身高為大於180公分,則顯示「哇!好高丫」,否則顯示「這才比較正常」。

4-2 雙重選擇結構(8/10) 牛刀小試3: 如果A為偶數,則顯示「A為偶數」,否則顯示「A為奇數」。

4-2 雙重選擇結構(9/10) 牛刀小試4:請將下列求絕對值的流程圖,撰寫成程式碼。

4-2 雙重選擇結構(10/10)

4-3 條件運算子結構(1/4) 條件運算子結構就是由三個運算子(=?:)組合而成的選擇結構。其功能與雙重選擇結構相同,都是使用在選擇結構的情況只有兩種。因此條件運算子結構也可以取代if/else的功能。

4-3 條件運算子結構(2/4)

4-3 條件運算子結構(3/4)

4-3 條件運算子結構(4/4)

4-4 多重選擇結構 在日常生活中,所面臨決策可能不只一種情況,也有可能兩種情況,甚至兩種以上不同情況。在前面已經介紹過兩種情況的結構,但如果所面對的情況有兩種以上時,則必須要使用多重選擇結構。常見的有兩種結構: 逐一比對結構if/else if/else 逐一比對結構switch/case

4-4.1 逐一比對結構if/else if/else (1/5) 此種結構是雙重結構的改良版,它可以使用於多種選擇情況。

4-4.1 逐一比對結構if/else if/else (2/5) 【說明】 如果「條件式1」不成立,就繼續往下判斷「條件式2」,依樣畫葫蘆的判斷下去,直到所有條件式判斷完為止,否則就執行「敘述區塊n+1」。 【使用時機】當條件式有兩種以上時。

4-4.1 逐一比對結構if/else if/else (3/5)

4-4.1 逐一比對結構if/else if/else (4/5)

4-4.1 逐一比對結構if/else if/else (5/5)

4-4.2 逐一比對結構switch/case (1/6) if/else if/else與switch/case結構具有相同功能,但如果條件很多時,使用if/else if/else結構就很容易混亂了。 因此當程式中的條件式(Condition)超過兩個以上時,最好使用switch/case結構,它可以使程式較為精簡且可讀性較高。

4-4.2 逐一比對結構switch/case (2/6)

4-4.2 逐一比對結構switch/case (3/6) 【說明1】 當(運算式)的值,符合常數1時,則執行敘述區塊1,符合常數2時,則執行敘述區塊2,直到遇到break敘述,才會離開switch,如果所有的條件式都不能符合時,則會執行敘述區塊N+1。 【說明2】 switch後面的運算式可以是整數或字串資料。並且case後面的常數可以是整數或字串資料。

4-4.2 逐一比對結構switch/case (4/6)

4-4.2 逐一比對結構switch/case (5/6) 計算兩科成績平均,並且依平均成績來分等第條件: 60分以下為:E等 60~69分為:D等 70~79分為:C等 80~89分為:B等 90(含)分以上為:A等

4-4.2 逐一比對結構switch/case (6/6) 牛刀小試1:製作一個電影分級制的程式條件: 0~5歲為:普通級 6~11歲為:保護級 12~17歲為:輔導級 18歲以上為:限制級 請利用if/else if/else與switch/case結構來比較不同的撰寫方式

4-5 巢狀選擇結構(1/5) 指在if外層結構中,又有一個或多個if的內層結構,則形成了巢狀判斷式結構稱之。

4-5 巢狀選擇結構(2/5) 【說明】當外層的條件式1成立時,才能執行內層的條件式2,也因為由外層至內層的多種判斷結構,形成一種巢狀現象,故稱為巢狀結構。 但由於使用巢狀結構撰寫程式時,看起來程式變得比較複雜,不易除錯,所以在寫程式時一定要養成「外層結構與內層結構的開頭(if (條件式),必須要有層次的排列」。

4-5 巢狀選擇結構(3/5)

4-5 巢狀選擇結構(4/5)

4-5 巢狀選擇結構(5/5) 牛刀小試:利用巢狀if來完成下面的條件: 0~59分為:不及格 60~89分為:及格 4-5 巢狀選擇結構(5/5) 牛刀小試:利用巢狀if來完成下面的條件: 0~59分為:不及格 60~89分為:及格 90(含)以上為:優等生