対話式で記憶に残る応用情報:逆ポーランド表記法

応用情報技術者試験

こんにちは、おゆかよです。
この記事では「逆ポーランド表記法(後置記法)」の計算方法が学べます。スタックの使い方もあわせて確認しましょう!^^

前回の記事:

試験の問題と解答

出典: 応用情報技術者試験 令和5年度秋期試験 午前問題 問3
問題:
逆ポーランド表記法(後置記法)で表現されている式 ABCD−×+ において、
A=16、B=8、C=4、D=2 のときの演算結果はどれか。

選択肢:
ア:32 イ:46 ウ:48 エ:94

正解:ア

逆ポーランド表記法とは

わたし
わたし

博士〜!逆ポーランド表記って名前だけでもう難しそうで…。問3が「ABCD−×+」ってなってて、意味がわかりません!

博士
博士

大丈夫だよ、おゆかよちゃん。逆ポーランド表記は「演算子があとに来る」書き方なんだ。スタックを使えば簡単に解けるよ。

わたし
わたし

スタックって、後から入れたものを先に取り出すやつですよね?

博士
博士

そうそう、LIFO(Last In First Out)構造だね。じゃあ、実際にこの式「ABCD−×+」を1個ずつ処理してみようか。

ステップ:

  • A=16 → スタックに[16]
  • B=8 → スタックに[16, 8]
  • C=4 → スタックに[16, 8, 4]
  • D=2 → スタックに[16, 8, 4, 2]

次は演算子だよ。

博士
博士

最初の演算子「−」は、スタックから2つ取り出して、4−2=2
→ スタックに[16, 8, 2]

次に「×」→ 8×2=16
→ スタックに[16, 16]

最後に「+」→ 16+16=32

わたし
わたし

ほんとだ!演算子が出てきたら、その都度スタックから2個取り出して、計算して戻すんですね!

博士
博士

その通り!だから答えはア:32なんだよ。

最後にもう一度、問題と解答を見てみよう

出典: 応用情報技術者試験 令和5年度秋期試験 午前問題 問3
問題:
逆ポーランド表記法(後置記法)で表現されている式 ABCD−×+ において、
A=16、B=8、C=4、D=2 のときの演算結果はどれか。

選択肢:
ア:32 イ:46 ウ:48 エ:94

正解:ア

まとめ

  • 逆ポーランド表記(後置記法)は「演算子があと」に来る
  • スタック構造で1つずつ処理していけばOK
  • 最後まで順に処理していけば、ちゃんと答えが出せる!

次の記事:

コメント

タイトルとURLをコピーしました