06.08.2013 Views

29 劉宜婷

29 劉宜婷

29 劉宜婷

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Visual Basic<br />

學習檔<br />

學生:劉宜婷<br />

老師:劉玉敏<br />

第 1 頁


◎第一章<br />

◎第二章<br />

◎第三章<br />

◎第四章<br />

◎第五章<br />

◎第六章<br />

p.5 計算BMI值<br />

p.6 圓面積的計算<br />

目錄<br />

p.7 計算三角形面積<br />

p.8 Back Color 屬性(Click 和 DbClick)<br />

p.9 密碼輸入<br />

p.10 腦筋急轉彎<br />

p.11 聊天室<br />

p.12 眼力大考驗<br />

p.14 購物促銷方案<br />

p.15 判斷成績是否合格(If-then)<br />

p.16 判斷是否為學生票 (If-then)<br />

p.17 判斷成績是否合格(If-then-else)<br />

p.18 視力判斷 (If-then-else)<br />

p.19 判斷大月或小月 (If-then-else)<br />

p.20 判斷所屬的世代族群 (If-then-else)<br />

p.21 判斷可觀賞的影片等級 (If-then-else)<br />

p.22 判斷選手級別 (If-then-else)<br />

p.23 判斷男女 BMI 指數 (If-then-else)<br />

p.25 判斷年齡層 (If-then-else)<br />

p.26 職棒球隊吉祥物查詢<br />

p.28 判斷智力測驗成績 (select-case)<br />

p.<strong>29</strong> 星座查詢(select-case)<br />

p.32 運勢占卜(select-case)<br />

第 2 頁


p.34 三角圖案(For-next)<br />

p.35 1+2..+10的總和<br />

p.36 1-300 能被 3 整除的數之總和<br />

p.37 1+2-3…+97+98-99 的總和<br />

p.38 偶數加到 100<br />

p.39 5 個成績判斷總和、最高、及格科數<br />

p.41 隨機產生 5 個數,並在 3 秒後消失<br />

p.43 猜數字遊戲<br />

p.44 模擬四星彩開獎<br />

◎第一次期中考<br />

◎第七章<br />

◎第八章<br />

p.45 兩數間隔為 5 的總和<br />

p.46 1+2+3+4+5+6-7…-91的總和<br />

p.47 N!的計算<br />

p.48 學號程式<br />

p.49 由亂數組成的密碼<br />

p.50 字串重組<br />

p.51 1-12 月手機費用<br />

p.52 相對應中英文術語<br />

p.54 成績查詢<br />

p.55 找最大最小值<br />

p.57 北中南降雨量<br />

p.58 氣泡排列由小到大<br />

p.59 搜尋法找數值<br />

p.60 二分搜尋找數值<br />

p.61 1-10 不重覆亂數,並排列<br />

◎程式語言比賽<br />

p.64 X Y軸<br />

p.65 求絕對值<br />

p.66 三位一撇<br />

p.67 輸入 3 個數值,判斷最大最小<br />

p.69 占卜當日運勢<br />

p.70 利用減、If、MOD 判斷 0 或 1<br />

第 3 頁


◎第二次期中考<br />

◎第九章<br />

◎第十二章<br />

p.77 產生不重覆亂數,並判斷最大最小、排列、搜尋數值<br />

p.78 呼叫副程式 1+到 N 的值<br />

p.80 呼叫副程式計算標準體重<br />

p.81 呼叫副程式設計簡易售票系統<br />

p.82 自定函數計算圓面積<br />

p.83 自定函數設計手機計算費率<br />

p.84 序檔將資料寫入記事本<br />

p.85 序檔將資料讀取出來<br />

p.86 序檔將資料一行的讀取出來<br />

p.87 利用input#函數將資料讀取出來<br />

p.88 機檔將資料儲存<br />

p.89 利用循序檔將資料印出來<br />

p.90 利用循序檔將資料印在各欄位上<br />

p.91 隨機檔下拉式選單<br />

第 4 頁


01.題目說明:BMI 值計算<br />

檔案路徑名稱 11\ch1\p30<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim h, w, bmi As Single<br />

h = Val(Text1.Text) / 100<br />

w = Val(Text2.Text)<br />

bmi = w / h ^ 2<br />

Label3.Caption = Label3.Caption & bmi<br />

End Sub<br />

Private Sub Command2_Click()<br />

End<br />

End Sub<br />

執行結果畫面<br />

第 5 頁


02.題目說明:計算圓面積<br />

檔案路徑名稱 11\ch1\p34<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

'圓面積的計算<br />

Const pi = 3.14159<br />

Dim r As Single<br />

Dim area As Single<br />

r = Val(Text1.Text)<br />

area = pi * r ^ 2<br />

Text2.Text = area<br />

End Sub<br />

Private Sub Command2_Click()<br />

Text1.Text = ""<br />

Text2.Text = ""<br />

End Sub<br />

Private Sub Command3_Click()<br />

End<br />

End Sub<br />

執行結果畫面<br />

第 6 頁


03.題目說明:設計一個計算三角形面積的程式。<br />

檔案路徑名稱 11\ch2\p75<br />

程式碼<br />

Private Sub Form_Activate()<br />

Me.Hide<br />

numble1 = InputBox("請輸入三角形的底邊長", "計算三角形面積<br />

")<br />

numble2 = InputBox("請輸入三角形的高度", "計算三角形面積")<br />

total = numble1 * numble2 / 2<br />

MsgBox "三角形面積為" & total, , "計算三角形面積"<br />

End Sub<br />

執行結果畫面<br />

第 7 頁


04.題目說明:設計一個使用者按一下滑鼠及按兩下滑鼠,表單所出現的顏色。<br />

檔案路徑名稱 11\ch3\p91<br />

程式碼<br />

Private Sub Form_Click()<br />

Form1.BackColor = &HC000C0<br />

End Sub<br />

Private Sub Form_DblClick()<br />

Form1.BackColor = &HFF80FF<br />

End Sub<br />

執行結果畫面<br />

按一下<br />

按兩下<br />

第 8 頁


05.題目說明:設計一個使用者在文字方塊裡打密碼,按下 Print 按鈕即可知<br />

道<br />

密碼為多少。<br />

檔案路徑名稱 11\ch3\p106<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

MsgBox Text2.Text<br />

End Sub<br />

執行結果畫面<br />

第 9 頁


06.題目說明:<br />

檔案路徑名稱 11\ch3\p109<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Label2.Visible = True<br />

End Sub<br />

執行結果畫面<br />

第 10 頁


07.題目說明:設計一個類似聊天室的城市,可讓兩個使用者在表單上聊天。<br />

檔案路徑名稱 11\ch3\p 111<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Text3.Text = Text3.Text & Label1.Caption &<br />

Text1.Text & vbCrLf<br />

End Sub<br />

Private Sub Command2_Click()<br />

Text3.Text = ""<br />

End Sub<br />

Private Sub Command3_Click()<br />

Text3.Text = Text3.Text & Label2.Caption &<br />

Text2.Text & vbCrLf<br />

End Sub<br />

執行結果畫面<br />

第 11 頁


08.題目說明:設計一個簡易的遊戲程式,讓使用者再兩個影像相異部分的上單<br />

按滑鼠左鍵。<br />

檔案路徑名稱 11\ch3\p112<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

End<br />

End Sub<br />

Private Sub Label1_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Label2_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Label3_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

第 12 頁


Private Sub Label4_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Label5_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Label6_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Label7_Click()<br />

MsgBox "恭喜你找到了優"<br />

End Sub<br />

Private Sub Picture2_Click()<br />

MsgBox "不對優 再努力"<br />

End Sub<br />

執行結果畫面<br />

第 13 頁


09.題目說明:設計一個購物促銷方案的程式。<br />

檔案路徑名稱 11\ch4\p1<strong>29</strong><br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim amount As Integer<br />

amount = InputBox("請輸入購物總金額", "購物金額")<br />

If amount > 3000 Then<br />

price = amount * 0.85<br />

MsgBox "恭喜你消費滿 3000 元,總金額打八五折 為" & price & "元", ,<br />

"促<br />

銷活動"<br />

Else<br />

MsgBox "你所消費的金額為" & amount, , "促銷活動"<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 14 頁


10.題目說明:判斷成績是否大於等於 60,利用 If-then。<br />

檔案路徑名稱 11\ch5\p135-1<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim score As Integer<br />

score = InputBox("請輸入成績", "成績輸入")<br />

If score >= 60 Then MsgBox "成績及格", 48 + 0, "成績揭曉"<br />

If score < 60 Then MsgBox "成績不及格", 16 + 0, "成績揭曉<br />

"<br />

End Sub<br />

執行結果畫面<br />

第 15 頁


11.題目說明:判斷購票者是否為學生。<br />

檔案路徑名稱 11\ch5\p135-2<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim price As Integer, Ans As String<br />

price = 250<br />

Ans = InputBox("若為學生請輸入 Y,不是請輸入 N", "身分確認")<br />

If Ans = "Y" Or Ans = "y" Then<br />

price = price * 0.7<br />

MsgBox "學生票票價:" & price, , "顯示票價"<br />

End If<br />

If Ans = "N" Or Ans = "n" Then<br />

MsgBox "全票票價:" & price, , "顯示票價"<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 16 頁


12.題目說明:判斷成績是否為 60 分,利用 If-then-else。<br />

檔案路徑名稱 11\ch5\p138-1<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim score As Integer<br />

score = InputBox("請輸入成績", "成績輸入")<br />

If score >= 60 Then<br />

MsgBox "成績及格", 48 + 0, "成績揭曉"<br />

Else<br />

MsgBox "成績不及格", 16 + 0, "成績揭曉"<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 17 頁


13.題目說明:判斷視力是否正常,利用 If-then-else。<br />

檔案路徑名稱 11\ch5\p139-2<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim x As String<br />

x = InputBox("請輸入視力檢測值", "視力輸入")<br />

If x > 0.8 And x


14.題目說明:判斷月份為大月或小月。<br />

檔案路徑名稱 11\ch5\p139-3<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim m As Integer<br />

m = InputBox("請輸入本月月份", "月份輸入")<br />

If m = 1 Or m = 3 Or m = 5 Or m = 7 Or m = 8 Or m = 10 Or m<br />

= 12 Then<br />

MsgBox m & "月是大月", 64 + 0, "月份判斷"<br />

Else<br />

MsgBox m & "月是小月", 64 + 0, "月份判斷"<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 19 頁


15.題目說明:依出生年次判斷屬於哪個世代族群,利用巢狀 If 判斷敘述。<br />

檔案路徑名稱 11\ch5\p143-1<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim year As Integer<br />

year = InputBox("請輸入出生年次", "輸入年次")<br />

If year >= 60 Then<br />

If year


16.題目說明:依年齡層判斷可觀賞的影片等級,利用巢狀 If 判斷敘述。<br />

檔案路徑名稱 11\ch5\p144-2<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim age As Integer<br />

age = InputBox("請輸入年齡:", "年齡判斷")<br />

If age < 6 Then<br />

MsgBox "可以看普遍級", , "可觀看的等級"<br />

Else<br />

If age < 12 Then<br />

MsgBox "可以看普遍級和保護級", , "可觀看的等級"<br />

Else<br />

If age < 18 Then<br />

MsgBox "可看非限制級", , "可觀看的等級"<br />

Else<br />

MsgBox "可看各級影片", , "可觀看的等級"<br />

End If<br />

End If<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 21 頁


17.題目說明:依體重判斷男子跆拳道選的參賽級別,利用巢狀 If 判斷敘述。<br />

檔案路徑名稱 11\ch5\p145-3<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim kg As Integer<br />

kg = InputBox("請輸入體重", "判斷參加組別")<br />

If kg >= 59 And kg < 63 Then<br />

MsgBox "輕量級", , "參加組別"<br />

Else<br />

If kg >= 63 And kg < 73 Then<br />

MsgBox "中量級", , "參加組別"<br />

Else<br />

If kg >= 73 Then<br />

MsgBox "重量級", , "參加組別"<br />

Else<br />

End If<br />

End If<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 22 頁


18.題目說明:計算男女 BMI 值,並判斷屬於何種身材。<br />

檔案路徑名稱 11\ch5\p148<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim w, h, bmi As Single<br />

h = Val(Text1.Text) / 100<br />

w = Val(Text2.Text)<br />

If h >= 1 And h = 10 And w 27.8 Then<br />

MsgBox "您的 bmi 值為" & bmi & ",屬於肥胖身材", , "Msg"<br />

Else<br />

MsgBox "您的 bmi 值為" & bmi & ",屬於一般身材", , "Msg"<br />

End If<br />

Else<br />

If bmi > 27.3 Then<br />

MsgBox "您的 bmi 值為" & bmi & ",屬於肥胖身材", , "Msg"<br />

第 23 頁


Else<br />

MsgBox "您的 bmi 值為" & bmi & ",屬於一般身材", , "Msg"<br />

End If<br />

End If<br />

Else<br />

MsgBox "輸入錯誤", , "Msg"<br />

Text1.Text = ""<br />

Text2.Text = ""<br />

Text1.SetFocus<br />

End If<br />

Else<br />

MsgBox "輸入錯誤", , "Msg"<br />

Text1.Text = ""<br />

Text2.Text = ""<br />

Text1.SetFocus<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 24 頁


19.題目說明:判斷年齡及顯示年齡層代稱的程式。<br />

檔案路徑名稱 11\ch5\p153<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim age As Integer<br />

age = InputBox("請輸入年齡", "年齡輸入")<br />

If age = 14 And age = 20 And age = 31 And age


20.題目說明:職棒球隊吉祥物查詢<br />

檔案路徑名稱 11\ch5\p159<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim name As String<br />

name = Text1.Text<br />

Select Case name<br />

Case Is = "興農"<br />

Option1.Value = True<br />

Case Is = "中信"<br />

Option2.Value = True<br />

Case Is = "LaNew"<br />

第 26 頁


Option3.Value = True<br />

Case Is = "兄弟"<br />

Option4.Value = True<br />

Case Is = "統一"<br />

Option5.Value = True<br />

Case Is = "誠泰"<br />

Option6.Value = True<br />

Case Else<br />

MsgBox "無此球隊,請重新輸入", , "輸入有誤"<br />

End Select<br />

Text1.Text = " "<br />

Text1.SetFocus<br />

End Sub<br />

執行結果畫面<br />

第 27 頁


21.題目說明:利用 select-case,撰寫智力測驗的成績判斷。<br />

檔案路徑名稱 11\ch5\p165<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim a As Integer<br />

a = InputBox("請輸入智力", "智力輸入")<br />

Select Case a<br />

Case 80 To 110: Print "正常智力"<br />

Case 111 To 120: Print "高智力"<br />

Case 121 To 140: Print "極高智力"<br />

Case Is >= 141: Print "天才"<br />

End Select<br />

End Sub<br />

執行結果畫面<br />

第 28 頁


22.題目說明:利用 select-case 設計一個星座查詢的程式。<br />

檔案路徑名稱11\ch5\p167<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim m, d As Integer<br />

m = Text1.Text<br />

d = Text2.Text<br />

Select Case m<br />

Case 1<br />

If d < 20 Then<br />

Option10.Value = True<br />

Else<br />

Option11.Value = True<br />

End If<br />

Case 2<br />

第 <strong>29</strong> 頁


If d < 20 Then<br />

Option11.Value = True<br />

Else<br />

Option12.Value = True<br />

End If<br />

Case 3<br />

If d < 21 Then<br />

Option12.Value = True<br />

Else<br />

Option1.Value = True<br />

End If<br />

Case 4<br />

If d < 21 Then<br />

Option1.Value = True<br />

Else<br />

Option2.Value = True<br />

End If<br />

Case 5<br />

If d < 21 Then<br />

Option2.Value = True<br />

Else<br />

Option3.Value = True<br />

End If<br />

Case 6<br />

If d < 22 Then<br />

Option3.Value = True<br />

Else<br />

Option4.Value = True<br />

End If<br />

Case 7<br />

If d < 23 Then<br />

Option4.Value = True<br />

Else<br />

Option5.Value = True<br />

End If<br />

Case 8<br />

If d < 23 Then<br />

Option5.Value = True<br />

第 30 頁


Else<br />

Option6.Value = True<br />

End If<br />

Case 9<br />

If d < 23 Then<br />

Option6.Value = True<br />

Else<br />

Option7.Value = True<br />

End If<br />

Case 10<br />

If d < 23 Then<br />

Option7.Value = True<br />

Else<br />

Option8.Value = True<br />

End If<br />

Case 11<br />

If d < 22 Then<br />

Option8.Value = True<br />

Else<br />

Option9.Value = True<br />

End If<br />

Case 12<br />

If d < 22 Then<br />

Option9.Value = True<br />

Else<br />

Option10.Value = True<br />

End If<br />

Case Else<br />

MsgBox "無此日期,請重新輸入", , "輸入有誤"<br />

End Select<br />

Text1.Text = " "<br />

Text2.Text = " "<br />

Text1.SetFocus<br />

Text2.SetFocus<br />

End Sub<br />

執行結果畫面<br />

第 31 頁


23.題目說明:利用 select-case 設計一個運勢占卜的程式。<br />

檔案路徑名稱11\ch5\p168<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim a As Integer<br />

a = (Rnd() * 6) + 1<br />

Select Case a<br />

Case 1<br />

Text1 = "下下籤:諸事不宜"<br />

Case 2<br />

Text1 = "中上籤:會有貴人相助"<br />

Case 3<br />

Text1 = "中下籤:口舌之爭"<br />

Case 4<br />

Text1 = "平籤:保持平常心"<br />

第 32 頁


Case 5<br />

Text1 = "平籤:沒事就是好事"<br />

Case 6<br />

Text1 = "上上籤:意外之財降臨"<br />

End Select<br />

End Sub<br />

Private Sub Command2_Click()<br />

End<br />

End Sub<br />

執行結果畫面<br />

第 33 頁


24.題目說明:輸入一個由 A 組成的三角圖案。<br />

檔案路徑名稱11\ch6\171<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim a As Integer<br />

For i = 1 To 10<br />

Print String(i, "A")<br />

Next i<br />

End Sub<br />

執行結果畫面<br />

第 34 頁


25.題目說明:利用 For-next 撰寫一個 1 +到 10 的總和程式。<br />

檔案路徑名稱11\ch6\172<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i As Integer, sum As Integer<br />

sum = 0<br />

For i = 1 To 10<br />

sum = sum + i<br />

Next<br />

MsgBox "1+2+3...+10 = " & sum, , ""<br />

End Sub<br />

執行結果畫面<br />

第 35 頁


26.題目說明: 1 到 300 能被 3 整除的數並顯示在 Listbox 裡<br />

檔案路徑名稱11\ch6\172-300 內 3 整除的數<br />

表單畫面<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i, sum, num As Integer<br />

For i = 1 To 300<br />

If i Mod 3 = 0 Then<br />

List1.AddItem i<br />

num = num + 1<br />

sum = sum + i<br />

End If<br />

Next<br />

MsgBox "300以內的數能被3整除有" & num & "個,合為" & sum<br />

End Sub<br />

執行結果畫面<br />

第 36 頁


27.題目說明:撰寫一個程式 1+2-3+4+5-6…+97+98-99<br />

檔案路徑名稱11\ch6\172 (1+2-3...)<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i, sum As Integer<br />

For i = 1 To 99<br />

If i Mod 3 = 0 Then<br />

sum = sum - i<br />

Else<br />

sum = sum + i<br />

End If<br />

Next<br />

MsgBox "1+2-3+4+5-6....+97+98-99 = " & sum<br />

End Sub<br />

執行結果畫面<br />

第 37 頁


28.題目說明:撰寫一個程式 偶數加到 100<br />

檔案路徑名稱11\ch6\172-偶數加到 100<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i As Integer, sum As Integer<br />

sum = 0<br />

For i = 2 To 100 Step 2<br />

sum = sum + i<br />

Next<br />

MsgBox "2+4+6...+100 = " & sum, , ""<br />

End Sub<br />

執行結果畫面<br />

第 38 頁


<strong>29</strong>.題目說明:使用者輸入 5 個成績,來計算總分、最高分、以及格的科目數。<br />

檔案路徑名稱11\ch6\175<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim i As Integer, score As Integer, sum As Integer<br />

Dim max As Integer, n As Integer<br />

sum = 0<br />

max = 0<br />

n = 0<br />

Text1.Text = "成績資料:"<br />

For i = 1 To 5<br />

score = InputBox("請輸入段考成績", "簡易成績統計")<br />

第 39 頁


sum = sum + score<br />

Text1.Text = Text1.Text & score & Space(2)<br />

If score > max Then max = score<br />

If score >= 60 Then n = n + 1<br />

Next i<br />

If Check1.Value = 1 Then Text1.Text = Text1.Text &<br />

vbCrLf + "總分為" &<br />

sum & "分"<br />

If Check2.Value = 1 Then Text1.Text = Text1.Text &<br />

vbCrLf + "最高分為"<br />

& max & "分"<br />

If Check3.Value = 1 Then Text1.Text = Text1.Text &<br />

vbCrLf + "及格科數為"<br />

& n & "科"<br />

End Sub<br />

執行結果畫面<br />

第 40 頁


30.題目說明:撰寫一個隨機產生 5 個數字,並在 3 秒後自動隱藏。<br />

檔案路徑名稱11\ch6\186<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim i As Integer, n As Integer<br />

Randomize<br />

i = 1<br />

While i


Wend<br />

Timer1.Enabled = True<br />

End Sub<br />

Private Sub Command2_Click()<br />

Text2.Text = Text1.Text<br />

End Sub<br />

Private Sub Timer1_Timer()<br />

Text1.Visible = False<br />

Command1.Enabled = False<br />

Command2.Enabled = True<br />

Timer1.Enabled = False<br />

End Sub<br />

執行結果畫面<br />

第 42 頁


31.題目說明: 設計一個猜數字遊戲的程式。(預設為176)<br />

檔案路徑名稱11\ch6\192<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim ans As Integer, anss As Integer<br />

ans = 176<br />

anss = InputBox("請輸入一個 3 位的數字", "猜數字遊戲")<br />

While ans anss<br />

If anss > ans Then<br />

anss = InputBox("輸入的數字太大,請再輸入一次", "猜數字遊戲<br />

")<br />

Else<br />

anss = InputBox("輸入的數字太小,請再輸入一次", "猜數字遊戲<br />

第 43 頁


")<br />

End If<br />

Wend<br />

MsgBox "恭喜你,猜對了", , "猜數字遊戲"<br />

End Sub<br />

執行結果畫面<br />

32.題目說明:撰寫一個模擬四星彩開獎的程式。<br />

檔案路徑名稱11\ch6\p201 nunber_img<br />

表單畫面<br />

第 44 頁


程式碼<br />

Private Sub Command1_Click()<br />

Dim i As Integer, n As Integer<br />

Randomize<br />

i = 1<br />

Do While i


a = InputBox("請任意輸入一個字", "計算和")<br />

b = InputBox("請任意輸入一個字", "計算和")<br />

For i = a To b Step 5<br />

sum = sum + i<br />

Next<br />

MsgBox a & "到" & b & "間隔為 5 的合為" & sum, , "計算和"<br />

End Sub<br />

執行結果畫面<br />

34.題目說明: (期中考) 02 題--撰寫一個 1+2+3+4+5+6-7…-91 的程<br />

式<br />

檔案路徑名稱11\0402_exam 第一次期中考\11\02<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i As Integer, sum As Integer<br />

第 46 頁


sum = 0<br />

For i = 1 To 91 Step 2<br />

If i Mod 7 = 0 Then<br />

sum = sum - i<br />

Else<br />

sum = sum + i<br />

End If<br />

Next<br />

MsgBox "1+2+3+4+5+6-7...的和為" & sum, , "計算和"<br />

End Sub<br />

執行結果畫面<br />

第 47 頁


35.題目說明: (期中考) 03 題--撰寫一個 N!的程式<br />

檔案路徑名稱11\0402_exam 第一次期中考\11\03<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim i As Integer, sum As Integer<br />

n = InputBox("輸入任一個數字", "計算 N!")<br />

sum = 1<br />

i = 1<br />

Do While i


36.題目說明: (期中考) 04 題—撰寫 學號程式 第一個數為 A-Z 第二.三個<br />

為<br />

89 後三碼為 120-1<strong>29</strong><br />

檔案路徑名稱11\0402_exam 第一次期中考\11\04<br />

表單畫面<br />

程式碼<br />

Private Sub Form_Activate()<br />

For i = 1 To 26<br />

For j = 0 To 9<br />

List1.AddItem Chr(i + 64) & "8912" & j<br />

Next<br />

Next<br />

End Sub<br />

執行結果畫面<br />

第 49 頁


37.題目說明: (期中考) 05 題--撰寫一個由 A-Z、a-z、0-9 亂碼組成的密<br />

碼。<br />

檔案路徑名稱11\0402_exam 第一次期中考\11\05<br />

程式碼<br />

Private Sub Form_Activate()<br />

Randomize<br />

For i = 1 To 6<br />

t = Int(Rnd() * 3) + 1<br />

Select Case t<br />

Case 1<br />

n = Int(Rnd() * 10) + 48<br />

Case 2<br />

n = Int(Rnd() * 26) + 65<br />

Case 3<br />

n = Int(Rnd() * 26) + 97<br />

End Select<br />

word = word & Chr(n)<br />

Next<br />

MsgBox "亂數取得的密碼為:" & word<br />

End Sub<br />

執行結果畫面<br />

第 50 頁


38.題目說明: (期中考) 06 題--撰寫一個字串重組得程式。<br />

檔案路徑名稱11\0402_exam 第一次期中考\11\06<br />

程式碼<br />

Private Sub Form_Activate()<br />

oldword = InputBox("請輸入字串", "字串重組")<br />

a = 2<br />

s = Len(oldword)<br />

While a


39.題目說明:撰寫一個某年度 1-12 月的手機費用。<br />

檔案路徑名稱11\ch7\p222<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim bill(1 To 12) As Integer, i As Integer, sum As Integer<br />

For i = 1 To 12<br />

bill(i) = InputBox("請輸入" & i & "月份的收機費", "手機費輸入")<br />

sum = sum + bill(i)<br />

Next i<br />

MsgBox "今年度的手機費共繳了" & sum & "元", , "手機費統計"<br />

End Sub<br />

執行結果畫面<br />

第 52 頁


40.題目說明:撰寫一個隨機產生一個術語在表單上,讓使用者在清單中點選相<br />

對應的英文電腦術語。<br />

檔案路徑名稱11\ch7\p223<br />

表單畫面<br />

程式碼<br />

Dim n As Integer<br />

Private Sub Command1_Click()<br />

If List1.ListIndex + 1 = n Then<br />

Label3.Caption = "答對了"<br />

Else<br />

Label3.Caption = "答錯了"<br />

End If<br />

End Sub<br />

Private Sub Form_Load()<br />

Dim i As Integer<br />

Dim chi(1 To 5) As String<br />

Dim eng(1 To 5) As String<br />

chi(1) = "電腦輔助教學軟體": eng(1) = "CAI"<br />

chi(2) = "中央處理單元": eng(2) = "CPU"<br />

chi(3) = "隨機存取記憶體": eng(3) = "RAM"<br />

chi(4) = "全球資訊網": eng(4) = "WWW"<br />

chi(5) = "區域網路": eng(5) = "LAN"<br />

Randomize<br />

n = Int(Rnd() * 5) + 1<br />

Label2.Caption = Label2.Caption + chi(n) + "=>"<br />

第 53 頁


For i = 1 To 5<br />

List1.AddItem eng(i)<br />

Next i<br />

End Sub<br />

執行結果畫面<br />

第 54 頁


41.題目說明:撰寫一個讓使用者可以輸入及查詢成績的程式。<br />

檔案路徑名稱11\ch7\p228<br />

表單畫面<br />

程式碼<br />

Dim score(1 To 50) As Integer<br />

Private Sub Command1_Click()<br />

Dim i As Integer<br />

i = Int(Text1.Text)<br />

If i >= 1 And i 50 Then<br />

MsgBox "座號需為1~50", , "輸入錯誤"<br />

Else<br />

Text2.Text = score(j)<br />

End If<br />

End Sub<br />

第 55 頁


執行結果畫面<br />

42.題目說明:(homework)利用一維陣列讓使用者輸入 5 個數,必找出最大<br />

最小<br />

值。<br />

檔案路徑名稱11\ch7\p2<strong>29</strong><br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

For i = 1 To 5<br />

n(i) = InputBox("請輸入一個數值", "判斷")<br />

List1.AddItem "第" & i & "個數值是" & n(i)<br />

Next i<br />

End Sub<br />

Private Sub Command2_Click()<br />

Dim max As Integer<br />

max = 0<br />

For i = 1 To 5<br />

If n(i) > max Then<br />

max = n(i)<br />

End If<br />

Next i<br />

List1.AddItem "最大值為" & max<br />

End Sub<br />

Private Sub Command3_Click()<br />

Dim min As Integer<br />

min = n(1)<br />

第 56 頁


For i = 1 To 5<br />

If n(i) < min Then<br />

min = n(i)<br />

End If<br />

Next i<br />

List1.AddItem "最小值為" & min<br />

End Sub<br />

執行結果畫面<br />

第 57 頁


43.題目說明:利用二維陣列北、中、南三區 1-12 月的降雨量。<br />

檔案路徑名稱11\ch7\p232<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim rain(1 To 3, 1 To 12) As Single<br />

For i = 1 To 3<br />

For j = 1 To 12<br />

Select Case i<br />

Case 1: rain(i, j) = Val(InputBox("請輸入北區" & j & "<br />

月的雨量:<br />

", "雨量輸入"))<br />

Case 2: rain(i, j) = Val(InputBox("請輸入中區" & j & "<br />

月的雨量:<br />

", "雨量輸入"))<br />

Case 3: rain(i, j) = Val(InputBox("請輸入南區" & j & "<br />

月的雨量:<br />

", "雨量輸入"))<br />

End Select<br />

Next j<br />

Next i<br />

End Sub<br />

執行結果畫面<br />

第 58 頁


45.題目說明: 利用氣泡排序將 5 個是有小排到大。<br />

檔案路徑名稱11\ch8\p255<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim a(4) As Integer, i As Integer, j As Integer, n As<br />

Integer<br />

a(0) = 20: a(1) = 5: a(2) = 30: a(3) = 40: a(4) = 15<br />

Print "排序前的順序"<br />

For i = 0 To 4<br />

Print a(i) & Space(3);<br />

Next<br />

For i = 1 To (5 - 1)<br />

For j = 0 To (4 - i)<br />

If a(j) > a(j + 1) Then<br />

temp = a(j)<br />

a(j) = a(j + 1)<br />

a(j + 1) = temp<br />

End If<br />

Next j<br />

Next i<br />

Print: Print: Print "排序後的順序"<br />

For i = 0 To 4<br />

Print a(i) & Space(3);<br />

第 59 頁


Next<br />

End Sub<br />

執行結果畫面<br />

46.題目說明:利用搜尋法找到資料"25"<br />

檔案路徑名稱11\ch8\p264<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim a(1 To 5) As Integer<br />

a(1) = 5: a(2) = 10: a(3) = 30: a(4) = 62: a(5) = 25<br />

i = 1<br />

Target = 25<br />

Do<br />

If Target = a(i) Then<br />

Print "找到25數值"<br />

Exit Do<br />

End If<br />

i = i + 1<br />

If i > 5 Then<br />

Print "找不到數值25"<br />

Exit Do<br />

End If<br />

Loop<br />

End Sub<br />

執行結果畫面<br />

第 60 頁


57.題目說明:利用二分搜尋找到資料 "50"<br />

檔案路徑名稱11\ch8\p267<br />

程式碼<br />

Private Sub Form_Load()<br />

Dim a(1 To 6) As Integer<br />

a(1) = 5: a(2) = 10: a(3) = 25: a(4) = 40: a(5) = 50: a(6) = 65<br />

Target = 50<br />

L = 1: R = 6: result = "找不到"<br />

While L Target Then<br />

R = M - 1<br />

Else<br />

L = M + 1<br />

End If<br />

End If<br />

Wend<br />

MsgBox result & Target<br />

End Sub<br />

執行結果畫面<br />

第 61 頁


48.題目說明:撰寫一個隨機產生 5 個數介於 1-10 不重覆的數字陣列,並將<br />

排序<br />

前排序後印出來。<br />

檔案路徑名稱11\ch8\p269 亂數不重覆<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim a(0 To 4) As Integer<br />

Randomize<br />

For i = 0 To 4<br />

a(i) = Int(Rnd() * 10) + 1<br />

If i = 0 Then<br />

check(a(i)) = 1<br />

Else<br />

While check(a(i)) = 1<br />

a(i) = Int(Rnd() * 10) + 1<br />

Wend<br />

check(a(i)) = 1<br />

End If<br />

Next i<br />

Print "排序前:"<br />

For i = 0 To 4<br />

Print a(i) & Space(3);<br />

Next<br />

For i = 1 To 4<br />

For j = 0 To (4 - i)<br />

If a(j) > a(j + 1) Then<br />

temp = a(j)<br />

a(j) = a(j + 1)<br />

第 62 頁


a(j + 1) = temp<br />

End If<br />

Next j<br />

Next i<br />

Print: Print: Print "排序後的順序"<br />

For i = 0 To 4<br />

Print a(i) & Space(3);<br />

Next<br />

End Sub<br />

執行結果畫面<br />

第 63 頁


49.題目說明:讓使用者輸入 XY 軸,在點選上下左右走幾步,印出最後座標。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\01<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim n As Integer, x As Integer, y As Integer, z As Integer<br />

x = Text1.Text<br />

y = Text2.Text<br />

z = Text3.Text<br />

If Option1 = True Then<br />

y = y + z<br />

MsgBox x & Space(2) & y, , "瞬間移動"<br />

End If<br />

If Option2 = True Then<br />

y = y - z<br />

MsgBox x & Space(2) & y, , "瞬間移動"<br />

End If<br />

If Option3 = True Then<br />

x = x - z<br />

MsgBox x & Space(2) & y, , "瞬間移動"<br />

第 64 頁


End If<br />

If Option4 = True Then<br />

x = x + z<br />

MsgBox x & Space(2) & y, , "瞬間移動"<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 65 頁


50.題目說明:輸入一個數值,求絕對值。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\02<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

x = InputBox("請輸入一值", "絕對值")<br />

If Mid(x, 1, 1) = "-" Then x = Right(x, Len(x) - 1)<br />

MsgBox x, , "Result"<br />

End Sub<br />

執行結果畫面<br />

第 66 頁


51.題目說明:讓使用者輸入一個數值,必印出三位一撇。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\03<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

x = InputBox("輸入一數字", "三位一撇輸出")<br />

str1 = "": y = 0<br />

For i = Len(x) To 1 Step -1<br />

str1 = Mid(x, i, 1) + str1<br />

y = y + 1<br />

If i > 1 And y Mod 3 = 0 Then str1 = "," + str1<br />

Next i<br />

MsgBox str1, , "The Result"<br />

End Sub<br />

執行結果畫面<br />

第 67 頁


52.題目說明:讓使用者輸入 3 個數值,並判斷最大值與最小值,並印出。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\04<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim i As Integer, j As Integer, k As Integer<br />

Dim max As Integer, min As Integer<br />

i = Text1.Text<br />

j = Text2.Text<br />

k = Text3.Text<br />

If i > j Then<br />

max = i<br />

If i > k Then<br />

max = i<br />

Else<br />

max = k<br />

End If<br />

Else<br />

max = j<br />

第 68 頁


If j > k Then<br />

max = j<br />

Else<br />

max = k<br />

End If<br />

End If<br />

If i < j Then<br />

min = i<br />

If i < k Then<br />

min = i<br />

Else<br />

min = k<br />

End If<br />

Else<br />

min = j<br />

If j < k Then<br />

min = j<br />

Else<br />

min = k<br />

End If<br />

End If<br />

MsgBox max & Space(2) & min<br />

End Sub<br />

執行結果畫面<br />

第 69 頁


53.題目說明:讓使用者輸入月.日,占卜當日的運勢。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\05<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim m As String, d As String, s As String<br />

m = InputBox("請輸入月", "占卜")<br />

d = InputBox("請輸入日 ", "占卜")<br />

s = (m * 2 + d) Mod<br />

3<br />

Select Case s<br />

Case 0<br />

MsgBox<br />

"普通", , "占卜結果"<br />

Case 1<br />

MsgBox<br />

"吉", , "占卜結果"<br />

Case 2<br />

MsgBox<br />

"大吉", , "占卜結果"<br />

End Select<br />

End Sub<br />

執行結果畫面<br />

第 70 頁


54.題目說明:利用減、If、MOD 的用法顯示出 0 或 1。<br />

檔案路徑名稱11\0507 程式比賽上傳\11\06<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

n = Val(InputBox("請輸入 0 或 1", "輸入"))<br />

n = n - 1<br />

MsgBox Abs(n), , "The Result"<br />

End Sub<br />

Private Sub Command2_Click()<br />

n = Val(InputBox("請輸入 0 或 1", "輸入"))<br />

x = 3 Mod (n + 2)<br />

MsgBox x, , "The Result"<br />

End Sub<br />

Private Sub Command3_Click()<br />

n = Val(InputBox("請輸入 0 或 1", "輸入"))<br />

If n = 1 Then<br />

n = 0<br />

第 71 頁


ElseIf n = 0 Then<br />

n = 1<br />

End If<br />

MsgBox n, , "The Result"<br />

End Sub<br />

執行結果畫面<br />

55.題目說明:撰寫一個產生不重覆的 7 個數,並將這 7 個數找出最大值、最<br />

小值,遞增排序、遞減排序,並利用二分搜尋,找出所要的資料數值。<br />

檔案路徑名稱 11\0514 期中考\11\01<br />

表單畫面<br />

程式碼<br />

Dim a(1 To 7) As Integer<br />

Private Sub Command1_Click()<br />

max = a(1)<br />

For i = 2 To 7<br />

If a(i) > max Then max = a(i)<br />

Next i<br />

MsgBox "最大值" & max, , "The Result"<br />

End Sub<br />

Private Sub Command2_Click()<br />

第 72 頁


min = a(1)<br />

For i = 2 To 7<br />

If a(i) < min Then min = a(i)<br />

Next i<br />

MsgBox "最小值" & min, , "The Result"<br />

End Sub<br />

Private Sub Command3_Click()<br />

List2.Clear<br />

For i = 1 To 6<br />

For j = 1 To 7 - i<br />

If a(j) > a(j + 1) Then temp = a(j): a(j) = a(j + 1): a(j + 1)<br />

= temp<br />

Next j<br />

Next i<br />

For i = 1 To 7<br />

List2.AddItem a(i)<br />

Next i<br />

End Sub<br />

Private Sub Command4_Click()<br />

List2.Clear<br />

For i = 1 To 6<br />

For j = 1 To 7 - i<br />

If a(j) < a(j + 1) Then temp = a(j): a(j) = a(j + 1): a(j + 1)<br />

= temp<br />

Next j<br />

Next i<br />

For i = 1 To 7<br />

List2.AddItem a(i)<br />

Next i<br />

End Sub<br />

Private Sub Command5_Click()<br />

Dim m As Integer<br />

cho = MsgBox("是否已遞增排序?", 48 + vbOKCancel, "提醒")<br />

If cho = 1 Then<br />

tre = Val(InputBox("請輸入欲尋找的數值", "搜尋")): L = 1: R =<br />

第 73 頁


7: n = 0<br />

Do<br />

Do<br />

Do<br />

Loop<br />

End If<br />

End Sub<br />

m = (L + R) / 2: n = n + 1<br />

If A(m) = tre Then<br />

MsgBox "在第" & n & "次,找到目標" & tre: Exit<br />

Else<br />

If tre > A(m) Then<br />

L = m + 1<br />

Else<br />

R = m - 1<br />

End If<br />

If L > R Then MsgBox "找不到" & tre: Exit<br />

End If<br />

Private Sub Form_Load()<br />

Randomize<br />

str1 = "": n = 0<br />

Do<br />

x = Int(Rnd() * 15) + 1<br />

If InStr(str1, "*-" & x) = 0 Then n = n + 1: str1 = str1<br />

+ "*-" & x: List1.AddItem x: a(n) = x<br />

If n = 7 Then Exit Do<br />

Loop<br />

End Sub<br />

執行結果畫面<br />

第 74 頁


第 75 頁


第 76 頁


56.題目說明:利用呼叫副程式計算 1 加到 N 的總和<br />

檔案路徑名稱<br />

程式碼<br />

Sub N_sum(a As Integer)<br />

Dim sum As Integer, i As Integer<br />

sum = 0<br />

For i = 1 To a<br />

sum = sum + i<br />

Next<br />

MsgBox "1+2+.....+" & a & "=" & sum, , "計算值"<br />

End Sub<br />

Private Sub Form_Activate()<br />

Dim N As Integer<br />

N = InputBox("請輸入 N 值", "計算數值")<br />

Call N_sum(N)<br />

End Sub<br />

執行結果畫面<br />

第 77 頁


57.題目說明:利用呼叫副程式計算標準體重<br />

檔案路徑名稱<br />

程式碼<br />

Sub cal_sw(s_sex As String, s_ht As Single)<br />

Dim sw As Single<br />

If s_sex = "m" Then<br />

sw = (s_ht - 80) * 0.7<br />

Else<br />

sw = (s_ht - 70) * 0.6<br />

End If<br />

MsgBox "你的標準體重為" & sw, , "計算標準體重"<br />

swt = InputBox("請輸入體重(KG)", "判斷是否過重")<br />

If swt > sw Then<br />

MsgBox "你的體重超出標準體重", , "判斷是否過重"<br />

Else<br />

MsgBox "你的體重未超出標準體重", , "判斷是否過重"<br />

End If<br />

End Sub<br />

Private Sub Form_Activate()<br />

Dim ht As Single, sex As String * 1<br />

sex = InputBox("請輸入性別,男性為 M,女性為 F", "計算標準體重")<br />

ht = InputBox("請輸入身高(cm)", "計算標準體重")<br />

Call cal_sw(sex, ht)<br />

End Sub<br />

執行結果畫面<br />

第 78 頁


58.題目說明:利用呼叫副程式撰寫簡易售票系統<br />

檔案路徑名稱<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click(Index As Integer)<br />

Dim count As Integer<br />

count = InputBox("請輸入所要購買的票數", "購買票數")<br />

Call cal_price(Index, count)<br />

End Sub<br />

Sub cal_price(i As Integer, j As Integer)<br />

Dim area As String, price As Integer, sum As Integer<br />

price = 600<br />

Select Case i<br />

Case 0, 2<br />

area = "搖滾A/C區"<br />

price = price * 2.5<br />

Case 1<br />

area = "搖滾B區"<br />

price = price * 3<br />

Case 3, 5<br />

area = "看台A/C區"<br />

price = price * 1.5<br />

Case 4<br />

area = "看台B區"<br />

price = price * 2<br />

End Select<br />

If j >= 10 Then<br />

sum = j * price * 0.9<br />

第 79 頁


Else<br />

sum = j * price<br />

End If<br />

Label3.Caption = j & "張" & area & "票,總計" & sum & "元"<br />

End Sub<br />

執行結果畫面<br />

第 80 頁


59.題目說明:利用自定函數計算圓面積<br />

程式碼<br />

Function cal_Circle(r As Single) As Single<br />

Const pi = 3.14159<br />

cal_Circle = r ^ 2 * pi<br />

End Function<br />

Private Sub Form_Activate()<br />

Dim X As Single<br />

Dim are As Single<br />

X = InputBox("請輸入圓的半徑", "計算面積")<br />

area = cal_Circle(X)<br />

MsgBox "半徑為" & X & "的圓面積= " & area, , "計算圓面積"<br />

End Sub<br />

執行結果畫面<br />

第 81 頁


60.題目說明:利用自定函數試算手機通話費<br />

表單畫面<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim bcase As Integer, sec As Integer<br />

Dim bill As Integer<br />

bcase = Combo1.ListIndex<br />

sec = Int(Text1.Text) * 60<br />

bill = Mbill(bcase, sec)<br />

Label3.Caption = "通話費為:" & bill & "元"<br />

End Sub<br />

Private Sub Form_Load()<br />

Combo1.AddItem "88 元"<br />

Combo1.AddItem "188 元"<br />

Combo1.AddItem "288 元"<br />

Combo1.AddItem "388 元"<br />

End Sub<br />

Function Mbill(F_case As Integer, F_sec As Integer) As Integer<br />

Dim rate As Single, fee As Integer<br />

Dim total As Integer<br />

Select Case F_case<br />

Case 0<br />

rate = 0.13<br />

fee = 88<br />

Case 1<br />

rate = 0.12<br />

fee = 188<br />

Case 2<br />

rate = 0.11<br />

fee = 288<br />

Case 3<br />

第 82 頁


ate = 0.09<br />

fee = 588<br />

End Select<br />

total = rate * F_sec<br />

If total < fee Then<br />

Mbill = fee<br />

Else<br />

Mbill = total<br />

End If<br />

End Function<br />

執行結果畫面<br />

第 83 頁


61.題目說明:將資料從記事本中一字一字的讀取出來並印在表單上。<br />

檔案路徑名稱 02\ch12\152<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim X As String<br />

Open App.Path & "\11.txt" For Input As #1<br />

Do While Not EOF(1)<br />

Line Input #1, X<br />

Print X<br />

Loop<br />

Close<br />

End Sub<br />

執行結果畫面<br />

第 84 頁


62.題目說明:將資料從記事本中一行一行的讀取並印在表單上。<br />

檔案路徑名稱 02\ch12\153<br />

程式碼<br />

Private Sub Form_Activate()<br />

Dim X As String<br />

Open App.Path & "\11.txt" For Input As #1<br />

Do While Not EOF(1)<br />

Input #1, X<br />

Print X<br />

Loop<br />

Close<br />

End Sub<br />

執行結果畫面<br />

第 85 頁


63.目說明:用隨機檔將資料從儲存按檢視鈕會將資料顯示出來。<br />

檔案路徑名稱 02\ch12\166<br />

表單內容<br />

程式碼<br />

Private Type record<br />

no As String * 6<br />

name As String * 8<br />

score As Integer<br />

End Type<br />

Dim student As record<br />

Dim file_no As Integer<br />

Private Sub Command1_Click()<br />

Static i As Integer<br />

i = LOF(file_no) / Len(student)<br />

i = i + 1<br />

student.no = Text1.Text<br />

student.name = Text2.Text<br />

student.score = Val(Text3.Text)<br />

Put #file_no, i, student<br />

Text1.Text = ""<br />

Text2.Text = ""<br />

Text3.Text = ""<br />

Text1.SetFocus<br />

End Sub<br />

Private Sub Command2_Click()<br />

Dim j As Integer<br />

Do While j LOF(file_no) / Len(student)<br />

第 86 頁


j = j + 1<br />

Get #file_no, j, student<br />

Text1.Text = student.no<br />

Text2.Text = student.name<br />

Text3.Text = student.score<br />

MsgBox "第" & j & "筆資料"<br />

Loop<br />

End Sub<br />

Private Sub Form_Activate()<br />

file_no = FreeFile<br />

Open App.Path & "\ran" For Random As #file_no Len =<br />

Len(student)<br />

Print Len(student)<br />

End Sub<br />

執行結果畫面<br />

第 87 頁


64 題目說明:利用循序檔將資料顯示在文字方塊內。<br />

檔案路徑名稱 02\0604 作業\1<br />

表單內容<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim x As String<br />

Open App.Path & "\data1.txt" For Input As #1<br />

Do While Not EOF(1)<br />

x = Input(1, #1)<br />

Text1.Text = Text1.Text & x<br />

Loop<br />

Close<br />

End Sub<br />

Private Sub Command2_Click()<br />

End<br />

End Sub<br />

執行結果畫面<br />

第 88 頁


65 題目說明:利用循序檔將資料顯示在各個欄位上。<br />

檔案路徑名稱 02\0604 作業\2<br />

表單內容<br />

程式碼<br />

Private Sub Command1_Click()<br />

Dim sum, x, y As Integer<br />

Open App.Path & "\data2.txt" For Input As #1<br />

If Not EOF(1) Then<br />

Input #1, x, y, z<br />

Text1 = x<br />

Text2 = y<br />

Text3 = z<br />

total = y * z<br />

Text4 = total<br />

End If<br />

Command2.Enabled = True<br />

End Sub<br />

Private Sub Command2_Click()<br />

If Not EOF(1) Then<br />

Input #1, x, y, z<br />

Text1 = x<br />

Text2 = y<br />

Text3 = z<br />

total = y * z<br />

Text4 = total<br />

Else<br />

Close #1<br />

Command2.Enabled = False<br />

Command1.Enabled = True<br />

End If<br />

End Sub<br />

Private Sub Command3_Click()<br />

第 89 頁


End<br />

End Sub<br />

Private Sub Form_Load()<br />

Dim sum, x, y As Integer<br />

Open App.Path & "\data2.txt" For Input As #1<br />

If Not EOF(1) Then<br />

Input #1, x, y, z<br />

Text1 = x<br />

Text2 = y<br />

Text3 = z<br />

total = y * z<br />

Text4 = total<br />

End If<br />

End Sub<br />

執行結果畫面<br />

第 90 頁


66 題目說明:將資料存在各欄位並利用下拉式選單選取資料。<br />

檔案路徑名稱 02\0618 作業\11<br />

表單內容<br />

程式碼<br />

Private Type record<br />

no As String * 6<br />

name As String * 8<br />

score As Integer<br />

End Type<br />

Dim student As record<br />

Dim file_no As Integer<br />

Private Sub Combo1_click()<br />

If Combo1.ListIndex > 0 Then<br />

Get #file_no, Combo1.ListIndex, student<br />

Text1.Text = student.no<br />

Text2.Text = student.name<br />

Text3.Text = student.score<br />

End If<br />

End Sub<br />

Private Sub Command1_Click()<br />

Static i As Integer<br />

i = LOF(file_no) / Len(student)<br />

i = i + 1<br />

student.no = Text1.Text<br />

student.name = Text2.Text<br />

student.score = Val(Text3.Text)<br />

Put #file_no, i, student<br />

Text1.Text = ""<br />

Text2.Text = ""<br />

Text3.Text = ""<br />

Text1.SetFocus<br />

End Sub<br />

第 91 頁


Private Sub Command2_Click()<br />

Dim j As Integer<br />

Do While j LOF(file_no) / Len(student)<br />

j = j + 1<br />

Get #file_no, j, student<br />

Text1.Text = student.no<br />

Text2.Text = student.name<br />

Text3.Text = student.score<br />

MsgBox "第" & j & "筆資料"<br />

Loop<br />

Combo1.AddItem "請選擇"<br />

Combo1.Visible = True<br />

Combo1.Enabled = True<br />

For no = 1 To LOF(file_no) / Len(student)<br />

Combo1.AddItem "第" & no & "筆"<br />

Next<br />

End Sub<br />

Private Sub Form_Activate()<br />

file_no = FreeFile<br />

Open App.Path & "\ran" For Random As #file_no Len =<br />

Len(student)<br />

Print Len(student)<br />

End Sub<br />

執行結果畫面<br />

第 92 頁

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!