Maths-cours

COURS & EXERCICES DE MATHÉMATIQUES

Close

Algorithme de calcul des premiers termes d'une suite

Situation

On considère une suite (un)\left(u_{n}\right) définie par son premier terme u0u_{0} et par une relation de récurrence du type un+1=f(un)u_{n+1}=f\left(u_{n}\right)

On souhaite écrire un algorithme permettant de calculer et d'afficher les termes u0u_{0} à uku_{k}kk est un nombre entré par l'utilisateur.

1. Algorithme

Voici un algorithme répondant à la question pour la suite (un)\left(u_{n}\right) définie par :

{u0=3un+1=0,5un+2\left\{ \begin{matrix} u_{0}=3 \\ u_{n+1} = 0,5u_{n}+2\end{matrix}\right.

Remarque : Cet algorithme n'est pas le seul possible.

1. Variables ii et kk sont des entiers naturels
2. uu est un réel
3. Entrée Saisir la valeur de kk
4. Début traitement : uu prend la valeur 3
5. Afficher uu
6. Pour ii allant de 11 à kk
7. \quad\quaduu prend la valeur 0,5×u+20,5\times u+2
8. \quad\quadAfficher uu
9. Fin Pour
10. Fin traitement

2. Commentaires


Lignes 1 et 2 : On définit 3 variables :


Ligne 3 : La valeur saisie par l'utilisateur qui déterminera l'arrêt de l'algorithme est stockée dans la variable kk
Ligne 4 : On initialise uu en lui donnant la valeur de u0u_{0} (ici u0=3u_{0}=3).
Ligne 5 : On affiche la valeur de uu (qui contient actuellement 33). Cette ligne est nécessaire pour afficher la valeur de u0u_{0} car la boucle qui suit n'affichera que les valeurs de u1u_{1} à unu_{n}.
Ligne 6 : On crée une boucle qui fera varier l'indice ii de 11 à kk. Puisqu'ici on connait le nombre d'itérations kk, une boucle Pour a été préférée à une boucle Tant que.
Ligne 7 : On modifie la valeur de uu : La nouvelle valeur de uu sera égale à l'ancienne valeur de uu fois 0,50,5 plus 22. Cela traduit bien la relation de récurrence un+1=0,5un+2u_{n+1}= 0,5u_{n}+2.
Ligne 8 : On affiche le terme que l'on vient de calculer (à savoir uiu_{i}).
Ligne 9 : On « ferme » la boucle; on retourne à la ligne 6; si ii valait kk, la boucle se terminera alors et on passera à la ligne 10.
Ligne 10 : L'algorithme est terminé ! Remarque : Il faut toujours être très attentif au nombre de passages dans la boucle et au nombre d'affichages. Pour vérifier son algorithme, on peut :

3. Résultats

Le tableau ci dessous récapitule les valeurs prises par les variables pour k=4k=4

k k i i fin de boucle ? u u
4 - - 3
4 1 non 3,5
4 2 non 3,75
4 3 non 3,875
4 4 non 3,9375
4 5 oui

4. Variante

Cette fois, on ne souhaite pas afficher toutes les valeurs de u0u_{0} à uku_{k} mais uniquement la valeur uku_{k}.

Les modifications à apporter à l'algorithme sont les suivantes :

On obtient l'algorithme ci-dessous :

1. Variables ii et kk sont des entiers naturels
2. uu est un réel
3. Entrée Saisir la valeur de kk
4. Début traitement : uu prend la valeur 3
5. Pour ii allant de 11 à kk
6. \quad\quaduu prend la valeur 0,5×u+20,5\times u+2
7. Fin Pour
8. Afficher uu
9. Fin traitement