merci d'avance a bouh2 pour ce magnifique tutoriel
Bonjour,
La notion de boucle est énormément utilisé en programmation. Une boucle permet de faire plusieurs fois le même bout de code. Chose très intéressante car avec la puissance des ordinateur de nos jours on exécute ça à une vitesse incroyable
I. Notion
Une boucle sert à répéter plusieurs fois la même chose. Cela sert à beaucoup de chose :
-Compteur
-Alléger le code
-Répéter un code indéfiniment en attendant un message
...
Voici un schéma qui explique la notion simplement :
(Source : site du zéro)
Pour sortir de la boucle on met une condition (SI...ALORS...), on peut aussi faire une boucle infini mais attention il ne faut pas oublier de le faire quitter de la boucle quelque part (Avec la fonction Exitloop)
II. Les différentes boucles
On va voir 4 boucles en AutoIt, on utilise en général que 2 boucles mais il est bon de tout connaître
La boucle While s'execute du moment que la condition est bonne
On traduirais en français par "Tant que"
On l'utilise en général pour faire un nombre de boucles indéterminés ou une boucle infini (On les évite tant qu'on peut car si il n'y a pas de sortie il faut forcer la fermeture)
La boucle For To sert à faire un certain nombre de fois une boucle. L'avantage par rapport a While c'est que cela est fait automatiquement et que on peut choisir l'incrémentation (Step)
On va choisir For pour faire un compteur ou pour remplir un tableau ou encore pour les algorithmes
Do While a le même principe de While sauf que le programme rentre obligatoirement au moins une fois dans la boucle, la vérification de la condition se fait à la fin de la boucle (au contraire de While)
For In correspond à la boucle Foreach intégré en .NET (mais pas en C++ Standard)
Elle permet d'énumérer le contenu d'un tableau facilement
III. La boucle While
While signifie "Tant que...", la boucle continu du moment que la condition est vrai
"Tant que $i plus petit que 10 alors ..."
On délimite la boucle par While (...) et WEnd
Attention à la boucle infini :
Ce code ne finira jamais il faut forcer la fermeture
Note : Pour comprendre pourquoi "true" fait une boucle infini; la boucle test une condition, soit la condition est vrai (true) donc la boucle continu soit elle est fausse (false) et elle s'arrête. Quand on écrit (1 < 2) c'est comme si on a écrit true, l'ordinateur a executer la condition et a donné le résultat, si on écrit (2 < 1) il renvoi false
IV. La boucle do...while
Do while est similaire a la boucle while sauf que la condition est à la fin de la boucle, ce qui fait que le programme rentre au moins une fois dans la boucle.
Le programme rentrera une fois dans la boucle mais en sortira à la fin car la condition est fausse (false)
V. La boucle For
La boucle For est très utilisé pour faire une compteur
L'avantage de la boucle For c'est qu'il y a moins de code, c'est plus clair et aussi plus pratique. (Encore plus pour des algorithmes)
On a pas besoin de déclarer $i ça se fait automatiquement
Ici la message box est afficher 10 fois.
Next délimite la boucle
On peut aussi mettre Step pour donner l'incrémentation a chaque fois
Note : Le step fait une addition mais il est tout à fait possible en mettant Step -1 de réduire le compteur, et oui +(-1) fait -1 :P
Cela marche aussi avec des nombres à virgule.
VI. La boucle ForIn
ForIn est très peu utilisé, on l'utilise pour manier des tableaux simplement.
On créer une nouvelle variable qui contient une valeur du tableau, sans incrémenter quoique ce soit
C'est utile pour éviter (surtout en AutoIt) du code inutile
V. ContinueLoop et ExitLoop
ExitLoop permet de quitter une boucle en cours, cela marche aussi pour les boucles infinies ;)
ContinueLoop arrête le code contenu dans la boucle et reprend le début de la boucle.
Bonjour,
La notion de boucle est énormément utilisé en programmation. Une boucle permet de faire plusieurs fois le même bout de code. Chose très intéressante car avec la puissance des ordinateur de nos jours on exécute ça à une vitesse incroyable
I. Notion
Une boucle sert à répéter plusieurs fois la même chose. Cela sert à beaucoup de chose :
-Compteur
-Alléger le code
-Répéter un code indéfiniment en attendant un message
...
Voici un schéma qui explique la notion simplement :
(Source : site du zéro)
Pour sortir de la boucle on met une condition (SI...ALORS...), on peut aussi faire une boucle infini mais attention il ne faut pas oublier de le faire quitter de la boucle quelque part (Avec la fonction Exitloop)
II. Les différentes boucles
On va voir 4 boucles en AutoIt, on utilise en général que 2 boucles mais il est bon de tout connaître
A. While...WEnd
La boucle While s'execute du moment que la condition est bonne
On traduirais en français par "Tant que"
On l'utilise en général pour faire un nombre de boucles indéterminés ou une boucle infini (On les évite tant qu'on peut car si il n'y a pas de sortie il faut forcer la fermeture)
B. For To (Step)...Next
La boucle For To sert à faire un certain nombre de fois une boucle. L'avantage par rapport a While c'est que cela est fait automatiquement et que on peut choisir l'incrémentation (Step)
On va choisir For pour faire un compteur ou pour remplir un tableau ou encore pour les algorithmes
C. Do...While
Do While a le même principe de While sauf que le programme rentre obligatoirement au moins une fois dans la boucle, la vérification de la condition se fait à la fin de la boucle (au contraire de While)
D. For In...Next
For In correspond à la boucle Foreach intégré en .NET (mais pas en C++ Standard)
Elle permet d'énumérer le contenu d'un tableau facilement
III. La boucle While
While signifie "Tant que...", la boucle continu du moment que la condition est vrai
Code:
While ($i < 10)
;CODE ICI
Wend
"Tant que $i plus petit que 10 alors ..."
On délimite la boucle par While (...) et WEnd
Code:
While ($i < 10)
$i += 1
MsgBox(0,"Valeur de $i","$i vaut " & $i)
Wend
MsgBox(0,"Sortie",Je suis sortie de la boucle $i vaut " & $i)
Attention à la boucle infini :
Code:
While (true)
MsgBox(0,"Boucle infini !!")
Wend
Ce code ne finira jamais il faut forcer la fermeture
Note : Pour comprendre pourquoi "true" fait une boucle infini; la boucle test une condition, soit la condition est vrai (true) donc la boucle continu soit elle est fausse (false) et elle s'arrête. Quand on écrit (1 < 2) c'est comme si on a écrit true, l'ordinateur a executer la condition et a donné le résultat, si on écrit (2 < 1) il renvoi false
IV. La boucle do...while
Do while est similaire a la boucle while sauf que la condition est à la fin de la boucle, ce qui fait que le programme rentre au moins une fois dans la boucle.
Code:
Do
MsgBox(0,"Boucle","Je suis dans la boucle")
While(false)
Le programme rentrera une fois dans la boucle mais en sortira à la fin car la condition est fausse (false)
V. La boucle For
La boucle For est très utilisé pour faire une compteur
L'avantage de la boucle For c'est qu'il y a moins de code, c'est plus clair et aussi plus pratique. (Encore plus pour des algorithmes)
Code:
For $i = 0 To 10
MsgBox(0,"Message","$i vaut " & $i)
Next
On a pas besoin de déclarer $i ça se fait automatiquement
Ici la message box est afficher 10 fois.
Next délimite la boucle
On peut aussi mettre Step pour donner l'incrémentation a chaque fois
Code:
For $i = 0 To 10 Step +2
MsgBox(0,"Message","$i vaut " & $i)
Next
Note : Le step fait une addition mais il est tout à fait possible en mettant Step -1 de réduire le compteur, et oui +(-1) fait -1 :P
Cela marche aussi avec des nombres à virgule.
VI. La boucle ForIn
ForIn est très peu utilisé, on l'utilise pour manier des tableaux simplement.
On créer une nouvelle variable qui contient une valeur du tableau, sans incrémenter quoique ce soit
Code:
Local $tableau[4]
$tableau[0] = 1
$tableau[1] = 2
$tableau[2] = 5
$tableau[3] = 9
For $value in $tableau
MsgBox(0,"Valeur de $value","$value vaut " & $value)
Next
C'est utile pour éviter (surtout en AutoIt) du code inutile
V. ContinueLoop et ExitLoop
ExitLoop permet de quitter une boucle en cours, cela marche aussi pour les boucles infinies ;)
Code:
For $i = 0 To 10
MsgBox(Default, Default, "$i vaut " & $i)
if ($i = 6) Then ExitLoop
Next
MsgBox(Default, Default, "Sortie de la boucle")
ContinueLoop arrête le code contenu dans la boucle et reprend le début de la boucle.
Code:
For $i = 0 To 10
MsgBox(Default, Default, "$i vaut " & $i)
ContinueLoop
MsgBox(Default, Default, "Derrière le ContinueLoop")
Next
MsgBox(Default, Default, "Sortie de la boucle")