;eerst een definitie van de interface
;een constructor make-segment
; (define (make-segment start end) ...
;twee selectors startpoint en endpoint
; (define (startpoint segment) ...
; (define (endpoint segment) ...
;dan nu de definitie van een punt
;de constructor
; (define (make-point x y) ...
;de selectors
; (define (abcis point)...
; (define (ordinaat point)...
;hieronder staat dan de definite
(define (make-point x y)
(cons x y))
(define (abcis point)
(car point))
(define (ordinaat point)
(cdr point))
(define (make-segment start end)
(cons start end))
(define (startpoint seg)
(car seg))
(define (endpoint seg)
(cdr seg))
;het midden van een segment is (x1+(x2-x1)/2,y1+(y2-y1)/2
;eerst definieren van een hulpprocedure
(define (mid getal1 getal2)
(+ (getal1 (/ (- getal2 getal1) 2))))
(define (midpoint seg)
(make-point
(mid (abcis (startpoint seg))
(abcis (endpoint seg)))
(mid (ordinaat (startpoint seg))
(ordinaat (endpoint seg)))))