選擇結構語法與應用 7-1 7-2 7-3 7-4 7-5 7-6 Chapter 7 認知 程式語言 I – VISUAL BASIC 選擇結構語法與應用 Chapter 7 認知 了解何謂邏輯運算與關係運算,分析有條件選擇、巢狀迴圈及條件迴圈的程式流程。 技能 利用If_Then_Else、Select_Case命令及選項按鈕、核取方塊和框架等控制元件來設計程式。
7-1 有條件選擇 If…Then單一選擇 [流程圖] 敘述 條件 否 是
單行式 [格式] If 條件 Then 單一敘述 [說明] 單行式的If…Then用於Then之後只有一個敘述。 條件可以是數值運算式或字串運算式,其結果要為「真」或「假」。
區塊式 [格式] If 條件 Then 敘述群 End If [說明] 區塊式的If…Then用於Then之後有一個或一個以上的敘述。 條件可以是數值運算式或字串運算式。
If…Then…Else雙向選擇 [流程圖] Then 敘述或敘述群 條件 是 否 Else 敘述或敘述群
單行式 [格式] If 條件 Then 單一敘述 Else 單一敘述 [說明] 單行式的If…Then…Else用於Then與Else之 後只有一個敘述。 條件可以是數值運算式或字串運算式。
區塊式 [格式] If 條件 Then 敘述群 Else 敘述群 End If [說明] 區塊式的If…Then…Else用於Then與Else之後有一個或一個以上的敘述。 條件可以是數值運算式或字串運算式。
IIf函數 [格式] 傳回值=IIf(條件,結果1,結果2) [功能] 依條件傳回結果1或結果2 [說明] 條件成立則傳回結果1否則傳回結果2 結果1或結果2可以是數值、字串或運算式
7-2 巢狀選擇 [格式] If 條件1 Then If 條件2 Then 敘述1 Else 敘述2 End If Else If 條件3 Then 敘述3 Else 敘述4 End If End If
巢狀選擇 [說明] 當程式符合條件1且符合條件2,則執行敘述1,若只符合條件1不符合條件2,則執行敘述2。 當程式不符合條件1但符合條件3,則執行敘述3,若不符合條件1也不符合條件3,則執行敘述4。 條件可以是數值運算式或字串運算式。 每個If均需與End If搭配使用。 每個敘述均可再包含其他的選擇結構,而且單一選擇、雙向選擇、單行式、區塊式均可。
巢狀選擇 [流程圖] 條件 1 敘述 3 敘述 4 敘述 2 敘述 1 條件 3 條件 2 是 否
7-3 多重選擇 Select-Case [格式] 7-3 多重選擇 Select-Case [格式] Select Case運算式 Case 測試值1 <指令群1> Case測試值2 <指令群2> : : Case測試值N <指令群N> [Case Else …. <指令群N+1>] End Select
多重選擇 [說明] 運算式可以是數字或字串運算式,其運算結果用來判斷符合哪一個Case之後的測試值,若符合則執行該Case下的指令群部分。 若都不符合所有Case之後的測試值,則執行Case Else下的指令群部分。若也沒有Case Else部分,則執行End Select的下一個敘述。 Case之後的測試值有下列三種形式:
多重選擇 列舉式: 例如: Case 1,3,5 (與列舉值常數比較) Case “A”,“B”,“C” (與列舉字串常數比較) Case X (與數值變數比較) 範圍式: 例如: Case 1 To 10 (指定數值常數範圍) Case “A” To“Z” (指定字串常數範圍)
多重選擇 運算式: 例如: Case IS >=60 (與數值常數比較) Case IS <“Z” (與字串常數比較) Case IS <>X (與數值變數比較) 此處 <指令群1>…<指令群N+1> 代表一個或一個以上敘述之指令。
多重選擇 [流程圖] 運算式 Case 2 指令群 2 Case Else 指令群 Case 1 指令群 1 …… End Select
Choose函數 [格式] 傳回值=Choose(數值,結果1[,結果2,…[,結果n]]) [功能] 取數值的整數值,依序傳回對應的結果 [說明] 若數值為非整數數值,則將小數部分捨棄。 數值為1時,傳回結果1,數值為2時,傳回結果2,依此類推,但數值若小於或大於n,則傳回Null(無對應值)。 結果可以是不同的資料型態。
Switch函數 [格式] 傳回值=Switch(條件1,結果1[條件2,結果2,…[條件n,結果n]]) [功能] 依序判斷條件是否成立,若成立則傳回對應的結果。 [說明] 先判斷條件1是否成立,若成立則傳回結果1,否則再判斷條件2是否成立,依此類推,但若沒有條件成立,則傳回Null(無對應值)。 結果可以是不同的資料型態。
7-4 核取方塊 在VB中核取方塊(Check Box)控制項在程式中常使用於提供多個選項可供選擇,但可以選擇一個以上的選項,或是都不挑選。
建立核取方塊
常用的核取方塊屬性
7-5 選項按鈕 選項按鈕(Option Button)在程式中常用於有多個選項可供選擇,但只能選擇其中的一個。每個選項按鈕是相互關聯,如果其中一個選項按鈕被選擇時,其它選項自動調整為未選擇狀態。
建立選項按鈕
常用的選項按鈕屬性
7-6 框架 在VB程式設計中,框架(Frame)控制項是用來將表單中的控制項物件做分類,使得畫面整齊有條理。 7-6 框架 在VB程式設計中,框架(Frame)控制項是用來將表單中的控制項物件做分類,使得畫面整齊有條理。 使用框架來設計程式會有下列優點: 將同類功能的選項放置在同一個框架中,使用者操作上美觀方便。 不同框架上的選項作用是彼此獨立不互相干擾,方便程式的設計。 框架移動時,放置在上面的控制物件也會一起移動,方便表單設計。
建立框架
常用的框架屬性