平成22年度秋期 応用情報技術者試験 午前 問1
後置表記法(逆ポーランド表記法)では,例えば,式 Y=(A-B)×C を YAB-C×= と表現する。 次の式を後置表記法で表現したものはどれか。 Y=(A+B)×(C-(D÷E))
- ア YAB+C-DE÷×=
- イ YAB+CDE÷-×=
- ウ YAB+EDC÷-×=
- エ YBA+CD-E÷×=
解答・解説を見る
正解:イ
AI解説
後置表記法(逆ポーランド表記法)は「演算子を両オペランドの後に置く」表記法であり、式の構文木を帰りがけ順(postorder:左部分木→右部分木→根)でたどることで得られる。Y=(A+B)×(C-(D÷E))を変換すると、まずA+B→AB+、D÷E→DE÷、C-(D÷E)→CDE÷-、(A+B)×(...)→AB+CDE÷-×、最後にY=(...)→YAB+CDE÷-×=となる。 ア: D÷EをDE÷ではなく別の順序で処理しており、後置表記の変換手順(部分式ごとに演算子を後置に移す)が正しくない。 イ: 正しい。手順どおりに変換するとYAB+CDE÷-×=となる。 ウ: D÷EをEDC÷のように誤った順序・対象で変換しており、正しい後置表記になっていない。 エ: A+BをBA+のように演算対象の順序を入れ替えており、後置表記の変換として正しくない。 💡 後置表記への変換は「内側の部分式(括弧内)から順に、演算子をオペランドの直後に移す」という操作を再帰的に繰り返すと覚えると変換ミスを防げる。
出典:平成22年度 秋期 応用情報技術者試験 午前 問1 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。