计算机程序的构造和解释习题3.33
SICP Exercise 3.33
This is similar as the celsius-fahrenheit-converter procedure.
- ;;;Exercise 3.33
- ;;;average
- (define (averager a b c)
- (let ((half (make-connector))
- (sum (make-connector)))
- (constant 0.5 half)
- (adder a b sum)
- (multiplier half sum c)
- 'ok))
the test code is:
- ;;;test averager
- (define a (make-connector))
- (define b (make-connector))
- (define c (make-connector))
- (set-value! a 5 'user)
- (probe "b" b)
- (probe "c" c)
- (define average (averager a b c))
- (set-value! b 6 'user)