PPT

第7回課題 (Aコース)
 フィボナッチ数列 (コード:p.171) について,fib(4)
を呼び出したときの起こる出来事は以下の通りである.
 同様に p.194 で main() から hanoi(2,’a’,’b’)を呼ぶ
ときに起こることを図示せよ (スタック状況, 返値は不要).
※ 順番 (丸数字) を忘れずに
main()
①
⑩
3
fib(4)
②
fib(3)
③
1
④
fib(2)
⑤
⑦
1
2
⑥
fib(1)
⑧
1
スタック領域
⑨
fib(2)
fib(3) 第2段階
第1段階
fib(4) 第2段階
第1段階
main()
1
第7回課題 (Aコース) 解答例
main()
①
⑭
hanoi (2, ’a’, ’b’)
②
⑦
hanoi (1, ’a’, ’c’)
③
④
hanoi (0, ’a’, ’b’)
⑤
⑥
hanoi (0, ’b’, ’c’)
画面表示
1番の円板を a から c に移動
2番の円板を a から b に移動
1番の円板を c から b に移動
⑧
⑬
hanoi (1, ’c’, ’b’)
⑨
⑩
hanoi (0, ’c’, ’a’)
⑪
⑫
hanoi (0, ’a’, ’b’)
スタック
hanoi(1, ‘c’,
‘a’, ‘b’)
‘c’)
hanoi(2, ‘a’, ‘b’)
main()
2