SC情報処理安全確保支援士試験 午前Ⅰ

令和5年度秋期 情報処理安全確保支援士 午前Ⅰ 問1

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    32
  2. イ
    46
  3. ウ
    48
  4. エ
    94
解き方のヒントを見る

午前I 問01:逆ポーランド表記は“積み木”みたいに順番に処理しよう

後置記法(逆ポーランド表記)は、左から順に読んで、値をスタックに積んでいくのがコツだよ。演算子が出てきたら、直前に積んだ値を取り出して計算する。今回なら、まず `C-D` を計算し、その結果に `B` を掛けて、最後に `A` を足せばOKだよ。

この問題で問われていること

逆ポーランド表記を左から順に読み、スタックを使って正しく評価できるかがポイントだよ。

Reverse Polish Evaluation

`ABCD-*+` = `A + (B * (C-D))`

C-D = 2\nB*2 = 16\nA+16 = 32

確認ポイント

  • 演算子は直前の 2 値に適用する。
  • 中置記法へ直してから計算してもよい。
  • 評価順を崩さない。
正解と解説を見る

正解

ア

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア(正解)

32が正解だよ。逆ポーランド記法では、AB+がA+Bになるように、記号は「直前の2つを計算してね」という合図。ABCD−×+は、まず4−2=2、次に8×2=16、最後に16+16=32。積み木を上から2個ずつ片付けるイメージだよ。

選択肢イ

46は不正解だよ。逆ポーランド記法は、数字をいったん机に積んで、記号が出たら直前の2つを計算するルール。C−Dは4−2=2、そのあとB×2で8×2=16、最後にAを足して16+16=32になるので、46にはならないよ。

選択肢ウ

48は不正解だよ。これは左から普通に読む式じゃなくて、レジの人が直前の品物2つずつ処理するみたいに、演算子が出たタイミングで計算するんだ。C−D=2、B×2=16、A+16=32なので、48は途中の組み合わせを取り違えた値だね。

選択肢エ

94は不正解だよ。逆ポーランド記法では、数字をただ並べて大きな数として読むわけではないんだ。A、B、C、Dを順に置いて、記号が来たら直前の2つを計算するだけ。計算結果は32なので、94のような値にはならないよ。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針