Boucles : Principalement, 3 sortes
de boucles existent en VBScript
For ...[Step] ...Next :
Cette instruction est utilisée lorsque l'on connait
à l'avance le nombre de fois où la boucle doit
être executée. l'instruction Step, optionelle,
indique le pas d'incrémentation | Syntaxe | |
| For compteur = debut to fin ... instructions répétées ... Next ou
For compteur = debut to fin Step pas... instructions répétées ... Next |
Dim Ph Ph="liste des nombres pairs entre 0 et 10 :" for i=0 to 10 step 2 ph=Ph&i&" " next Alert ph
|
While - Wend : Cette instruction pourrait se traduire par "tant que.....faire"
Do .... Loop Until : Que l'on pourrai traduire par Faire.....Jusqu'à ce que...."| Syntaxe While-Wend | Syntaxe Do-Loop |
| While condition ... instructions répétées ... Wend |
Do ... instructions répétées ... Loop Until condition |
Les tests
If ...Then...[Else] ...End If.| Syntaxe | |
| If condition Then ... instructions1 ... Else ... instructions2 ... End If |
Prem=true d=2 n=document.all.nb.value While prem and (d<=sqr(n)) If n mod d=0 Then prem=false Else d=d+1 End If Wend If prem Then Alert "OUI, "&n&" est un nombre premier" Else Alert "NON, "&n&" n'est pas un nombre premier" End If |
Pour gagner du temps, nous avons
utilisé une boucle While-Wend de manière à stopper
la recherche dès qu'un diviseur est trouvé
Le nombre testé est
rapellé grace à la ligne n=document.all.nb.value, le fait
d'avoir des variable "sans type" pose ici un problème, si
l'utilisateur entre un nombre décimal ou du texte
(essayez)...Pour eviter ce genre d'erreur, on pourra utiliser la
fonction IsNumeric qui précise si la valeur donnée peut
être convertie en nombre entier....Essayez de modifier la page de
manière à éviter ce genre d'erreurs.
L'opérateur <= signifie, vous l'aurez deviné,
plus petit ou égal. On a aussi >= et <>
(différent).
Dans de dernier If, il est inutile de préciser prem=true puisque
prem est déjà une expression booléenne.