SkillStack
テクノロジ系1 / 30問

高度情報処理技術者試験・情報処理安全確保支援士試験 令和2年度 秋期 午前I 問1

式A+B×Cの逆ポーランド表記法による表現として、適切なものはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

逆ポーランド表記法では、演算子を二つの被演算子の後ろに置きます。元の式では乗算が加算よりも優先されるので、まずB×Cを「BC×」と表し、その結果をAに加える形にして「ABC×+」となります。スタックの変化で確認すると、A、B、Cを順に読み込んだ時点で[A、B、C]となり、「×」によってBとCを取り出してB×Cを積むので[A、B×C]となります。最後に「+」を適用するとA+B×Cが得られます。

アの「+×CBA」は誤りです。演算子が被演算子より前にあるため逆ポーランド表記ではありません。前置記法で元の式を表す場合も、正しくは「+A×BC」です。

イの「×+ABC」は誤りです。これは前置記法として解釈すると「×(+AB)C」、すなわち(A+B)×Cを表し、演算の順序も異なります。

エの「CBA+×」も逆ポーランド表記としては読めますが、AとBを加算した後でCを乗算するので、C×(B+A)を表します。

【ポイント】 逆ポーランド表記では「被演算子、被演算子、演算子」の順に並べます。 通常の式の優先順位を確定してから、内側の演算を順番に後置すると変換しやすくなります。 スタックを使って左から追跡すれば、表している式を確実に確認できます。

出典:令和2年度 秋期 高度情報処理技術者試験・情報処理安全確保支援士試験 午前I 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の30問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める