Utilisation d'une boucle dans un algorithme publié le 14/09/2012

Pages : 123

Dans un algorithme, utiliser une boucle permet de recommencer plusieurs fois un bloc d’instructions.
Il y a deux sortes de boucles :
Si l’on sait à l’avance le nombre de fois que le bloc d’instruction doit être exécuté, on utilise la boucle "Pour ....Allant de ....A..."
Dans le cas contraire on utilise plutôt une boucle du type " Tant Que....Faire".

Les exemples présentés utilisent le logiciel Algobox ; les algorithmes sont adaptables sur les calculatrices scientifiques Casio et Ti.

1) La boucle " Pour ...Allant de ... A...."

Cette boucle permet de recommencer un nombre de fois décidé à l’avance les instructions écrites entre les lignes Pour...allant de...à ... et Fin_Pour

Exemple 1 : Répéter 5 fois une instruction identique
L’algorithme suivant affiche 5 fois de suite le message "Bonjour !"

algorithme: bonjour
fig2


Exemple 2
 : Répéter une instruction , avec des variantes.
L’instruction à répéter, peut dépendre de la valeur de n, comme dans l’exemple suivant :
La première fois que la ligne « DEBUT POUR » est lu, n prend la valeur 1, et chaque fois que cette ligne est à nouveau lue, la valeur de n augmente automatiquement de 1.

fig3
fig4


Si, comme le font certains débutants par erreur, on place une instruction dans la boucle pour augmenter la valeur de n , comme ci dessous, alors la valeur de n est augmentée deux fois à chaque lecture de la boucle. On obtient alors le résultat à droite, ou seuls les entiers impairs apparaissent..

fig5
fig6

Exemple 3  : Répéter une phrase, avec des variantes
L’algorithme ci dessous, qui utilise une boucle, permet aussi de bien saisir la différence entre la commande « Ajouter Afficher message » et la commande « Ajouter Afficher variable »

fig7
fig8

Exemple 4 : Des points aléatoires dans un carré de côté 1
Voilà un exemple simple d’utilisation d’une boucle pour afficher 100 points aléatoires dans un repère. Les coordonnées a et b des points affichés sont des nombres de l’intervalle [0 ;1], obtenues grâce à la fonction random(). Les points changent de place à chaque fois que l’algorithme est lancé.

fig9
fig10

A noter que les 3 lignes de la boucle auraient pu être condensées en une seule, ce qui permet de n’utiliser qu’une variable. Ainsi, l’algorithme suivant fait la même chose que le précédent.

fig11


Exemple 5 : Construction d’un polygone régulier
Cet algorithme permet de dessiner un polygone régulier comportant un nombre de côtés défini par l’utilisateur. Avec Algobox, c’est l’instruction "Lire p" qui permet de donner à p la valeur souhaitée.
Les p sommets peuvent être les points suivants :
$A_k(cos(k\times\frac{2\pi}{p}), sin(k\times\frac{2\pi}{p}))$ ou $k$ varie de 0 à p-1 ou de 1 à p, ce qui revient au même.
il suffit alors de tracer les p segments qui relient chaque sommet à son sommet voisin.
On obtient l’algorithme très court suivant :

fig14


lorsqu’on demande l’exécution de l’algorithme, celui ci demande la valeur de p.

fig15


En donnant à p la valeur 7, on obtient le résultat suivant :

fig16

_