SICP 练习2.12 make-interval-percent

(define make-interval cons)
(define lower-bound car)
(define upper-bound cdr)

(define print-interval
  (lambda (z)
    (newline)
    (display (lower-bound z))
    (display " ~ ")
    (display (upper-bound z))))

(define (make-center-width c w)
  (make-interval (- c w) (+ c w)))

(define (center i)
  (/ (+ (lower-bound i) (upper-bound i)) 2))

(define (width i)
  (/ (- (upper-bound i) (lower-bound i)) 2))

(define (make-center-percent c p)
  (make-interval (- c (/ (* c p) 100.0)) (+ c (/ (* c p) 100.0))))

(define (percent i)
  (* (/ (width i) (center i)) 100.0))

(define d (make-center-percent 100 10))

(print-interval d)
(newline)
(display (center d))
(newline)
(display (width d))
(newline)
(display (percent d))

你可能感兴趣的:(SICP)