【試題編號】11900-940308
【題目】分數加、減、乘、除運算
【說明】下表列出分數的四則運算法則。
14.bmp 

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

列印結果:
15.bmp 

 

arrow
arrow
    全站熱搜

    薰斐♥ 發表在 痞客邦 留言(0) 人氣()