LONGEPASS
Q96.

下列那些對運算式a/(b+c)*d-e 的敘述為正確?

電腦軟體設計共同科目 · 乙級 · Q96

難易度分析

4 / 5

本題要求同時掌握前置式與後置式的轉換邏輯,且屬於多選題型,必須對所有選項的正確性進行完整判別。由於涉及運算優先級的分析以及複雜的符號順序推導,對精確度要求較高。

正確答案 (複選):①, ②

  • ① 其前置式(Prefix)為 -*/a+bcde:前置式(Prefix) 轉換需從運算樹根節點開始,最後運算為減號 `-`,左子樹依序為乘法 `*`、除法 `/`、加法 `+`,故結果為 `-*/a+bcde`,符合運算式樹狀結構的前序走訪規則。
  • ② 其後置式(Postfix)為 abc+/d*e-:後置式(Postfix) 轉換採用後序走訪,依序輸出運算元後再輸出運算子,括號內 `b c +` 優先處理,接著 `/`、`d`、`*`、`e`、`-`,結果為 `abc+/d*e-`,符合堆疊運算的正確順序。

錯誤選項解析

  • ③ 其前置式(Prefix)為 -*/+bcade:此前置式 `-*/+bcade` 錯誤地將 `+bc` 置於 `a` 之前,正確的前置式應為 `-*/a+bcde`,運算元 `a` 必須緊接在除法 `/` 之後,此選項違反運算樹前序走訪的節點輸出順序。
  • ④ 其後置式(Postfix)為 abc+d/e-:此後置式 `abc+d/e-` 遺漏了乘法運算子 `*` 且順序錯誤,正確的後置式應為 `abc+/d*e-`,除法 `/` 應在 `+` 之後、`d` 之前出現,此選項不符合運算式樹狀結構的後序走訪結果。
Learning Tip

"前置式與後置式轉換的核心在於建構運算式樹:前置式採前序走訪(根→左→右),後置式採後序走訪(左→右→根)。常考陷阱包括:① 忽略運算子優先順序導致樹狀結構錯誤,② 混淆左結合性(如 `/` 與 `*` 同優先級時由左至右),③ 後置式遺漏運算子或運算元順序顛倒。實務上可利用堆疊法驗證:後置式由左至右掃描,遇運算子即彈出兩個運算元進行運算,最終堆疊應剩唯一結果。"

學員答題分佈

①其前置式(Prefix)為 -*/a+bcde0%
②其後置式(Postfix)為 abc+/d*e-0%
③其前置式(Prefix)為 -*/+bcade0%
④其後置式(Postfix)為 abc+d/e-0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目