SC情報処理安全確保支援士試験 午前Ⅰ
令和5年度秋期 情報処理安全確保支援士 午前Ⅰ 問1
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア32
- イ46
- ウ48
- エ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による補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針