24 lines
503 B
Scheme
24 lines
503 B
Scheme
#lang sicp
|
|
|
|
(define (make-segment a b)
|
|
(cons a b))
|
|
(define (start-segment s)
|
|
(car s))
|
|
(define (end-segment s)
|
|
(cdr s))
|
|
|
|
(define (make-point x y)
|
|
(cons x y))
|
|
(define (x-point p)
|
|
(car p))
|
|
(define (y-point p)
|
|
(cdr p))
|
|
|
|
(define (average a b)
|
|
(/ (+ a b) 2.0))
|
|
|
|
(define (midpoint-segment s)
|
|
(make-point (average (x-point (start-segment s))
|
|
(x-point (end-segment s)))
|
|
(average (y-point (start-segment s))
|
|
(y-point (end-segment s)))))
|