Boucles et tests

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...."
Dans le deuxième cas, la liste d'instructions est executée un fois avant d'être éventuellement répétée, dans le premier cas, il se peut que  la liste d'instruction ne soit jamais effectuée
Voici les syntaxes de ces 2 dernières commandes (regardez aussi l'exemple de la partie tests)

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

Inévitablement, vous allez à un moment ou un autre devoir effectuer différentes actions selon, la position d'un point sur la figure, une réponse donnée...Nous nous occuperons plus en détails de l'interaction avec les figures géoplan par la suite, l'instruction (universelle) qui permet de faire un test est :
 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
Remarques :

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.

<MENU>