On appelle Itération le fait d’exécuter une séquence d’instructions destinée à être exécutée plusieurs fois. Pour réaliser un itération dans notre langage algorithmique on dispose de 3 formes de Structures itératives:
- Structure itérative TANTQUE permet de répéter un ensemble d’instructions tant qu’une condition reste vraie.
- Structure itérative REPETER JUSQUA permet de répéter un ensemble d’instructions jusqu’à ce qu’une condition devienne fausse.
- Structure itérative POUR permet de répéter de façon inconditionnelle un nombre de fois connu à priori un ensemble d’actions (ou instructions).
Structure itérative « TantQue »
La boucle TantQue permet de répéter un ensemble d’instructions tant qu’une condition reste vraie. Le test de la condition est évalué au début de chaque itération ce qui permet d’exécuter cette boucle un nombre quelconque de fois y compris zéro fois si le test est faux dès la première exécution. La boucle continue tant que la condition est Vraie , elle s’arrête lorsque la condition devient Faux. La syntaxe générale d’une boucle TanQue est la suivante :
Syntaxe
-- Initialiser la condition TantQue (condition) Faire Instructions ... Instructions Mettre à jour la condition FinFaire
Fonction
- Répéter une suite d’instructions tant qu’une condition est vérifiée
- Instruction de modification de la condition à l’intérieur de la boucle
Exemple
L’exemple suivant montre une boucle TantQue qui effectue la somme des n premiers nombres entier
Schéma Algorithme Somme-N-Premier-Nombre Description Objectif: Calcul de la somme des N premiers nombres Donnée: n Résultat: Calculer et Afficher la somme de n premiers nombres Remarque: Utilisation d'une structure répétitive TantQue Action Données: somme, index Afficher("Calcul de la somme des n premiers nombres") Prendre("Entrez un nombre",n) Assigner (1,index) Assigner (0,somme) TantQue InférieurOuEgal(index,n) Faire Ajouter(index,somme) Ajouter(1,index) Fin-Faire Afficher("Le résultat est",somme) Fin-Action Fin-Schéma
Structure « Répéter Jusqu’à »
Cette boucle est une variante de la précédente. Le test de la condition est évaluée à la fin de chaque itération ce qui permet d’exécuter cette boucle au moins une fois. La syntaxe générale d’une boucle « Répéter jusqu’à » est la suivante :
Syntaxe
Répéter
Instructions
...
Instructions
Mettre à jour la condition
jusqu'à (condition)
Fonction
- Répéter une suite d’actions jusqu’à ce que la condition soit vérifiée
- L’évaluation de la condition est effectuée à la fin de la boucle
Exemple
L’exemple suivant montre une boucle Répéter Jusqu’à qui effectue la somme des n premiers nombres entier
Schéma Algorithme Somme-N-Premier-Nombre
Description
Objectif: Calcul de la somme des N premiers nombres
Données: n
Résultat: Calculer et Afficher la somme de n premiers nombres
Remarque: Utilisation d'une structure répétitive Répéter jusqu'à
Action
Données somme,index
Afficher("Calcul de la somme des n premiers nombres"
Prendre("Entrez un nombre,n)
Assigner(1,index)
Assigner(0,somme)
Répéter
Ajouter(index,somme)
Ajouter(1,index)
Jusqu’à Egal(index,n )
Afficher("Le résultat est",somme)
Fin-Action
Fin-Schéma
Structure « Pour »
Cette boucle est une variante de la précédente. Le test de la condition est évaluée à la fin de chaque itération ce qui permet d’exécuter cette boucle au moins une fois. La syntaxe générale d’une boucle « Pour » est la suivante :
Syntaxe
Pour compteur allant de ... à ... AuPasDe ...
Faire
instructions
...
instructions
Fin-Faire
Par exemple: Un compteur allant de 1 à 4 avec un « pas » de 1, prendra successivement les valeurs 1, 2, 3, 4 et l’on aura 4 itérations.
Fonction
- Répéter une suite d’instructions un certain nombre de fois
- Nombre d’itérations fixé
Exemple
L’exemple suivant montre une boucle POUR qui effectue la somme des n premiers nombre entier
Schéma Algorithme Somme-N-Premier-Nombre
Description
Objectif: Calcul de la somme des N premiers nombres
Donnée: n
Résultat: Calculer et Afficher la somme de n premiers nombres
Remarque: Utilisation d'une structure répétitive Pour
Action
Données: somme,index
Afficher("Calcul de la somme des n premiers nombres")
Prendre("Entrez un nombre",n)
Assigner(1,index)
Assigner(0,somme)
Pour index allant de 1 à n auPasDe 1
Faire
Ajouter(index,somme)
Fin-Faire
Afficher("Le résultat est",somme)
Fin-Action
Fin-Schéma
Une autre variante de la boucle pour:
Syntaxe
Pour element dans collection-finie-de-données
Faire
instructions
...
instructions
Fin-Faire
Ce schéma s’applique au parcours dans une collection finie de données. Par exemple: comptage du nombre d’éléments dans une suite finie de valeurs.
Fonction
- Répéter une suite d’instructions un certain nombre de fois
- Le nombre d’itérations est fixé par la détection implicite de la fin de la collection
- A chaque tour de boucle la valeur de l’élément courant est placé dans la variable « element »
Exemple
L’exemple suivant montre une boucle POUR qui effectue la somme des 5 premiers nombre entier
Schéma Algorithme Somme-5-Premier-Nombre
Description
Objectif: Calcul de la somme des 5 premiers nombres
Résultat: Afficher la somme de 5 premiers nombres
Action
Données: somme,collection
Afficher("Calcul de la somme des 5 premiers nombres")
Assigner((1,2,3,4,5),collection)
Assigner(0,somme)
Pour element dans collection
Faire
-- Ajouter element à somme
Ajouter(element,somme)
Fin-Faire
Afficher("Le résultat est",somme)
Fin-Action
Fin-Schéma
Comment réaliser une boucle
Quelle boucle utiliser?
- Le nombre d’itérations est connu à l’avance, il faut utiliser la boucle Pour
- Le nombre d’itérations dépend de la condition et l’on doit exécuter zéro ou plusieurs fois, il faut utiliser la boucle TantQue
- Le nombre d’itérations dépend de la condition et l’on doit exécuter au moins une fois, il faut utiliser la boucle Répéter Jusqu’à
Élaboration d’un boucle
Elle se fera en 3 phases:
- La constitution du corps de la boucle
- La définition des valeurs initiales
- L’écriture du test d’arrêt