2008. 4. 3.

연습문제 2.3

먼저 기본적인 함수를 구성한다.

(define (make-rectangle p1 p2)
(cons p1 p2))

(define (rect-perimeter rect)
( * 2 (+ (rect-width rect)
(rect-height rect))))

(define (rect-area rect)
(* (rect-width rect)
(rect-height rect)))

이제 rect-width와 rect-height를 구성한다.

(define (rect-width rect)
(abs (- (point-x (start-rect rect))
(point-x (end-rect rect)))))

(define (rect-height rect)
(abs (- (point-y (start-rect rect))
(point-y (end-rect rect)))))

실행결과는 아래와 같다

> (define p1 (make-point 1 1))
> (define p2 (make-point 3 3))
> (define rect1 (make-rectangle p1 p2))
> (rect-perimeter rect1)
8
> (rect-area rect1)
4
>

댓글 없음:

댓글 쓰기