;samenvatting van constructors en selectors die nodig zijn : ; (make-w-vector coordinatenlijst) ; (coordinate nummer wvect) ; nummer loopt van 1 tot n ; (dimension wvect) ; ;eerst de voorstelling met lijsten (define (make-w-vector coordinatenlijst) coordinatenlijst) (define (coordinate nummer wvect) (define (getelement pos lst) (if (= pos 1) (car lst) (getelement (- pos 1) (cdr lst)))) (if (or (< nummer 1) (> nummer (dimension wvect))) (error "coordinate error...") (getelement nummer wvect))) (define (dimension wvect) (define (iter acc lst) (if (null? lst) acc (iter (1+ acc) (cdr lst)))) (iter 0 wvect)) ;dan nu de definitie met vectoren (define (make-w-vector2 coordinatenlijst) (list->vector coordinatenlijst)) (define (dimension2 wvect) (vector-length wvect)) (define (coordinate2 nummer wvect) (if (or (< nummer 1) (> nummer (dimension2 wvect))) (error "coordinate-error") (vector-ref wvect (- nummer 1))))