Recherche avec option
Exercice · OCaml (option informatique), chapitre 5 — Les tableaux
Énoncé
Écrire indice x t renvoyant Some i (première position de x) ou None, par une boucle qui s'arrête dès qu'on a trouvé.
Corrigé
let indice x t =
let n = Array.length t in
let i = ref 0 and trouve = ref None in
while !i < n && !trouve = None do
if t.(!i) = x then trouve := Some !i;
i := !i + 1
done;
!trouve
La condition !i < n && !trouve = None (paresseuse) garantit deux choses : on ne déborde pas, et on cesse dès la première occurrence. Le type option évite une valeur sentinelle comme -1.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.