多選擇路徑的
Select Case 敘述
敘述格式 |
例題:遊戲等級分類 |
Select Case
資料或運算式
Case 條件值1
敘述區塊1
Case 條件值2
敘述區塊2
、
、
Case 條件值N
敘述區塊N
Case 條件值N+1
敘述區塊N+1
End Select |
Private Sub
Command1_Click()
N = Val(InputBox("遊戲等級:1.初級 2.進階 3.專家"))
Select Case N
Case 1
Print "初級"
Case 2
Print "進階"
Case 3
Print "專家"
Case Else
Print "資料輸入錯誤"
End Select
End Sub |
進階:電影分級
Private Sub Command1_Click()
age = Val(InputBox("請輸入年齡"))
Select Case age
Case 0 To 5 ' age 等於 0 到 5,都符合這個條件
S = "普通級"
Case 6, 7, 8, 9, 10, 11 '
逐一列出條件值
S = "保護級"
Case 12 To 17
S = "輔導級"
Case Is >= 18 ' age ≧ 18,都符合這個條件
S = "限制級"
End Select
Print age; "歲可看「"; S; "」電影"
End Sub
具有重複執行能力的迴圈
計次執行的 For-Next
格式:步進值=1 |
例題:計算由1加到10 |
For 計次變數 = 起始值 To 終止值
敘述區塊
Next 計次變數 |
Private Sub
Command1_Click()
Sum = 0
For I = 1 To 10
Sum = Sum + I
Next I
Print Sum
End Sub |
格式:步進值不等於1 |
例題:計算由1+4+7+….301 |
For 計次變數 = 起始值 To 終止值 Step步進值
敘述區塊
Next 計次變數 |
Private Sub
Command1_Click()
Sum = 0
For I = 1 To 301 Step 3
Sum = Sum + I
Next I
Print Sum
End Sub |
不確定迴圈數的敘述 While-Wend
格式:只要條件成立就繞圈執行 |
範例:2048是二的幾次方 |
While 條件式
敘述區塊
Wend |
Private Sub
Command1_Click()
N = 0 ' 先假設是 0 次方
While 2 ^ N < 2048 ' 2 的 N
次方還沒達到 2048
N = N + 1 ' 增加 1 次方,再試試看
Wend
Print "2048 是 2 的"; N; "次方"
End Sub |
Do-Loop迴圈
敘述 |
格式 |
例題 |
Do-While-Loop
只要條件式成立,就繼續執行迴圈 |
Do While 條件式
敘述區塊
Loop |
A =1
Do While A <= 10
Print A
Loop |
Do-Loop-Until 執行迴圈,直到條件式成立 |
Do
敘述區塊
Loop Until條件式 |
A =1
Do
Print A
Loop Until A > 10 |
Do-Loop與Exit Loop
格式:將跳脫的條件式放於迴圈內 |
例題 |
Do
:
If 條件式 Then Exit Loop
:
Loop |
A = 1
Do
Print A
If A = 10 Then Exit Loop
'當A=10立即跳出迴圈不在執行下列敘述
A = A+1
Loop |
巢狀迴圈 迴圈中有迴圈稱之
例題 |
答案 |
Private
Sub Command1_Click()
For A = 1 To 5
For B = 1 To A
Print "*";
Next B
Print
Next A
End Sub |
*
**
***
****
***** |
實作 |
答案 |
Private
Sub Command1_Click()
For A = 5 To 1 Step -1
For B = A To 1 Step -1
Print "*";
Next B
Print
Next A
End Sub |
*****
****
***
**
* |
習題:計算個人綜合所得稅應繳稅款,稅率如下
所得30萬(含)以下課稅6%
所得30萬至80萬(含)課稅6%
所得80萬至150萬(含)課稅6%
所得150萬至300萬(含)課稅6%
所得300萬以上課稅40%
利用InputBox輸入視窗寫一程式輸入某人所得,並計算應繳稅款
解答
Private Sub Command1_Click()
Money = Val(InputBox("請輸入年所得"))
Select Case Money
Case 0 To 300000
S = Money * 0.06
Case 300001 To 800000
S = Money * 0.13
Case 800001 To 1500000
S = Money * 0.21
Case 1500001 To 3000000
S = Money * 0.3
Case Is > 300000
S = Money * 0.4
End Select
Print "應繳稅款為"; S; "元"
End Sub
|