2008. 4. 3.

연습문제 2.2

(define (make-segment start end)
  (cons start end))

(define (start-segment line)
  (car line))

(define (end-segment line)
  (cdr line))

(define (make-point x y)
  (cons x y))

(define (point-x point)
  (car point))

(define (point-y point)
  (cdr point))

(define (mid-point segment)
  (let ((seg1 (start-segment segment))
        (seg2 (end-segment segment)))
    (make-point (average (point-x seg1)
                         (point-x seg2))
                (average (point-y seg1)
                         (point-y seg2)))))

(define (print-point p)
  (newline)
  (display "(")
  (display (point-x p))
  (display ",")
  (display (point-y p))
  (display ")"))

(define (average x y)
  (/ (+ x y) 2.))

댓글 없음:

댓글 쓰기