|
|
||||||||||||||||||||||||
|
一個算術式是由運算元(Operands)、運算子(Operators)和間隔符號(Delimiters)等三者所組成。 |
||||||||||||||||||||||||
|
|
||||||||||||||||||||||||
|
1.括號內先處理。 |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
常用的算術式運算表示法 |
||||||||||||||||||||||||
|
中序法是我們最常見的表示法,而後序式記法又稱為逆波蘭記法(Reverse Polish Notation,RPN),是計算機科學極為常用的表示法。如何將中序法轉成後序法呢? (2)括號法:
b.移動所有運算子來取代所有的右括號,以最近為原則。
c.去掉所有左括號。
2.中序 > 前序(infix > prefix)
b.移動所有運算子來取代所有的左括號,以最近為原則。
c.去掉所有右括號。
|
||||||||||||||||||||||||
|
(3)堆疊法: |
||||||||||||||||||||||||
|
2.中序 > 前序 |
||||||||||||||||||||||||
|
按著我們要來研究的是「反向」運用的問題。也就是如何將已知的後序與前序表示法轉換為中序表示法。這也有二種方法,我們說明如下: |
||||||||||||||||||||||||
|
如下面是用堆疊法將 AB*CD+-A/轉為中序法的過程 結果是(A*B-(C+D))/A。 |
||||||||||||||||||||||||
|
B.前序今中序 |
||||||||||||||||||||||||
| 例: 使用堆疊法表示-+/A**BC*DE*AC轉為中序法的過程 結果是A/B**C+D*E-A*C |
||||||||||||||||||||||||