Add Exercise 2.7
This commit is contained in:
parent
9fa67213bf
commit
329d0d7098
@ -56,3 +56,32 @@
|
|||||||
|
|
||||||
(defun print-point (p)
|
(defun print-point (p)
|
||||||
(format t "(~a,~a)~%" (x-point p) (y-point p)))
|
(format t "(~a,~a)~%" (x-point p) (y-point p)))
|
||||||
|
|
||||||
|
;; Exercise 2.7
|
||||||
|
(defun make-interval (a b)
|
||||||
|
(cons a b))
|
||||||
|
|
||||||
|
(defun lower-bound (x)
|
||||||
|
(car x))
|
||||||
|
|
||||||
|
(defun upper-bound (x)
|
||||||
|
(cdr x))
|
||||||
|
|
||||||
|
(defun add-interval (a b)
|
||||||
|
(make-interval (+ (lower-bound a) (lower-bound b))
|
||||||
|
(+ (upper-bound a) (upper-bound b))))
|
||||||
|
|
||||||
|
(defun mul-interval (a b)
|
||||||
|
(let ((p1 (* (lower-bound a) (lower-bound b)))
|
||||||
|
(p2 (* (lower-bound a) (upper-bound b)))
|
||||||
|
(p3 (* (upper-bound a) (lower-bound b)))
|
||||||
|
(p4 (* (upper-bound a) (upper-bound b))))
|
||||||
|
(make-interval (min p1 p2 p3 p4)
|
||||||
|
(max p1 p2 p3 p4))))
|
||||||
|
|
||||||
|
(defun div-interval (a b)
|
||||||
|
(mul-interval
|
||||||
|
a
|
||||||
|
(make-interval (/ 1.0 (upper-bound b))
|
||||||
|
(/ 1.0 (lower-bound b)))))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user