算術表示式abcde轉為字尾表示式是?具體分析

2021-03-07 14:00:45 字數 2680 閱讀 1552

1樓:59分粑粑

轉為字尾表示式是「abcde/+*+ 」。

a+b*(c+d/e)   (a+(b*(c+(d/e))))通過根據運算子的優先順序將所有算術單元括起來,該表示式變為:(a+(b*(c+(d/e)))),然後轉換字尾表示式。

字尾:將操作符號移到相應的括號之後,然後變為:(a(b(c(de)/)+)*)+

除去括號後的表示式是字尾表示式:abcde/+*+

2樓:蘑菇西餐

轉化後的字尾表示式為:abcde/+*+

具體分析:

1、初始化一空棧,用來對符號進出棧使用。

2、第一個字元是a,輸出,後面是符號「+」,進棧。輸出的為a。

3、第三個字元是b,輸出,後面是符號「*」,進棧。輸出的為ab。

4、 第五個字元是「(」,依然是符號,因其只是左括號,還未配對,故進棧。輸出的為ab。

5、第六個字元是c,輸出,後面是符號「+」,進棧。輸出的為abc。

6、第八個字元是d,輸出,後面是符號「/」,進棧。輸出的為abcd。

7、後面是字元e,輸出,之後是「)」配對完成。進棧輸出的為abcde。

8、棧頂元素「(」出棧,「/」出棧,「+」出棧,「(」出棧,括號配對完成。

9、之後也是依次出棧,最後結果為:abcde/+*+。

擴充套件資料:

字尾表示式進行計算的通用做法:

可以先建立一個棧s 。從左到右讀表示式,如果讀到運算元就將它壓入棧s中,如果讀到n元運算子(即需要引數個數為n的運算子)則取出由棧頂向下的n項按操作符運算,再將運算的結果代替原棧頂的n項,壓入棧s中 。如果字尾表示式未讀完,則重複上面過程,最後輸出棧頂的數值則為結束。

字尾表示式:也叫逆波蘭表示法(reverse polish notation,rpn,或逆波蘭記法),是一種是由波蘭數學家揚·武卡謝維奇2023年引入的數學表示式方式,在逆波蘭記法中,所有操作符置於運算元的後面,因此也被稱為字尾表示法。逆波蘭記法不需要括號來標識操作符的優先順序。

實際意義:

1、當有操作符時就計算,因此,表示式並不是從右至左整體計算而是每次由中心向外計算一部分,這樣在複雜運算中就很少導致操作符錯誤。

2、堆疊自動記錄中間結果,這就是為什麼逆波蘭計算器能容易對任意複雜的表示式求值。與普通科學計算器不同,它對表示式的複雜性沒有限制。

3、逆波蘭表示式中不需要括號,使用者只需按照表示式順序求值,讓堆疊自動記錄中間結果;同樣的,也不需要指定操作符的優先順序。

4、逆波蘭計算器中,沒有「等號」鍵用於開始計算。

5、逆波蘭計算器需要「確認」鍵用於區分兩個相鄰的運算元。

6、機器狀態永遠是一個堆疊狀態,堆疊裡是需要運算的運算元,棧內不會有操作符。

7、教育意義上,逆波蘭計算器的使用者必須懂得要計算的表示式的含義。

3樓:莫道無情

轉為字尾表示式是abcde/+*+

a+b*(c+d/e)   (a+(b*(c+(d/e))))按照運算子的優先順序對所有的運算單位加括號,式子變成了:(a+(b*(c+(d/e)))),然後轉換字尾表示式。

字尾:把運算子號移動到對應的括號後面,則變成了:(a(b(c(de)/)+)*)+

把括號去掉後的式子則為字尾表示式: abcde/+*+

4樓:匿名使用者

a+b*(c+d/e)

(a+(b*(c+(d/e)))) 按計算順序加上括號(a(b(c(de)/)+)*)+ 把運算子放到括號外面abcde/+*+ 去掉括號

5樓:匿名使用者

abcde/+*+

腦算,沒用程式設計實現!

字尾表示式是從左到右算。

我給你說說我的技巧吧,也許你就學會了。

1。先寫好順序 abcde

2。然後按運算順序符號 abcde/ abcde/+ abcde/+* abcde/+*+

ok解決。

心得技巧:這是按符號算,從第一個符號的左邊倆個數開始算。每個符號都是算符號左邊的兩個數!

sorry.

資料結構問題,​算術表示式a+(b-c+d)*e的字尾式是

6樓:林偉華

轉換是從左到右讀bai取

1、遇du到a

2、遇到+

3、遇到(,先進行括zhi號計dao算,+號推後4、遇到b

5、遇到-,因回為括答號把a隔開,所以還沒湊齊兩個數,所以放到後面6、遇到c,湊齊兩個數可以進行計算,現在字尾表示式為abc-7、遇到+,前面的只有一個值,是bc-的結果,所以要再讀入一個值8、遇到d,湊齊了兩個數可以計算,a bc- d +9、遇到),括號優先結束

10、遇到*高於+先進行計算

11、e於()中的結果進行計算,現在字尾表示式為abc-d+e*12、最後進行+的運算

得出結果abc-d+e*+

這轉換方法也跟字尾式的計算方法有關,比如堆疊的使用,可以將abcde分別代入12345,字尾式的計算方法,abc在棧中,a在棧底,遇到-運算子,從bc從棧中出棧,計算,2-3=-1又放回棧中,遇到d壓入棧,遇到+,又取出-1+4=3,又壓入棧中,遇到e壓入棧,又遇到*,3和4又出棧3*5=15壓回棧中,遇到+,1+15,最後結果為16,這就是字尾式的計算,如果將abcde代入12345帶入中序式子a+(b-c+d)*e結果也是一樣的

不知道我能不能很好的說清楚,望有用

中綴表示式轉換成字尾表示式並求值

1 中綴表示式字尾演算法 遇到運算元,直接輸出。2 棧是空的,遇到操作符,直接推棧。3 當遇到開括號時,按下它,如下圖所示。4 當遇到右括號時,執行out操作並開始輸出out元素。直到彈出堆疊的元素是一個開括號。5 當遇到其他操作符時,彈出該操作符大於或等於堆疊頂部的所有優先順序元素,然後將該操作符...

c語言,算術表示式的值,要具體程式x a 3 int x y 2 4 設x 2 5,a 7,y 4 7 拜託了,明天就要的

include int main main double result double x,int a,double y int main z就是你要的結果內。容 double func c語言程式設計 編寫程式求下列表示式的值 x a 3 x y 2 4.設x 2.5,a 7,y 4 include...

易語言正規表示式寫法,易語言中怎麼用正規表示式

s s s s s s formatresult s s s s s s s s 子匹配du 文字zhi1 取標dao題 子匹配文字2 取期 回數子匹配文字3 取日期 子匹配文字4 開獎號 呼叫正則 答.取子匹配檔案就可以了。網頁連結 易語言中怎麼用正規表示式 正規表示式,又稱正規表示法 常規表示法...