【試題編號】11900-940308
【題目】分數加、減、乘、除運算
【說明】下表列出分數的四則運算法則。
Private Sub Form_Load() 在表單載入時執行
mfg1.Row = 0 設起始的列數為0
mfg1.Col = 1: mfg1.Text = "VALUE1" 設定各標題欄名稱
mfg1.Col = 2: mfg1.Text = "OP"
mfg1.Col = 3: mfg1.Text = "VALUE2"
mfg1.Col = 4: mfg1.Text = "ANSWER"
Open App.Path & "\940308.SM" For Input As #8 開啟資料檔
Do Until EOF(8) 讀出檔案直到資料結束
Input #8, a, b, x, c, d 讀出5組資料
判斷資料檔的"+"、"-"、"*"、"/",並帶入運算式求出值
If x = "+" Then ans1 = (a * d + c * b): ans2 = (b * d)
If x = "-" Then ans1 = (a * d - c * b): ans2 = (b * d)
If x = "*" Then ans1 = a * c: ans2 = b * d
If x = "/" Then ans1 = a * d: ans2 = b * c
If ans1 Mod ans2 = 0 Then 若答案1可被答案2整除
ans = ans1 / ans2 那最後答案則為答案1除以答案2
Else 否則的話
For i = ans2 To 2 Step -1 從答案2本身到回去找是否有可以整除的數
If ans1 Mod i = 0 And ans2 Mod i = 0 Then 若答案1和2皆可整除
ans1 = ans1 / i 便各別將答案1和2整除剛剛利用回圈找到的公因數
ans2 = ans2 / i
End If
Next i 重複執行迴圈
ans = ans1 & "/" & ans2 最後答案則為ans1/ans2
End If
mfg1.Rows = mfg1.Rows + 1 總列數為總列數+1
mfg1.Row = mfg1.Rows - 1 目前列數回總列數-1
mfg1.Col = 1: mfg1.Text = " " & a & "/" & b 顯示各行的資料
mfg1.Col = 2: mfg1.Text = " " & x
mfg1.Col = 3: mfg1.Text = " " & c & "/" & d
mfg1.Col = 4: mfg1.Text = " " & ans
Loop 重複
Close #8 關閉檔案
End Sub
列印結果: