平成22年度秋期 応用情報技術者試験 午前 問1

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

後置表記法(逆ポーランド表記法)では,例えば,式 Y=(A-B)×C を YAB-C×= と表現する。 次の式を後置表記法で表現したものはどれか。 Y=(A+B)×(C-(D÷E))

  1.  YAB+C-DE÷×=
  2.  YAB+CDE÷-×=
  3.  YAB+EDC÷-×=
  4.  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に帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問