Algorithmes
Exercice 4
Dans cet exercice, toute trace de recherche, même non aboutie, serait prise en compte lors de la notation
On considère un programme associé à l'algorithme suivant:
Lire $N$
$U$ ← 4
Pour $I$ allant de 1 à $ N$
$U$ ← $U^2-5$
Fin du Pour
Afficher $U$
1. Donner les valeurs successives prises par $I$ et $U$ lorsque le programme fonctionne pour une valeur de $N$ égale à 2.
2. Définir une suite $(u_n)$ pour laquelle ce programme présente un intérêt. Préciser l'utilité de ce programme relativement à la suite proposée.
3. Parmi les 3 algorithmes suivants, un seul est équivalent à l'algorithme initial
Lequel est-ce? (inutile de justifier)
Expliquer pourquoi les 2 autres algorithmes ne conviennent pas.
Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I≤N$
$U$ ← $U^2-5$
$I$ ← $I+1$
Fin du Pour
Afficher $U$
Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I$<$N$
$U$ ← $U^2-5$
$I$ ← $I+1$
Fin du Pour
Afficher $U$
Lire $N$
$U$ ← 4
$I$ ← 0
Tant que $I$<$N$
$U$ ← $U^2-5$
Fin du Pour
Afficher $U$
Corrigé
1. $N=2$; $U=4$.
Juste avant la première boucle: $I=1$
Première boucle: (on a bien $I≤2$); $U=4^2-5=11$;
Fin de la première boucle; $I$ est augmenté automatiquement de 1, et vaut donc 2.
Seconde boucle: (on a bien $I≤2$); $U=11^2-5=116$;
Fin de la seconde boucle; $I$ est augmenté automatiquement de 1, et vaut donc 3.
Il n'y a pas de troisième boucle car $I>2$.
Finalement, il s'affiche la valeur de $U$, c'est à dire 116.
2. Une suite convenable est la suite $(u_n)$ définie:
par la relation de récurrence $u_{n+1}=u_n^2-5$,
et par son premier terme $u_0=4$.
Notons ici que l'on obtient facilement $u_1=11$ et $u_2=116$.
Le programme proposé demande à l'utilisateur de saisir une valeur de $n$ et affiche alors la valeur de $u_n$ correspondante.
Par exemple, pour $n=2$, le programme renvoie la valeur de $u_2$, c'est à dire 116.
3. L'algorithme correct est le second.
Le premier algorithme ne convient pas, car, par exemple, pour $N=0$, il devrait afficher 4, mais il affichera 11 (car la première boucle va s'effectuer).
Le troisième algorithme ne convient pas, car, par exemple, pour $N=1$, les boucles vont s'enchaîner sans jamais s'arrêter, car $I$ reste constamment à 0, et par là,
la condition $I$<$N$ est toujours vérifiée!