Il est aussi possible de demander à l'ordinateur de répéter une même tache autant de fois que l'on veut.
Cela se fait grâce à ce qu'on appelle en informatique une boucle.
Regardons de suite un exemple pour voir l'intérêt de la chose :
Exemple 4 : Supposons que l'on veuille créer un algorithme qui affiche la racine carrée de tous les entiers de 1 jusqu'à 50.
On pourrait commencer comme cela (en continuant jusqu'à sqrt(50)):
On voit tout de suite l'inconvénient de cette méthode : on répéterait 50 fois le même genre de lignes de code.
Grâce à une boucle
POUR...DE...A, on peut éviter tout ça et faire beaucoup plus court.
Voilà ce que ça donnerait comme algorithme :
Avant de voir comment faire en pratique avec
AlgoBox, donnons d'abord quelques explications :
- D'abord il nous a fallu une nouvelle variable n qui va servir à représenter tous les entiers de 1 à 50. (n est appelé compteur de la boucle)
- Regardons maintenant comment l'ordinateur va interpréter le code de la boucle elle-même :
- Première étape : l'ordinateur affecte à la variable n la valeur 1. Puis il effectue les opérations comprises entre DEBUT_POUR et FIN_POUR en remplaçant n par 1. Autrement dit, racine va prendre la valeur sqrt(1) et l'ordinateur affiche le résultat.
- Deuxième étape : l'ordinateur augmente automatiquement de 1 la valeur de n qui vaut donc maintenant 2. Puis il effectue à nouveau les opérations comprises entre DEBUT_POUR et FIN_POUR en remplaçant cette fois-ci n par 2. Autrement dit, racine va prendre la valeur sqrt(2) et l'ordinateur affiche le résultat.
- Troisième étape : l'ordinateur augmente de nouveau automatiquement de 1 la valeur de n qui vaut donc maintenant 3. Puis il effectue les opérations comprises entre DEBUT_POUR et FIN_POUR en remplaçant n par 3. Autrement dit, racine va prendre la valeur sqrt(3) et l'ordinateur affiche le résultat.
- L'ordinateur continue ainsi le processus jusqu'à ce qu'il ait traité le cas où n vaut 50. On obtient bien ainsi la liste des racines carrées des entiers de 1 jusqu'à 50.
Voyons maintenant comme créer en pratique cet algorithme avec
AlgoBox :
- On déclare d'abord les deux variables n et racine (du type NOMBRE) avec le bouton Déclarer nouvelle variable.
- On se place sur DEBUT_ALGORITHME et on ajoute une nouvelle ligne (bouton Nouvelle Ligne).
- Pour créer la structure de la boucle, on clique sur Ajouter POUR...DE...A.
Dans la boîte de dialogue qui apparaît: on sélectionne n comme variable après Pour la variable, on entre 1 et 50 pour les champs ALLANT DE et A, et on clique sur OK.
- En étant bien positionné sur la ligne vide entre DEBUT_POUR et FIN_POUR, on clique sur AFFECTER valeur à variable. Dans la boite de dialogue, on sélectionne racine pour la variable, puis on entre sqrt(n) dans le champ après prend la valeur et on clique sur OK.
- On crée une nouvelle ligne (bouton Nouvelle Ligne), puis on clique sur Ajouter AFFICHER variable.
Dans la boite de dialogue, on sélectionne la variable racine et on coche la case Ajouter un retour à la ligne avant de cliquer sur OK.
Cliquer ici pour voir l'ensemble des étapes en vidéo.
Fichier de l'exemple : exemple4.alg
(faire un clic-droit et utiliser l'option enregistrer sous pour télécharger le fichier)
Remarques importantes sur les boucles
POUR...DE...A dans
AlgoBox :
- La variable servant de compteur pour la boucle doit être du type NOMBRE et doit être déclarée préalablement (comme toutes les variables).
- Dans AlgoBox, cette variable est automatiquement augmentée de 1 à chaque fois.
- On peut utiliser la valeur du compteur pour faire des calculs à l'intérieur de la boucle, mais les instructions comprises entre DEBUT_POUR et FIN_POUR ne doivent en aucun cas modifier la valeur de la variable qui sert de compteur.
Activité 4.1 :
Concevoir avec
AlgoBox un algorithme qui affiche, grâce à une boucle
POUR...DE...A, les résultats des calculs suivants : 8*1 ; 8*2 ; 8*3 ; 8*4 ; ... jusqu'à 8*10 .
L'algorithme devra utiliser deux variables : une appelée
n pour le compteur de la boucle et une autre appelée
produit pour stocker et afficher le résultat des calculs.
Cliquer ici pour voir la correction.
Activité 4.2 :
On considère l'algorithme ci-dessous :
A quel calcul mathématique correspond la valeur de la variable
somme qui est affichée à la fin de l'exécution de l'algorithme?
Cliquer ici pour voir la correction.
< Sommaire | Page suivante >