再帰的に定義された手続 proc で,proc(5) を実行したとき,印字される数字を順番に並べたものはどれか。
proc(n)
n=0 ならば戻る
そうでなければ
{
n を印字する
proc(n−1) を呼び出す
n を印字する
}
を実行して戻るテクノロジ系
再帰的に定義された手続 proc で,proc(5) を実行したとき,印字される数字を順番に並べたものはどれか。
proc(n)
n=0 ならば戻る
そうでなければ
{
n を印字する
proc(n−1) を呼び出す
n を印字する
}
を実行して戻る正解 イ
proc(1)は1を印字してproc(0)を呼び、戻ってからもう一度1を印字します。n=0では何も印字しないため、5432112345になります。
各呼出しは、nを印字し、proc(n−1)を呼び、戻ったらもう一度nを印字します。proc(5)からproc(1)までの行きで、5、4、3、2、1の順に印字されます。proc(0)は印字せずにすぐ戻ります。その後、proc(1)から順に戻るので、1、2、3、4、5の順に印字されます。行きと帰りを合わせて、印字は5432112345になります。
ア:proc(1)も行きと帰りで1を2回印字します。1が1回だけの並びにはなりません。
ウ:n=0のときは印字せずに戻ります。0は印字されません。
エ:n=0のときは印字せずに戻ります。0が2回印字されることはありません。
出典:平成25年度 秋期 応用情報技術者試験 問8
全年度から出題。10問で実力を判定します。登録不要。
出典:平成25年度 秋期 応用情報技術者試験 問8(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方