第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.

Slides:



Advertisements
Similar presentations
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
Advertisements

第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
3Com Switch 4500 切VLAN教學.
小綠人行人用交通號誌燈 指導教授:黃朝章 學生:951408陳宜歆 徐祐祥.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
南投縣社區大學 Excel 實務應用入門 講師 : 林泉成
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 貳 研究設計.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出與繼續迴圈 6-5 跳出與繼續迴圈 6-6 錯誤處理 6-6 錯誤處理.
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
Chapter 3 Entropy : An Additional Balance Equation
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
: Problem E Antimatter Ray Clearcutting ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11008: Problem E Antimatter Ray Clearcutting 解題者:林王智瑞.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
: Wine trading in Gergovia ★★☆☆☆ 題組: Contest Volumes with Online Judge 題號: 11054: Wine trading in Gergovia 解題者:劉洙愷 解題日期: 2008 年 2 月 29 日 題意:在 Gergovia.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
Microsoft Excel.
第8章 字串與陣列 8-1一維陣列的處理 8-2 字串處理 8-3 多維陣列的處理 8-4 動態陣列與參數傳遞 8-5 陣列排序與搜尋.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
幼兒行為觀察與記錄 第八章 事件取樣法.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷
Presentation transcript:

第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述

5-1 結構化程式設計 結構化程式設計 結構化程式設計 流程控制的基礎 流程控制的基礎

5-1-1 結構化程式設計 - 說明 結構化程式設計是一種軟體開發方法,它是用來 組織和撰寫程式碼的技術,使用由上而下的設計 方法來分析問題,將程式分解成階層架構的「模 組」( Module )。 結構化程式設計是一種軟體開發方法,它是用來 組織和撰寫程式碼的技術,使用由上而下的設計 方法來分析問題,將程式分解成階層架構的「模 組」( Module )。 每個模組是一段擁有獨立功能的程式碼,而且只 有單一的進入點和離開點,各模組間使用三種流 程控制:循序結構( Sequential )、選擇結構 ( Selection )和重複結構( Iteration )來整合。 每個模組是一段擁有獨立功能的程式碼,而且只 有單一的進入點和離開點,各模組間使用三種流 程控制:循序結構( Sequential )、選擇結構 ( Selection )和重複結構( Iteration )來整合。 結構化程式設計的主要觀念有三項,如下所示: 結構化程式設計的主要觀念有三項,如下所示: 由上而下設計方法。 由上而下設計方法。 流程控制結構。 流程控制結構。 模組。 模組。

5-1-1 結構化程式設計 - 由上而下 設計方法 由上而下設計方法是面對問題時,先將整 個問題分解成數個獨立功能的大模組,再 對於這每一個大模組,一一分割成數個小 模組,位在下層的模組並不會跳到上層模 組,如此一直往下細分。 由上而下設計方法是面對問題時,先將整 個問題分解成數個獨立功能的大模組,再 對於這每一個大模組,一一分割成數個小 模組,位在下層的模組並不會跳到上層模 組,如此一直往下細分。 等這些細分的小問題被一一解決且測試完 成後,再將它們整合起來,如此一層層向 上來完成整個程式設計。 等這些細分的小問題被一一解決且測試完 成後,再將它們整合起來,如此一層層向 上來完成整個程式設計。

5-1-2 流程控制的基礎 - 說明 程式語言撰寫的程式碼大部分是一列指令 接著一列指令循序的執行,但是對於複雜 的工作,為了達成預期的執行結果,我需 要使用「流程控制結構」( Control Structures )來改變執行順序。 程式語言撰寫的程式碼大部分是一列指令 接著一列指令循序的執行,但是對於複雜 的工作,為了達成預期的執行結果,我需 要使用「流程控制結構」( Control Structures )來改變執行順序。

5-1-2 流程控制的基礎 - 循序結構 循序結構是程式預設的執行方式,也就是 一個敘述接著一個敘述依序的執行,如下 圖所示: 循序結構是程式預設的執行方式,也就是 一個敘述接著一個敘述依序的執行,如下 圖所示:

5-1-2 流程控制的基礎 - 選擇結構 選擇結構是一種條件控制敘述,它是一個選擇題, 可以分為單一選擇、二選一或多選一共三種。程 式執行順序是依照關係運算式的條件,來決定執 行哪一個區塊的程式碼,如下圖所示: 選擇結構是一種條件控制敘述,它是一個選擇題, 可以分為單一選擇、二選一或多選一共三種。程 式執行順序是依照關係運算式的條件,來決定執 行哪一個區塊的程式碼,如下圖所示:

5-1-2 流程控制的基礎 - 重複結構 重複結構就是迴圈控制,它是重複執行一 個區塊的程式碼,提供一個結束條件結束 迴圈的執行,依結束條件測試的位置不同 分為兩種,如下所示: 重複結構就是迴圈控制,它是重複執行一 個區塊的程式碼,提供一個結束條件結束 迴圈的執行,依結束條件測試的位置不同 分為兩種,如下所示: 前測式重複結構 前測式重複結構 後測式重複結構 後測式重複結構

5-1-2 流程控制的基礎 - 前測式重複 結構 測試迴圈結束條件在程式區塊的開頭,需 要符合條件,才能執行迴圈中的程式碼, 如下圖所示: 測試迴圈結束條件在程式區塊的開頭,需 要符合條件,才能執行迴圈中的程式碼, 如下圖所示:

5-1-2 流程控制的基礎 - 後測式重複 結構 測試迴圈結束條件在程式區塊的結尾,所 以迴圈的程式區塊至少會執行一次,如下 圖所示: 測試迴圈結束條件在程式區塊的結尾,所 以迴圈的程式區塊至少會執行一次,如下 圖所示:

5-2 關係與邏輯運算子 關係運算子 關係運算子 邏輯與位元運算子 邏輯與位元運算子

5-2-1 關係運算子 - 說明 關係運算子也稱為比較運算子,它並沒有優先順 序的分別,通常都是使用在迴圈和條件敘述作為 判斷條件,其運算結果是布林值的 True 或 False , 如下表所示: 關係運算子也稱為比較運算子,它並沒有優先順 序的分別,通常都是使用在迴圈和條件敘述作為 判斷條件,其運算結果是布林值的 True 或 False , 如下表所示:

5-2-1 關係運算子 - 比較方式 Visual Basic 不同資料型態的比較方式,如 下表所示: Visual Basic 不同資料型態的比較方式,如 下表所示:

5-2-2 邏輯與位元運算子 - 說明 邏輯運算子的運算元如果是關係運算式的 Boolean 資料型態,此時的角色是邏輯運 算子;如為數值, And 、 Or 和 Xor 則是位元 運算子。 邏輯運算子的運算元如果是關係運算式的 Boolean 資料型態,此時的角色是邏輯運 算子;如為數值, And 、 Or 和 Xor 則是位元 運算子。

5-2-2 邏輯與位元運算子 - 邏輯運算 子 在迴圈和條件敘述的判斷條件如果不只一個,需 要使用邏輯運算子來連接,如下表所示: 在迴圈和條件敘述的判斷條件如果不只一個,需 要使用邏輯運算子來連接,如下表所示:

5-2-2 邏輯與位元運算子 - 邏輯運算 子範例 對於複雜的關係運算式可以使用邏輯運算 子連接,一些實際的運算式範例,如下表 所示: 對於複雜的關係運算式可以使用邏輯運算 子連接,一些實際的運算式範例,如下表 所示:

5-2-2 邏輯與位元運算子 - 位元運算 子 如果運算元是 Byte 、 Short 、 Integer 或 Long 等 數值時, And 、 Or 和 Xor 是「位元運算子」 ( Bitwise Operators ),能夠進行二進位值的 位元運算。 如果運算元是 Byte 、 Short 、 Integer 或 Long 等 數值時, And 、 Or 和 Xor 是「位元運算子」 ( Bitwise Operators ),能夠進行二進位值的 位元運算。 And 、 Or 和 Xor 位元運算是以二進位表示法的每 一個 0 或 1 值的位元進行運算,其每一個位元的運 算結果( a 和 b 代表一個位元),如下表所示: And 、 Or 和 Xor 位元運算是以二進位表示法的每 一個 0 或 1 值的位元進行運算,其每一個位元的運 算結果( a 和 b 代表一個位元),如下表所示:

5-2-2 邏輯與位元運算子 - 位元運算 子範例 一些位元運算式的範例,括號內是二進位 的值,如下表所示: 一些位元運算式的範例,括號內是二進位 的值,如下表所示:

5-3 簡單的條件敘述 If Then 是否選條件敘述 If Then 是否選條件敘述 If Then/Else 二選一條件敘述 If Then/Else 二選一條件敘述 IIf() 條件函數 IIf() 條件函數

5-3-1 If Then 是否選條件敘述 - 語法 If Then 條件敘述是一種是否執行的條件, 決定是否執行區塊內的程式碼。如果 If 條件 為 True ,就執行 Then/End If 間的程式碼, 其語法如下所示: If Then 條件敘述是一種是否執行的條件, 決定是否執行區塊內的程式碼。如果 If 條件 為 True ,就執行 Then/End If 間的程式碼, 其語法如下所示: If 條件 Then 程式區塊 程式區塊 End If 上述「條件」是第 5-2 節的關係運算式。 上述「條件」是第 5-2 節的關係運算式。

5-3-1 If Then 是否選條件敘述 - 範例 例如:學生成績超過 60 分是及格分數,如下所示: 例如:學生成績超過 60 分是及格分數,如下所示: If txtScore.Text >= 60 Then lblOutput.Text &= " 成績在範圍中.. " & _ lblOutput.Text &= " 成績在範圍中.. " & _ vbNewLine vbNewLine lblOutput.Text &= " 學生成績及格 : " & _ lblOutput.Text &= " 學生成績及格 : " & _ txtScore.Text & vbNewLine txtScore.Text & vbNewLine End If 上述條件為 True ,就執行區塊的程式碼,可以顯 示文字內容。 上述條件為 True ,就執行區塊的程式碼,可以顯 示文字內容。

5-3-1 If Then 是否選條件敘述 - 流程 圖

5-3-2 If Then/Else 二選一條件敘述 - 語法 更進一步如果擁有排它情況的兩個執行區塊,只 能二選一。我們可以加上 Else 關鍵字,如果 If 條 件為 True ,就執行 Then/Else 間的程式碼; False 就執行 Else/End If 間的程式碼,其語法如 下所示: 更進一步如果擁有排它情況的兩個執行區塊,只 能二選一。我們可以加上 Else 關鍵字,如果 If 條 件為 True ,就執行 Then/Else 間的程式碼; False 就執行 Else/End If 間的程式碼,其語法如 下所示: If 條件 Then 程式區塊 1 程式區塊 1Else 程式區塊 2 程式區塊 2 End If

5-3-2 If Then/Else 二選一條件敘述 - 範例 例如:使用 If Then/Else 條件敘述,以身 高來決定購買半票或全票,如下所示: 例如:使用 If Then/Else 條件敘述,以身 高來決定購買半票或全票,如下所示: length = CInt(txtLength.Text) If length > 120 Then lblOutput.ForeColor = Color.Blue lblOutput.ForeColor = Color.Blue lblOutput.Text = " 購買全票 !" lblOutput.Text = " 購買全票 !"Else lblOutput.ForeColor = Color.Red lblOutput.ForeColor = Color.Red lblOutput.Text = " 購買半票 !" lblOutput.Text = " 購買半票 !" End If

5-3-2 If Then/Else 二選一條件敘述 - 流程圖

5-3-3 IIf() 條件函數 Visual Basic 的 IIf() 條件函數主要是使用 在指定敘述,可以使用條件來指定變數值, 其語法如下所示: Visual Basic 的 IIf() 條件函數主要是使用 在指定敘述,可以使用條件來指定變數值, 其語法如下所示: 變數 = IIf( 關係 / 條件運算式, 變數 1, 變數 2) 上述指定敘述的 "=" 號右邊是條件函數,如 同 If/Else 條件,若條件成立,傳回值是變 數 1 ,就是將變數值指定成變數 1 ;否則傳 回變數 2 ,將變數值指定成變數 2 。例如: 12/24 小時制的轉換,如下所示: 上述指定敘述的 "=" 號右邊是條件函數,如 同 If/Else 條件,若條件成立,傳回值是變 數 1 ,就是將變數值指定成變數 1 ;否則傳 回變數 2 ,將變數值指定成變數 2 。例如: 12/24 小時制的轉換,如下所示: hour = IIf(hour >= 12, hour-12, hour)

5-4 選擇控制項 核取方塊控制項 核取方塊控制項 選項按鈕控制項 選項按鈕控制項 群組方塊控制項 群組方塊控制項

5-4 選擇控制項 在 Visual Basic 程式可以使用多種控制項來 配合條件敘述,以便建立選擇功能的使用 介面,如下圖所示: 在 Visual Basic 程式可以使用多種控制項來 配合條件敘述,以便建立選擇功能的使用 介面,如下圖所示:

5-4-1 核取方塊控制項 - 說明 核取方塊是一個開關,可以讓使用者選擇 是否開啟功能或設定某些參數。如果在表 單擁有多個核取方塊控制項,每一個控制 項都是獨立選項,換句話說,它允許複選。 核取方塊是一個開關,可以讓使用者選擇 是否開啟功能或設定某些參數。如果在表 單擁有多個核取方塊控制項,每一個控制 項都是獨立選項,換句話說,它允許複選。

5-4-1 核取方塊控制項 - 屬性 核取方塊控制項的常用屬性 核取方塊控制項的常用屬性

5-4-1 核取方塊控制項 - 是否選取 當使用者選取核取方塊後,程式可以檢查 核取方塊的 Checked 屬性,以判斷使用者 是否選取核取方塊,如下所示: 當使用者選取核取方塊後,程式可以檢查 核取方塊的 Checked 屬性,以判斷使用者 是否選取核取方塊,如下所示: If chkOriginal.Checked Then total += 250 * quantity total += 250 * quantity End If

5-4-2 選項按鈕控制項 - 說明 選項按鈕是二選一或多選一的選擇題,使 用者可以在一組選項按鈕中選取一個選項, 它是一個單選題。 選項按鈕是二選一或多選一的選擇題,使 用者可以在一組選項按鈕中選取一個選項, 它是一個單選題。

5-4-2 選項按鈕控制項 - 屬性 選項按鈕控制項的常用屬性 選項按鈕控制項的常用屬性

5-4-2 選項按鈕控制項 - 是否選取 當使用者選取選項按鈕後,程式一樣是檢 查 Checked 屬性,以判斷是否已選取該選 項按鈕,如下所示: 當使用者選取選項按鈕後,程式一樣是檢 查 Checked 屬性,以判斷是否已選取該選 項按鈕,如下所示: If rdbRare.Checked Then lblOutput.Text = " 三分熟 " lblOutput.Text = " 三分熟 " End If

5-4-3 群組方塊控制項 - 說明 「群組方塊」( GroupBox )是一種容器控制項, 在此控制項中可以新增其他控制項,以便讓其中 的控制項屬於同一群組。在功能上除了美化控制 項編排外,還可以組織表單眾多不同的控制項。 「群組方塊」( GroupBox )是一種容器控制項, 在此控制項中可以新增其他控制項,以便讓其中 的控制項屬於同一群組。在功能上除了美化控制 項編排外,還可以組織表單眾多不同的控制項。

5-4-3 群組方塊控制項 - 屬性 群組方塊控制項的常用屬性 群組方塊控制項的常用屬性

5-5 巢狀條件敘述 - 說明 在 If 條件敘述如果擁有其他 If 條件敘述,此程式架 構稱為「巢狀條件敘述」,如下所示: 在 If 條件敘述如果擁有其他 If 條件敘述,此程式架 構稱為「巢狀條件敘述」,如下所示: If chkForeColor.Checked Then If rdbBlue.Checked Then If rdbBlue.Checked Then lblOutput.ForeColor = Color.Red lblOutput.ForeColor = Color.Red Else Else lblOutput.ForeColor = Color.Yellow lblOutput.ForeColor = Color.Yellow End If End IfElse If rdbBlue.Checked Then If rdbBlue.Checked Then lblOutput.BackColor = Color.Red lblOutput.BackColor = Color.Red Else Else lblOutput.BackColor = Color.Yellow lblOutput.BackColor = Color.Yellow End If End If End If

5-5 巢狀條件敘述 - 流程圖

5-6 多選一條件敘述 If Then/ElseIf 多選一條件敘述 If Then/ElseIf 多選一條件敘述 Select Case 多選一條件敘述 Select Case 多選一條件敘述 Choose() 函數 Choose() 函數

5-6-1 If Then/ElseIf 多選一條件敘述 - 說明 If Then/ElseIf 條件敘述是 If Then/Else 條件敘述的延伸, 使用 ElseIf 來重複建立多選一條件敘述。例如:四則運算 的 If Then/ElseIf 條件敘述,如下所示: If Then/ElseIf 條件敘述是 If Then/Else 條件敘述的延伸, 使用 ElseIf 來重複建立多選一條件敘述。例如:四則運算 的 If Then/ElseIf 條件敘述,如下所示: If rdbAdd.Checked = True Then result = opd1 + opd2 ' 加 result = opd1 + opd2 ' 加 ElseIf rdbSubtract.Checked = True Then result = opd1 - opd2 ' 減 result = opd1 - opd2 ' 減 ElseIf rdbMultiply.Checked = True Then result = opd1 * opd2 ' 乘 result = opd1 * opd2 ' 乘 ElseIf rdbDivide.Checked = True Then result = opd1 / opd2 ' 除 result = opd1 / opd2 ' 除Else MsgBox(" 錯誤 : 沒有選擇運算子 !") MsgBox(" 錯誤 : 沒有選擇運算子 !") End If

5-6-1 If Then/ElseIf 多選一條件敘述 - 流程圖

5-6-2 Select Case 多選一條件敘述 - 語法 Select Case 多選一條件敘述比 If Then/ElseIf 多條件敘述來的清楚明白,程式碼也比較簡潔。 它可以依照符合條件來執行不同區塊的程式碼, 其語法如下所示: Select Case 多選一條件敘述比 If Then/ElseIf 多條件敘述來的清楚明白,程式碼也比較簡潔。 它可以依照符合條件來執行不同區塊的程式碼, 其語法如下所示: Select Case 運算式 Case 值 1 Case 值 1 程式區塊 1 程式區塊 1 Case 值 2 Case 值 2 程式區塊 2 程式區塊 2 ……. ……. Case Else Case Else 程式區塊 N 程式區塊 N End Case

5-6-2 Select Case 多選一條件敘述 - 範例 例如:取得運費費率的 Select Case 條件, 如下所示: 例如:取得運費費率的 Select Case 條件, 如下所示: Select Case amount Case Is < 1000 Case Is < 1000 rate = 0.1 rate = 0.1 Case 1000 To 4999 Case 1000 To 4999 rate = 0.08 rate = 0.08 Case 5000 To 9999 Case 5000 To 9999 rate = 0.05 rate = 0.05 Case Is >= Case Is >= rate = 0 rate = 0 End Select

5-6-2 Select Case 多選一條件敘述 - Case 條件 Case 條件的程式碼範例,如下表所示: Case 條件的程式碼範例,如下表所示:

5-6-2 Select Case 多選一條件敘述 - 流程圖

5-6-3 Choose() 函數 Visual Basic 的 Choose() 函數可以依據第 1 個參數的整數值,來傳回對應值,如下所 示: Visual Basic 的 Choose() 函數可以依據第 1 個參數的整數值,來傳回對應值,如下所 示: lblOutput.Text=Choose(dtDay, " 星期日 ", " 星期一 ", _ " 星期二 ", " 星期三 ", " 星期四 ", " 星期五 ", " 星期六 ") " 星期二 ", " 星期三 ", " 星期四 ", " 星期五 ", " 星期六 ") 上述程式碼依照變數 dtDay 的整數值,值 1 傳回第 2 個參數,即星期日,值 2 傳回第 3 個 參數,依此類推。 上述程式碼依照變數 dtDay 的整數值,值 1 傳回第 2 個參數,即星期日,值 2 傳回第 3 個 參數,依此類推。