(define (dichot T v); T est un vecteur triƩ, v une valeur (let* ((petit 0) (grand (- (vector-length T) 1)) (pivot (quotient (+ grand petit) 2))) (if (= v (vector-ref T grand)) grand (if (= v (vector-ref T petit)) petit (let loop () (if (and (not (= petit pivot)) (not (= v (vector-ref T pivot)))) (begin (if (< (vector-ref T pivot) v) (set! petit pivot) (set! grand pivot)) (set! pivot (quotient (+ grand petit) 2)) (loop)) (if (not (= petit pivot)) pivot -1)))))))