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 頁