Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (avg a b)
  (/ (+ a b) 2))

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

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

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

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

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

(define (start-segment s)
  (car s))

(define (end-segment s)
  (cdr s))

(define (midpoint-segment s)
  (let ((start (start-segment s))
        (end (end-segment s)))
          (make-point (avg (x-point start) (x-point end))
                      (avg (y-point start) (y-point end)))))

#| END |#