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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

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 : Pour poursuivre votre exploration, vous pouvez : Mathprepa.fr, c'est plus de 2500 exercices et 200 problèmes (tous soigneusement corrigés), un cours complet (maths et info), plus de 400 sujets de concours, etc. dans une présentation fluide et professionnelle adaptée à toutes les tailles d'écran, pour une souscription de 20€ (un an) ou 30€ (deux ans).

Author: Jean-Michel Ferrard

Professeur de mathématiques en classe préparatoire aux grandes écoles.