Ecole Préparatoire (EP) 2016-2017
Module Informatiquepar Dr KADJO
Informatique
Devoir N°2
Durée : 2H00
« Ordinateurs, tablette et autres téléphones interdits, Documents non autorisés » »
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa
copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre.
Exercice 1
Simulation numérique
Pour 𝑛 ∈ ℕ∗ , on pose :
𝑆 , = 𝑢
( )
où la suite 𝑢 est définie par 𝑢 = pour tout entier naturel 𝑛 non nul.
1) Ecrire une fonction Somme() qui calcule 𝑆 , . Cette fonction prendra en argument un entier
naturel N.
2) On admet que l’on a
1 1 1
𝑆 , = 𝑢 = sin(𝑘) + − sin(𝑘)
𝑁 𝑛 𝑛+1
et que 𝑆 , converge, écrire une fonction SommeLimite() qui détermine la valeur numérique
approchée de ∑ 𝑢
Exercice 2
Récursivité
Les nombres de Catalan constituent la suite (𝐶 ) ∈ℕ , avec 𝐶 = 1 , et
∀𝑛 ∈ ℕ, 𝐶 = 𝐶 𝐶
Ecrire une fonction récursive qui réalise le calcul de 𝐶
Exercice 3
Pile
Montrer l’évolution d’une pile au cours d’une série d’empilements et de dépilements provoqués par
la suite suivante
I*NFO***RE*CU*RSI***VE***S**
Chaque lettre provoque un empilement et chaque astérix un dépilement
Exercice 4
Encore plus récursive
On veut réaliser des calculs en chiffres romains. Le principe pour traduire en chiffres arabes un
nombre écrit en chiffres romains est le suivant : si le premier chiffre du nombre romain a une valeur
inférieure au deuxième, alors on le soustrait de la valeur de tout le reste, sinon on l’additionne à la
valeur de tout le reste.
1) Ecrire une fonction qui traduit chaque chiffre romain en son équivalent en chiffres arabes.
NB : les correspondances sont I(1), V(5), X(10), L(50), C(100), D(500) et M(1000)
2) Ecrire une fonction récursive qui prend en paramètre une chaine de caractères représentant un
nombre écrit en chiffres romains et retourne sa valeur entière. Déterminer sa complexité.