Appel initial : Le premier appel de la fonction.
Appel initial : Le premier appel de la fonction.
Appel initial : Le premier appel de la fonction.
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3°.b/ Fonction histogramme qui affiche un histogramme horizontal représentant les entiers<br />
contenus dans une liste.<br />
Unit list :<br />
Récursivité c<strong>la</strong>ssique<br />
let rec histogramme liste =<br />
match liste with<br />
|[] -> []<br />
|h::t -> ligne 'X' h::histogramme t;;<br />
val histogramme : int list -> unit list list = <br />
histogramme [1;2;3];;<br />
XXX<br />
XX<br />
X<br />
- : unit list = [(); (); ()]<br />
Récursivité terminale<br />
let histogramme liste =<br />
let rec aux accumu<strong>la</strong>teur liste =<br />
match liste with<br />
|[] -> accumu<strong>la</strong>teur<br />
|h::t -> aux (ligne 'X' h::accumu<strong>la</strong>teur) t<br />
in<br />
aux [] liste;;<br />
val histogramme : int list -> unit list list = <br />
histogramme [1;2;3];;<br />
X<br />
XX<br />
XXX<br />
- : unit list = [(); (); ()]<br />
Unit<br />
let rec histogramme liste =<br />
match liste with<br />
|[] -> ()<br />
|h::t -> begin ligne 'X' h; histogramme t end;;