OCaml. Boucles et références

Exercice 1.
Écrire une fonction “log2 : int -> int = ” qui à un entier {m} associe le plus petit entier naturel {n} tel que {2^n} soit supérieur ou égal à {m}.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 2.
On définit les suites {(a_n)_{n\ge0}} et {(b_n)_{n\ge0}}
par la donnée de {a_0,b_0} et : {\forall\, n\in\mathbb{N},\;a_{n+1}=\sqrt{a_nb_n},\;b_{n+1}=\dfrac{a_n+b_n}{2}}.
Écrire une fonction “aritgeo : float -> float -> int -> unit” qui prend en argument les valeurs {a_0}, {b_0} et l’entier {n}, et qui affiche {a_k} et {b_k} pour tout {k} de {\{1,\ldots,n\}}.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 3.
On appelle moyenne arithmético-géométrique de deux réels (positifs) {a_0} et {b_0} la limite commune des deux suites {(a_n)_{n\ge0}} et {(b_n)_{n\ge0}} définies à l’exercice précédent.

Écrire une fonction “maritgeo : float -> float -> float” qui prend en argument les valeurs {a_0}, {b_0} et qui renvoie leur moyenne arithmético-géométrique.

Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 4.
Écrire une fonction “vcatalan : int -> int array” renvoyant le tableau des {(n+1)} premiers termes de la suite de Catalan, définie par {c_0=1}
et {\forall\, n\ge1,\;c_n=\displaystyle\sum\limits_{j+k=m-1}c_jc_k}.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 5.
Les nombres de Catalan (cf exercice précédent) satisfont à la relation {c_n=\dfrac{2(2n-1)}{n+1}c_{n-1}} pour tout {n\ge 1}.
Écrire une fonction itérative “catalan : int -> int” renvoyant {c_n}.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 6.
Les nombres de Catalan sont définis explicitement par : {\forall\, n\ge 0,\;c_n=\dfrac{1}{n+1}\dbinom{2n}{n}}.
Écrire une fonction “catalan : int -> int” renvoyant {c_n} (en utilisant cette définition de {c_n} bien sûr).
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 7.
Écrire une fonction “sumexp : int -> float -> float” calculant la somme {S_n(x)=\displaystyle\displaystyle\sum_{k=0}^{n}\dfrac{x^k}{k!}}.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez : 

Exercice 8.
Modifier la fonction “sumexp” de l’exercice précédent de façon à ce qu’elle utilise un schéma de Horner.
Cliquer ici pour voir (ou cacher) le corrigé
  Pour voir ce contenu, vous devez :