第
5
章
選擇結構
參考答案
5-1
If
…
Then
判斷敘述
舉一反三
配合課本第151頁若 要 讓 程 式 判 斷 數 值i是 否 能 被3整 除 , 但 不 能 被7整 除 , 應 該 如 何 修 改 上 述 程 式 ? 提 示:修改If…Then敘述的條件式
解 請參考教資光碟中的方案檔 "ch5-1c_1.sln"
5-1
練習
配合課本第152頁一、選擇題
( A )1. 在Visual Basic中,若A = 1 B = 2,則執行敘述If A < B Then A += B後,何者 正確? (A)A = 3 (B)A = 2 (C)B = 1 (D)B = 3
( D )2. 下列這段程式碼是要將變數A與B的數值重新調整,把較大的數值存放到變數A, 較小的數值存放到變數B,則空格中應填入的程式碼為何?
(A)B = H (B)A = B (C)H = A (D)H = B ≒統測
IF B > A THEN
B = A A = H END IF
( C )3. 執行下列Visual Basic程式後,X值為何? (A)3 (B)13 (C)23 (D)43
X = 13 X = X + 10
If X >= 30 Then X = X - 20 ▍
▍
( B )4. 下列VB程式片段,執行後AA值為何? (A)5 (B)10 (C)50 (D)2 ≒統測
AA = 5 : BB = 10
If AA < BB Then AA = BB
( C )5. 下列Visual Basic語言片段程式的執行結果為何?
(A)A = 1, B = 1 (B)A = 1, B = 2 (C)A = 2, B = 1 (D)A = 2, B = 2 ≒統測
A = 1 : B = 2
If A < B Then A = B If A >= B Then B = A - 1
Debug.Print("A =" & A & ", " & "B =" & B)
( D )6. 下列生活實例的敘述中,何者不適合使用判斷敘述來處理? (A)販賣機依據消費 者投入的金額,顯示符合該金額的多種飲料 (B)新光三越推出紅利積點活動,依 據消費者購物的金額,給予相對的紅利點數 (C)購買高鐵車票,售票系統會依據 路程長度顯示票價 (D)電腦系統隨機挑選17,500個名額,決定哪些歌迷可參加
Lady Gaga演唱會
( B )7. 執行下列Visual Basic程式後,B值為何? (A)1 (B)2 (C)3 (D)5
A = 1 : B = 2
If A > 1 Then B = B + 3
( D )8. 下列程式執行的結果為何?
(A)byebye (B)sorry (C)sorrybyebye (D)byebyesorry ≒技競
H = 10 y = 4
If H >= 10 And y < 6 Then
TextBox1.Text = TextBox1.Text & "byebye" End If
Q = y * 5 R = H * 2
TextBox1.Text = TextBox1.Text & "sorry"
( C )9. 執行下列Visual Basic程式後,即時運算視窗會顯示下列何種結果?
(A)123 (B)23 (C)120 (D)124
Y = -1
If Y > 1 Or Y <= -1 Then Debug.Print("1") If Y >= -1 And Y <= 0 Then Debug.Print("2") If Y > 0 And Y <= 1 Then Debug.Print("3") Debug.Print(Y + 1)
( B )10. 執行下列Visual Basic程式片段,若輸入數值10,則顯示的結果為:
(A)0 (B)8 (C)11 (D)18
a = InputBox("input data") b = a Mod 2 ^ 3
If a < b Then MsgBox(a + b) If a > b Then MsgBox(a - b)
二、多元練習題
1. 下面是3個使用If…Then敘述的程式片段,請依照指示,在空白處填入正確的條件式
(1) 判斷是否成年 假設18歲成年
y = InputBox("請輸入年齡:")
If y >= 18 Then MsgBox("成年")
(2) 判斷視力檢測值是否合理 視力檢測值應介於0 ~ 2.0之間
x = InputBox("請輸入視力檢測值:")
If x >= 0 And x <= 2.0 Then MsgBox("視力檢測值合理")
(3) 判斷體重是否合理,假設合理的體重應介於2 ~ 200公斤,若輸入的體重介於此範 圍,則將公斤換算成磅數 提示:1公斤 = 2.2磅
wt = InputBox("請輸入體重 單位:公斤 :") If wt >= 2 And wt <= 200 Then
pounds = wt * 2.2
MsgBox(wt & " 公斤 = " & pounds & " 磅") End If
2. 選按 檔案/開啟專案 選項,開啟專案 "Ex5-1a.sln",利用If…Then敘述設計一支計 算藍光BD影片租借費用的程式
成果預覽:
提示: (1) 租借一片藍光BD影片的費用為120元
(2) 若租借片數大於5,則租借費用享95折優惠
5-2
If
…
Then
…
Else
判斷敘述
舉一反三
配合課本第156頁請 撰 寫 一 支 程 式 , 顯 示 一 個 含 有確 定 取 消回 覆 鈕 的 訊 息 交 談 窗 , 並 在 按確 定鈕 後 即 結 束程式? 提示:回覆鈕的常數為 "MsgBoxStyle.OkCancel";利用If…Then敘述判斷 回傳值是否為1
解 請參考教資光碟中的方案檔 "ch5-2c_1.sln"
馬上練習
配合課本第158頁( C )1. IF…THEN…ELSE的結構是屬於
(A)重複結構 (B)循序結構 (C)選擇結構 (D)迴圈結構 技競
( B )2. 在繪製流程圖時,If…Then…Else…End If語法,應用何種符號表示?
(A) (B) (C) (D) 統測
( C )3. 下列程式的執行結果為何? (A)4 (B)6 (C)A (D)B ≒統測
If (6 > 5 Or 4 > 5) Then Debug.Print("A") Else
Debug.Print("B") End If
( C )4. 求執行下列VB程式後,印出a的結果為何? (A)0 (B)1 (C)2 (D)4 ≒統測
a = 0 : j = 2 If a > j Then a = a + 2 Else
a = a + 1 End If
a = a * j Debug.Print(a) ▍
( B )5. 求執行下列VB程式後,輸出的結果為何?
(A)48 (B)8 (C)5 (D)a + b + c
a = 5
If a < 5 Then a = a * a b = b + a c = c - 2 Else
b = b * a c = c + a a = a - 2 End If
MsgBox(a + b + c)
下課想
2 配合課本第164頁若要增加上 下按鈕,以控制車子 Label1 往上或往下移動,上述程式應如何修改? 提示:新增2個Timer控制項來更改Label1控制項的上 下位置;更改控制項位置的的 程式敘述為 "Label1.Top±數值"
成果預覽:
▍
Â
Label1
Button3
Button4
5-2
練習
配合課本第164頁一、選擇題
( B )1. 執行下列程式片段後,min值為何? (A)15 (B)12 (C)x (D)y
x = 15 : y = 12 min = x
If x > y Then min = y
( C )2. 執行下列Visual Basic程式片段後,訊息交談窗顯示的結果為何?
(A)5 (B)3 (C)a > b (D)a < b
a = 5 : b = 3 If a > b Then
MsgBox("a > b") Else
MsgBox("a < b") End If
( B )3. 執行下列程式片段後,M值為何? (A)12 (B)4 (C)1 (D)0 ≒統測
X = 12 : Y = 4 If X < Y Then M = X Else
M = Y End If
( C )4. 下列程式執行後,a的值為何? (A)0 (B)1 (C)2 (D)4 ≒技競
Dim a, j As Integer a = 0 : j = 2
If a > j Then a = a + 2 Else
a = a + 1 End If
a = a * j ▍
( C )5. 下列這段VB程式碼,可以 身高及性別計算標準體重,計算後Weight值為何?
(A)54 (B)56 (C)60 (D)63 ≒統測
Dim Sex, Height, Weight Sex = "F"
Height = 170 If Sex = "M" Then
Weight = (Height - 80) * 0.7 Else
Weight = (Height - 70) * 0.6 End If
( D )6. 使用VB程式語言執行下列程式碼後,則螢幕輸出結果是多少?
(A)0 (B)1 (C)4 (D)5 ≒統測
X = 9 Y = 5 Z = 6
If (X Mod Y) > Z Then Debug.Print(Y Mod X) Else
Debug.Print(Y Mod Z) End If
( B )7. 執行下列Visual Basic程式片段後,z的值為何? (A)10 (B)8 (C)6 (D)4
x = 2 : y = 4 : z = 10 If y = 2 * x Then z -= x
Else
z -= y End If
( A )8. 假設判斷閏年的方法為:若該年可以被400整除即為閏年,另若能被4整除且不可 被 100 整除亦為閏年,其餘為平年 請問要判斷以下程式中的 y 值是否為閏年, 空白處應分別填入何值?
(A)Or, And Not (B)Or, And (C)And, Or Not (D)And, Or 技競
Dim y As Integer y = 2000
If y Mod 400 = 0 y Mod 4 = 0 y Mod 100 = 0 Then Debug.Print(y & "年是閏年")
Else
Debug.Print(y & "年是平年") End If
( C )9. 執行下列程式,第8行的執行結果為何? (A)2 (B)3 (C)4 (D)5 ≒技競
1 A = 20 2 B = 30
3 If A > B Then C = 1 Else C = 2 4 Debug.Print(C)
5 If (A > B) And (B > C) Then D = 0 Else D = 3 6 Debug.Print(C & D)
7 If (A < B) And (B > D) Or (C = 2) Then C = D + 1 Else C = D + 2 8 Debug.Print(C)
( D )10. 執行下列Visual Basic程式片段後,請問其執行結果為何?
(A)0 (B)5 (C)編譯錯誤 (D)執行錯誤 ≒技競
Dim i As Integer i = 0
Debug.Print(IIf(i <> 0, 10 \ i, 5))
二、多元練習題
1. 下面是兩個使用If…Then…Else敘述的程式片段,請依照提示,在空格處填入正確的 條件式
(1) 判斷吃素與否 假設農曆初一或十五要吃素
d = InputBox("請輸入今天的農曆日期") If d = 1 Or d = 15 Then
MsgBox("要吃素") Else
MsgBox("葷素不拘") End If
(2) 判斷視力檢測值是否介於0.8 不含 ~ 1.2之間?若是,則顯示 "視力正常" 的訊 息;否則,就顯示 "視力可能需要矯正" 的訊息
x = InputBox("請輸入視力檢測值") If x > 0.8 And x <= 1.2 Then
MsgBox("視力正常") Else
2. 請利用If…Then…Else判斷敘述,撰寫一支可用來計算兩數之差的程式,並顯示相差 之值,最後將專案儲存為 "Ans5-2b.sln"
成果預覽:
提示:利用If…Then…Else敘述先判斷兩數何者較大,再以大數減去小數
解 請參考教資光碟中的方案檔 "Ans5-2b.sln"
5-3
巢狀
If
判斷敘述
舉一反三
配合課本第169頁若要增加判斷是否為直角三角形的功能,上述程式應如何修改? 提示:當a2 = b2 +
c2時為直角三角形
解 請參考教資光碟中的方案檔 "ch5-3b_1.sln"
若要增加判斷TextBox1.Text 斜邊 的值是否為最長的邊之功能,上述程式應如何 修改? 提示:利用If…Then…Else敘述,判斷TextBox1.Text的值是否為最大值; 是的話才判斷三角形的種類
解 請參考教資光碟中的方案檔 "ch5-3b_2.sln"
下課想
2 配合課本第177頁若要增加依據身高來計算標準體重的功能,
上述程式應如何修改? 提示:標準體重的
計算公式,男生為(身高 - 80) * 0.7、女生
為(身高 - 70) * 0.6
解 請 參 考 教 資 光 碟 中 的 方 案 檔 " A n s 5 -3a_1.sln"
▍
●
●
▍
Label8 成果預覽:
5-3
練習
配合課本第178頁一、選擇題
( A )1. 執行下列Visual Basic程式片段後,C值為何? (A)4 (B)3 (C)2 (D)1
A = 1 : B = 2 : C = 3 If B > 1 Then
If A < 1 Then C = 2 Else C = 4 End If End If
( C )2. 執行下列Visual Basic程式片段後,訊息交談窗依序顯示的結果為何?
(A)3 (B)5 3 (C)7 3 (D)3 5 7
A = 7 : B = 5 : C = 3 If A > B Then
If B > C Then MsgBox(A) Else
MsgBox(B) End If MsgBox(C)
( A )3. 執行程式 一 後,C值為何? (A)4 (B)8 (C)16 (D)64
▍
基礎
A = 13 : B = 5 : C = 8 If A > B Then
If A > C Then C = C / 2 Else
C = C * 2 End If
If 條件式1 Then If 條件式2 Then 程式區塊A Else
If 條件式3 Then 程式敘述
End If End If
程式 一 程式 二
( C )4. 程式 二 是一個巢狀If判斷敘述,請問其層級共有幾層?
( B )5. 下列程式執行後m值為何? (A)20 (B)30 (C)10 (D)23 ≒技競
d = 16 : m = 20 If d < 5 Then m = m + 7 ElseIf d < 10 Then m = m + 3 Else
m = m + 10 End If
( D )6. 下列Visual Basic語言片段程式執行後,何者正確?
(A)a = 6 (B)a = 7 (C)b = 11 (D)b = 12 統測
a = 5 b = 10
If (a Mod 2 = 0) Then a = a + 1
ElseIf (b Mod 2 = 0) Then b = b + 2
Else
a = a + 2 b = b + 1 End If
( B )7. 下列是一個利用巢狀If判斷敘述來檢查大月 1 3 5 7 8 10 12月 之日期 是否合理的程式片段,請問空格處應填入哪一個條件式,才能判斷日期是否合理
假設變數d儲存日期資料 ?
(A)d = 1 ~ 31 (B)d >=1 And d <= 31 (C)d <=31 (D)d >= 1
If m = 1 Or m = 3 Or m = 5 Or m = 7 Or m = 8 Or m = 10 Or m = 12 Then If Then
MsgBox("日期合理") Else
MsgBox("日期不合理") End If
End If
( A )10. 程式 四 執行後的結果為何? (A)ma (B)mb (C)fa (D)fb ≒統測
D = 400
If D <= 100 Then Fare = D * 2 Else
If D <= 300 Then
Fare = 200 + (D - 100) * 3 Else
Fare = 400 + (D - 200) * 4 End If
End If
X = 1 : Y = 150 : Z = 56.25 B = Z / (Y / 100) ^ 2
If (X Mod 2 <> 0) Then If B < 26 Then
Debug.Print("ma") Else
Debug.Print("mb") End If
Else
If B < 24 Then
Debug.Print("fa") Else
Debug.Print("fb") End If
End If
程式 三 程式 四
( B )8. 執行下列Visual Basic程式片段後,若變數m的值為300,則fee值為何?
(A)780 (B)657 (C)630 (D)220
If m > 330 Then
fee = (m - 330) * 2.6 + 220 * 2.3 + 110 * 2 Else
If m > 110 Then
fee = (m - 110) * 2.3 + 110 * 2 Else
fee = 110 * 2 End If
End If
二、實作題
1. 請利用巢狀If判斷敘述,撰寫一支可依據輸入之風速來判斷及顯示颱風強度的程式,最 後將專案儲存為 "Ans5-3b.sln"
成果預覽:
提示: 依據氣象局規定
(1) 風速每小時在62 ~ 117公里:輕度颱風
(2) 風速每小時在118 ~ 183公里:中度颱風
(3) 風速每小時在184 ~ 220公里:強烈颱風
解 請參考教資光碟中的方案檔 "Ans5-3b.sln"
2. 下列Visual Basic程式片段是利用巢狀If判斷敘述,依據使用者輸入的年齡,來判斷所 屬之年齡層 稱 請將程式中的巢狀判斷敘述改以If…ElseIf來撰寫,最後將專案儲存 為 "Ans5-3c.sln"
If age < 13 Then MsgBox("兒童") Else
If age < 20 Then MsgBox("青少年") Else
MsgBox("成年人") End If
End If
5-4
Select Case
判斷敘述
舉一反三
配合課本第185頁若要增加當所有條件式皆不成立時 如輸入的數量 <= 0 ,程式能夠顯示警示訊息的功 能,上述程式應如何修改? 提示:利用Case Else,設定顯示 "輸入錯誤" 的訊息
解 請參考教資光碟中的方案檔 "ch5-4f_1.sln"
馬上練習
配合課本第187頁( D )1. 在Visual Basic程式語言中,下列何種指 最適合用於多重選擇結構中?
(A)Do…Loop (B)For…Next (C)If…Then (D)Select…Case ≒統測
( A )2. 下列Visual Basic程式執行後,即時運算視窗共輸出幾個$?
(A)1 (B)2 (C)3 (D)6 ≒統測
X = 3 \ 2 Select Case X
Case 1 : Debug.Print("$") Case 2 : Debug.Print("$$") Case Else : Debug.Print("$$$") End Select
下課想
2 配合課本第192頁若 要 增 加 先 判 斷 使 用 者 輸 入 的 數 量 是 否 合 理 的 功 能 , 上 述 程 式 應 如 何 修 改 ? 提 示 : 利 用If…Then…Else敘述,判斷當輸入的數量 <= 0時,要求使用者重新輸入
成果預覽:
▍
▍
▍
Â
5-4
練習
配合課本第192頁一、選擇題
( A )1. 下列Visual Basic程式片段執行後,s之值為何?
Dim i As Integer = 20, s As String Select Case i
Case Is > 10 s = "a" Case 10 To 30 s = "b" Case 15, 20 s = "c" Case 20 s = "d" End Select
(A)"a" (B)"b" (C)"c" (D)"d" 統測
( B )2. 下面是利用Visual Basic撰寫一支可判斷機車等級的程式片段;判斷規則:50c.c
以下為輕型機車 90 ~ 250c.c為普通重型機車 超過250c.c為大型重型機車 請 問底線處應填入的條件式為何?
(A)90 ~ 250 (B)90 To 250 (C)90, 250 (D)Is >= 90
Dim cc As Integer
cc = InputBox("請輸入機車的c.c數") Select Case cc
Case Is <= 50 : MsgBox("輕型機車")
Case : MsgBox("普通重型機車") Case Is > 250 : MsgBox("大型重型機車") Case Else : MsgBox("輸入有誤")
End Select
( C )3. 執行下面的Visual Basic程式碼後,a值為何?
(A)error (B)large (C)medium (D)small ≒統測
X = 5 \ 2 Select Case X Case 1
a = "small" Case 2
a = "medium" Case Else
a = "large" End Select
▍
( D )4. 執行下列Visual Basic程式片段的結果為何? (A)5 (B)25 (C)125 (D)130
a = 5
Select Case a
Case 1 : b = a ^ 1 Case 3 : b = a ^ 2 Case 5 : b = a ^ 3 End Select
MsgBox(a + b)
( B )5. 執行下列Visual Basic程式後,y值為何? (A)5 (B)9 (C)10 (D)12
x = 4 : y = 1 Select Case x
Case 1 To 3 : y = x + 3 * y Case 4 To 6 : y = x + 5 * y Case 7 To 9 : y = x + 7 * y End Select
( C )6. 執行下列VB程式片段後,若輸入數值3,則y值為何?
(A)3 (B)-3 (C)9 (D)27
x = InputBox("請輸入任一整數") Select Case x
Case 1, 3 y = x * x
Case Is >= 10, Is <= 0 y = x
Case 3 y = -x End Select
( D )7. 執行下列Visual Basic程式片段的結果為何? (A)5 (B)7 (C)10 (D)14
a = 5 : b = 7 : c = 3 If a > b Then c = 0 If a < b Then c = 1 Select Case c
Case 0 : d = a * 2 Case 1 : d = b * 2 End Select
MsgBox(d)
( A )8. 若a = 1,則執行下列Visual Basic程式片段後,r的值為何?
(A)uk (B)jp (C)au (D)ca
a = InputBox("請輸入國家:(1)英國 (2)日本 (3)澳洲 (4)加拿大") r = Choose(a, "uk", "jp", "au", "ca")
( D )9. 以下是一個體重評估的Visual Basic程式片段,假設小明和小華的身高和體重相 同,都是height = 160,weight = 54,但是小明的性別sex = "M",而小華的sex = "F",若 以下程式進行評估,執行之後evaluation的結果分別為何?
Dim standard, height, weight As Integer Dim sex, evaluation As String
If sex = "M" Then
standard = (height - 80) * 0.7 Else
standard = (height - 70) * 0.6 End If
Select Case weight - standard Case Is > 0
evaluation = "太胖" Case Is < 0
evaluation = "太瘦" Case Else
evaluation = "適中" End Select
(A)小明和小華evaluation的結果都是 "太瘦"
(B)小明和小華evaluation的結果都是 "太胖"
(C)小明evaluation的結果為 "適中",而小華evaluation的結果為 "太胖"
(D)小明evaluation的結果為 "太瘦",而小華evaluation的結果為 "適中" 統測
( D )10. 執行下列程式,若輸入 12.8 ,則輸出結果為何?
(A)12 (B)13 (C)14 (D)15 ≒技競
A& = InputBox("請輸入一個數") LL:
Select Case (A& Mod 3) Case 1
A& = A& - 1 GoTo LL Case 2
A& = A& - 2 GoTo LL Case Else
A& = A& + 3 End Select
二、多元練習題
1. 小傑利用Select Case敘述,撰寫了一支可依據氣溫來提醒使用者出門應穿著何種衣 物的程式 如下所示 ,但是程式卻無法正常執行,請你幫幫他,找出程式中錯誤之 處,以便進行除錯
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load Dim tmp As Single
tmp = InputBox("請輸入今天的氣溫") Select tmp
Case < 15 : MsgBox("厚外套") Case 15 ~ 25 : MsgBox("薄外套") Case > 25 : MsgBox("短袖T恤") End Select
End Sub
2. 請利用Select Case敘述,撰寫一支可依據使用者的智力測驗成績,來判斷及顯示智力 等級的程式,最後將專案儲存為 "Ans5-4b.sln"
成果預覽:
提示:智力判斷方式如下表所示
智力測驗成績 智力等級
80 ~ 110 正常智力
111 ~ 120 高智力
121 ~ 140 極高智力
141分以上 天才
解 請參考教資光碟中的方案檔 "Ans5-4b.sln"
綜合評量
配合課本第197頁一、選擇題
( A )1. 執行Visual Basic敘述If 4 < 5 Then MsgBox("A")後,結果為何?
(A)顯示A (B)顯示B (C)顯示4 (D)顯示錯誤訊息
( C )2. 當RadioButton 選項按鈕 呈現點選狀態時,其Checked屬性值為何?
(A)0 (B)1 (C)True (D)False
( C )3. 在Visual Basic程式Select Case的結構中,若Case條件要判斷多個資料時,以下 哪種表示法有誤?
(A)Case 1, 2, 3 To 5 (B)Case Is < 10, 11 To 15
(C)Case Is < 10 Or > 20 (D)Case 2, 4, 6, 8, 10 技競
( C )4. 在Visual Basic工具箱中,哪一種控制項可用來將不同作用的控制項明顯地加以區 隔分類,以使表單變得整齊而有系統?
(A)Button 按鈕 (B)Timer 計時器
(C)GroupBox 群組方塊 (D)RadioButton 選項按鈕
( D )5. 下列哪一個不是使用群組方塊的優點? (A)可使視窗變得較易閱讀 (B)可一次 調整群組方塊內的所有控制項位置 (C)可區隔不同作用的控制項 (D)可佈建超 過表單範圍的控制項
( A )6. 執行下列Visual Basic程式片段後,Min的值為何?
(A)7 (B)12 (C)5 (D)19
A = 7 : B = 12 If A > B Then Min = B Else
Min = A End If
( A )7. 執行下列程式片段後,Z值為何? (A)12 (B)20 (C)24 (D)32
X = 12 : Y = 20 If 2 * X > Y Then Z = X
Else Z = Y End If
進階
( D )8. 執行下列Visual Basic程式片段後, GR值為何? (A)3 (B)4 (C)5 (D)9
GR = 3
Select Case GR
Case 1 : GR += 1 Case 2 : GR += 2 Case Else : GR += 6 End Select
( C )9. 執行下列Visual Basic程式片段,請問最後b的值為何?
(A)60 (B)45 (C)10 (D)50 ≒技競
Dim a, b As Integer a = 60
b = 45
If a < 100 Then If a < 120 Then b = 10 Else b = 50
( D )10. 執行下列Visual Basic程式片段後,s值為何?
(A)100 (B)50 (C)25 (D)2
a = 10
Select Case a
Case Is < 10 : s = a ^ 2 Case Is > 10 : s = a * 5 Case Else : s = a \ 4 End Select
( C )11. 執行下列Visual Basic程式片段後,訊息交談窗顯示的結果為何?
(A)打九折 (B)打八折 (C)打七折 (D)無折扣
amount = 100
If amount >= 10 And amount <= 40 Then MsgBox("打九折")
ElseIf amount >= 41 And amount <= 70 Then MsgBox("打八折")
ElseIf amount >= 71 Then MsgBox("打七折") Else
( B )12. 執行下列Visual Basic語言片段程式,Y值結果為何?
(A)1 (B)2 (C)3 (D)110 ≒統測
X = 110
If X < 100 Then Y = 1
Else Y = 2
If X > 120 Then Y = 3
End If End If Debug.Print(Y)
( C )13. 執行下列VB程式後,輸出的結果為何? (A)4 (B)34 (C)54 (D)354 ≒統測
Dim a, b, c
a = 3 : b = 5 : c = 4 If a > b Then
If b > c Then Debug.Print(a) Else
Debug.Print(b) End If
Debug.Print(c)
( D )14. 執行程式 一 後,a值為何? (A)1 (B)2 (C)3 (D)7
Dim a = 2
If 3 + a * 2 < 10 Then a = 1 Select Case a
Case 1
a = 6 + a Mod 4 Case 2
a = a * 3 / 2 End Select
N=InputBox("請輸入數字") If N < 100 Then
If N < 90 Then
Debug.Print("B") Else
Debug.Print("C") End If
Debug.Print("A") End If
程式 一 程式 二
( A )15. 請問程式 二 ,如果輸入為85,則即時運算視窗依序顯示的結果為何?
二、實作題
1. 下列Visual Basic程式片段是利用If…Then…Else敘述,判斷使用者輸入的體溫是否正 常,若體溫小於等於35度,則顯示 "失溫";若體溫大於37.5度,則顯示 "發燒";若在 正常範圍中,則顯示 "正常" 請將程式中的判斷敘述改以Select Case敘述來撰寫,最 後將專案儲存為 "Ans5-a.sln"
Dim t As Single
t = InputBox("請輸入體溫") If t <= 35 Then
MsgBox("失溫") Else
If t > 37.5 Then MsgBox("發燒") Else
MsgBox("正常") End If
End If
解 請參考教資光碟中的方案檔 "Ans5-a.sln"
2. 選按 檔案/開啟專案 選項,開啟專案 "Ex5-b.sln",撰寫當使用者按下評定鈕後, 會先判斷輸入的成績是否合理 介於0 ~ 100之間 ,若合理,則顯示對應的成績等 級,並給予評語
成果預覽:
提示: (1) 成績等級的判斷,可參考本章第4節之例1
(2) 成績等級與評語的判斷方式如下表所示
分數區間 等級 評語
100 ~ 90 優 表現很好,給你按讚!
89 ~ 80 很不錯,給你拍拍手!
79 ~ 70 乙 還有很大的進步空間喔!
69 ~ 60 丙 別氣餒,要好好加油!
低於60 丁 不用心不行了!愛拼才會贏!
TextBox1
Label4
Label6