1.9
第一个过程显然是递归,用替换模型张开后,这个过程是一个先增大后减小的过程。从状态变量的反面来说,a在这个过程里面存储了一个状态,他是一个计数器(判断是不是变量一个状态变量的基本方法就是这个变量是不是可变)。但是b则完全没有状态,这个程序的结果依赖于每一个中间步骤,这个过程的执行也不能停下来。
而第二个过程则是铁定的过程,因为a和b都是一个状态变量。a是一个计数器,b则就是结果。因此这个过程的所有状态都在这两个变量中。
1.10
A这个函数的定义
函数的输出:
#|kawa:1|# (define (A x y)
#|(---:2|# (cond ((= y 0) 0)
#|(---:3|# ((= x 0) (* 2 y))
#|(---:4|# ((= y 1) 2)
#|(---:5|# (else (A (- x 1)
#|(---:6|# (A x (- y 1))))))
#|kawa:7|# (A 1 10)
1024
#|kawa:8|# (A 2 4)
65536
#|kawa:9|# (A 3 3)
65536
(f n) = 2n
(g n) = z**n
(剩下的就不会了)