UNIX 檔案系統教材:簡易計算器

下指令

bc     # 就是 basic calculator 的縮寫
就進入一個簡易的計算器,使用方法很直覺,但是它只能做整數計算, 所以要小心,例如 2/3 會計算出來 0。因為它只取整數輸出。 bc 接受十進制的數字,能做以下六種基本運算:
加 +     減 -     乘 *     除 /     餘數 %     次方 ^
您只要輸入計算指令,然後按 Enter,bc 就會回應結果,例如
1+1
2
37/7
5
37%7
2
最後,按 Ctrl+D 離開 bc 程式。

加一個指令參數,如下

bc -l
則令 bc 以小數點下有 20 位的數值做計算,而且增加了一些科學計算的功能。 但是,求餘的 % 符號不再管用。例如
1+1
2
37/7
5.28571428571428571428
37%7
.00000000000000000004
也是以 Ctrl+D 結束程式。 增加的科學計算功能,有
平方根 sqrt()     sine s()     cosine c()     exp e()     自然對數 l()     arctangent a()
例如
sqrt(2)
1.41421356237309504880
s(3.14159)
.00000265358979323534
c(3.14159)
-.99999999999647923060
e(1)
2.71828182845904523536
l(2.71828)
.99999932734728200315
a(1)*4
3.14159265358979323844

其實 bc 和 bc -l 都是建構在另一個更基本的工具之上: dc (desk calculator)。這個計算器採用後運算 (postfix operation) 符號, 而且使用者可以自訂進位制和有效數字位數,還可以為它寫頗為複雜的程式。 我們將不會在此教材中詳述這個工具。


以下是非標準 UNIX 工具。中大數學系的 UNIX 系統有安裝。

一個比較簡單一點兒的後運算計算器是 pcalc (postfix calculator)。 我們不在此詳述後運算的道理,讀者在將來學習程式語言或資料結構的時候, 必然會遇到這個課題。此處只是舉例。下指令

pcalc
就會進入 pcalc 的計算環境。所謂後運算,就是每當出現一個計算符號的時候, 此符號視情況作用在前面一個或兩個數值上。 這兩個數值,可以是以數目字寫出來的常數,也可以是另外一個計算符號的結果。 計算的順序嚴格地由左而右,不需要括號也可以唯一定義計算順序。 以下是一些例子。
1 1 +
2
37 7 /
5.2857143
1 2 3 4 5 * + * +
47
以上最後一個式子,相對應的中位計算符號 (infix operator) 就是 1 + 2*(3 + 4*5) 。 在 pcalc 中輸入指令 ? 就會看到簡短的提示訊息, 按 Ctrl+D 離開 pcalc 程式。

習題

  1. 請將以下的後計算式,寫成中位計算式。
    1 2 3 4 5 + - * /
  2. 請將以下的 bc -l 指令計算式,寫成 pcalc 的指令計算式。
    (1 + 2.5^2) / sqrt(1 + 3*2.5)
單維彰 (2000/10/15) --- [Prev] [Next] [Up]