다음 두 프로시저가 반복하는 프로세스인지 되도는 프로세스인지 구별하고 각 프로시저의 프로세스 과정을 밝혀라.
프로시저 1
1
2
3
4
5
6
7
8
9
(define (+ a b)
(if (= a 0)
b
(inc (+ (dec a) b))))
프로시저 2
1
2
3
4
5
6
7
8
9
(define (+ a b)
(if (= a 0)
b
(+ (dec a) (inc b))))
우선, 프로시저 1의 프로세스 과정을 보면
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(+ 4 5)
(inc (+ 3 5))
(inc (inc (+ 2 5)))
(inc (inc (inc (+ 1 5))))
(inc (inc (inc (inc (+ 0 5)))))
(inc (inc (inc (inc (5)))))
(inc (inc (inc 6)))
(inc (inc 7))
(inc 8)
9
결과 적으로 프로시저 1은 되도는 프로세스 과정이다.
다음으로 프로시저 2의 프로세스 과정을 보면
1
2
3
4
5
6
7
8
9
10
11
12
13
(+ 4 5)
(+ 3 6)
(+ 2 7)
(+ 1 8)
(+ 0 9)
9
결과 적으로 프로시저 2는 반복하는 프로세스 과정이다.