Compter les mots
Exercice · OCaml (option informatique), chapitre 6 — Caractères et chaînes de caractères
Énoncé
Écrire compte_mots s, le nombre de mots (suites maximales de caractères non-espaces) de s.
Corrigé
let compte_mots s =
let n = ref 0 and dans_mot = ref false in
for i = 0 to String.length s - 1 do
if s.[i] = ' ' then dans_mot := false
else begin
if not !dans_mot then n := !n + 1; (* début d'un nouveau mot *)
dans_mot := true
end
done;
!n
On maintient un drapeau dans_mot : on compte un mot de plus chaque fois qu'on entre dans une zone de non-espaces (transition espace lettre). compte_mots " le chat dort " vaut 3. C'est un petit automate à deux états.
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.