再帰的に定義された手続き proc で、proc(5) を実行したとき、印字される数字を順番に並べたものはどれか。
proc(n)
n = 0ならば戻る
そうでなければ
{
n を印字する
proc(n - 1) を呼び出す
n を印字する
}
を実行して戻る
ア 543212345
イ 5432112345
ウ 54321012345
エ 543210012345
イ
proc(5) を呼び出すと、引数が0でないので、
5を印字する。
proc(5 - 1) = prov(4) を呼び出す。
proc(4) を呼び出すと、引数が0でないので、
4を印字する。
proc(4 - 1) = prov(3) を呼び出す。
proc(3) を呼び出すと、引数が0でないので、
3を印字する。
proc(3 - 1) = prov(2) を呼び出す。
・・・
proc(1) を呼び出すと、引数が0でないので、
1を印字する。
proc(1 - 1) = prov(0) を呼び出す。
proc(0) を呼び出すと、引数が0なので戻る。
1を印字する。
戻る
・・・
3を印字する。
戻る。
4を印字する。
戻る
5を印字する。
戻る
従って、印字結果は、5432112345となる。
問7 | 目次 | 問9 |