平成25年度秋期 問8 / 80

平成25年度 秋期 応用情報技術者試験 午前 問8

再帰的に定義された手続 proc で,proc(5) を実行したとき,印字される数字を順番に並べたものはどれか。

proc(n)
 n=0 ならば戻る
 そうでなければ
 {
   n を印字する
   proc(n−1) を呼び出す
   n を印字する
 }
 を実行して戻る

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

proc(n) は「n を印字 → proc(n−1) → n を印字」なので,

  • proc(5) = 5,proc(4),5
  • proc(4) = 4,proc(3),4
  • …
  • proc(1) = 1,proc(0),1
  • proc(0) は何も印字せずに戻ります。

展開すると 5 4 3 2 1 1 2 3 4 5 となります。0 は印字されません。

  • ア: 543212345
    誤り。1 は proc(1) の前後で2回印字されるので,「11」が並びます。

  • イ: 5432112345
    正しい。5432112345 となり,手順どおりです。

  • ウ: 54321012345
    誤り。n=0 のときは何も印字せずに戻るので,0 は印字されません。

  • エ: 543210012345
    誤り。n=0 のときは何も印字せずに戻るので,0 は印字されません。


答え

イ: 5432112345

出典:平成25年度 秋期 応用情報技術者試験 午前 問8

平成25年度秋期の他の問題