Algorithme de calcul des premiers termes d`une suite

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