Algorithme de calcul des premiers termes d'une suite
Situation
On considère une suite définie par son premier terme et par une relation de récurrence du type
On souhaite écrire un algorithme permettant de calculer et d'afficher les termes à où est un nombre entré par l'utilisateur.
1. Algorithme
Voici un algorithme répondant à la question pour la suite définie par :
Remarque : Cet algorithme n'est pas le seul possible.
1. | Variables | et sont des entiers naturels |
2. | est un réel | |
3. | Entrée | Saisir la valeur de |
4. | Début traitement : | prend la valeur 3 |
5. | Afficher | |
6. | Pour allant de à | |
7. | prend la valeur | |
8. | Afficher | |
9. | Fin Pour | |
10. | Fin traitement |
2. Commentaires
Lignes 1 et 2 : On définit 3 variables :
contiendra la valeur saisie par l'utilisateur qui déterminera l'arrêt de la boucle. ne sera pas modifié lors du traitement mais gardera une valeur constante
contiendra le rang (indice) du terme que l'on calcule à partir du rang 1. variera de à
contiendra les valeurs de . Notez que l'on définit une seule variable pour l'ensemble des termes de la suites. Au départ cette variable sera initialisée à . Puis on calculera qui viendra «écraser» . Puis viendra écraser et ainsi de suite...
Ligne 3 : La valeur saisie par l'utilisateur qui déterminera l'arrêt de l'algorithme est stockée dans la variable
Ligne 4 : On initialise en lui donnant la valeur de (ici ).
Ligne 5 : On affiche la valeur de (qui contient actuellement ). Cette ligne est nécessaire pour afficher la valeur de car la boucle qui suit n'affichera que les valeurs de à .
Ligne 6 : On crée une boucle qui fera varier l'indice de à . Puisqu'ici on connait le nombre d'itérations , une boucle Pour a été préférée à une boucle Tant que.
Ligne 7 : On modifie la valeur de : La nouvelle valeur de sera égale à l'ancienne valeur de fois plus . Cela traduit bien la relation de récurrence .
Ligne 8 : On affiche le terme que l'on vient de calculer (à savoir ).
Ligne 9 : On « ferme » la boucle; on retourne à la ligne 6; si valait , 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 :
faire « tourner » l'algorithme (c'est à dire créer un tableau contenant les valeurs des variables étape par étape) - voir 3. ci-dessous.
compter le nombre d'affichages :
Ici on souhaite afficher les valeurs de à , c'est à dire valeurs.
La ligne 5. effectue un premier affichage (de ).
La boucle affichera, quant à elle, valeurs puisque varie de à
En tout on a donc bien effectué affichages.
3. Résultats
Le tableau ci dessous récapitule les valeurs prises par les variables pour
fin de boucle ? | |||
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 à mais uniquement la valeur .
Les modifications à apporter à l'algorithme sont les suivantes :
On supprime la ligne 5 puisque l'on ne souhaite plus afficher
On supprime la ligne 8 puisque l'on ne souhaite plus afficher tous les termes de à
On ajoute une ligne « Afficher » après la boucle pour afficher la dernière valeur calculée dans la boucle (et qui correspond à )
On obtient l'algorithme ci-dessous :
1. | Variables | et sont des entiers naturels |
2. | est un réel | |
3. | Entrée | Saisir la valeur de |
4. | Début traitement : | prend la valeur 3 |
5. | Pour allant de à | |
6. | prend la valeur | |
7. | Fin Pour | |
8. | Afficher | |
9. | Fin traitement |