テクノロジ系2 / 30問
高度情報処理技術者試験・情報処理安全確保支援士試験 令和6年度 秋期 午前I 問2
式 A+B×C の逆ポーランド表記法による表現として、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
逆ポーランド表記法では、演算子を二つの演算対象の後ろに置きます。式では乗算を加算より先に行うので、まずBとCを並べて乗算記号を置き、「BC×」とします。次に、その結果をAに加えるため、Aを先頭に置いて最後に加算記号を置きます。したがって「ABC×+」となり、ウが正解です。
スタックで追うと、Aを読み込んだ時点で[A]、Bで[A、B]、Cで[A、B、C]となります。×を読むとBとCを取り出してB×Cを格納するので[A、B×C]となり、最後の+でAとB×Cを加えて[A+B×C]となります。
アの「+×CBA」は誤りです。演算子を演算対象より前に置くポーランド表記、すなわち前置記法の並びです。値としてはA+B×Cと等しくなりますが、逆ポーランド表記ではありません。
イの「×+ABC」も前置記法であり、式は(A+B)×Cを表します。
エの「CBA+×」は逆ポーランド表記としては有効ですが、AとBを先に加算するので、C×(B+A)を表します。
【ポイント】 逆ポーランド表記は「左辺、右辺、演算子」の順に並べます。 通常の優先順位を暗記して変換するより、先に計算する部分から後置するのが確実です。 スタックでは、演算子を読んだときに二つの値を取り出して計算結果を戻します。
出典:令和6年度 秋期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問2
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の30問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる