令和5年度秋期 応用情報技術者試験 午前 問3

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

逆ポーランド表記法(後置記法)で表現されている式 ABCD-×+において,A=16,B=8,C=4,D=2 のときの演算結果はどれか。逆ポーランド表記法による式 AB+は,中置記法による式 A+B と同一である。

  1.  32
  2.  46
  3.  48
  4.  94
解答・解説を見る

正解:ア

AI解説

逆ポーランド表記法は演算子を被演算数の後ろに置く記法で、スタックを使って左から順に処理する。ABCD−×+にA=16,B=8,C=4,D=2を当てはめると、まずC−D=4−2=2を計算し、次にB×2=8×2=16を計算し、最後にA+16=16+16=32となる。 ア: 16,8,2,2という順にスタックを操作し、C−D→B×(C−D)→A+(B×(C−D))の順に計算すると32になり、正解である。 イ: 計算順序を誤って加算と乗算の対象を取り違えると46のような値になるが、これは正しい演算結果ではない。 ウ: 同様に演算の対応関係を誤ると48という値が出ることがあるが、逆ポーランド表記の正しいスタック処理の結果ではない。 エ: 94はA,B,C,Dの単純な四則演算(例えば加算のみ)で得られる値に近く、逆ポーランド表記の正しい評価結果ではない。 💡 逆ポーランド表記の評価は「数値が来たらスタックに積む、演算子が来たら上から2つ取り出し演算してまた積む」という手順を機械的に繰り返すだけなので、後ろから2番目・1番目の順(先に積んだ方が左オペランド)に注意して計算するとよい。

出典:令和5年度 秋期 応用情報技術者試験 午前 問3 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

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

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

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

同じ分野(アルゴリズムとプログラミング)の過去問