SICP Exercise 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)


你可能感兴趣的:(c,user)