précedent
Les bases du langage
suivant
2°/ Les tests et boucles

Les boucles :

Il est possible de programmer des boucles avec des tests conditionnels de sortie. Nous avons ainsi :
do {
...
Liste d'instructions
...
} while (Condition)


 
C'est littéralement une boucle faire .... tant que. La "Liste d'instructions" s'exécutera d'abord une fois, puis on éffectue le test de Condition et si ce test est vrai, on recommence la boucle a do.
  while (Condition) 
  {
  ...
  Liste d'instructions
  ...
  }

 
Dans le même ordre d'idée, nous avons la boucle tant que, faire .... La grande différence avec la boucle précédente est que le test est fait avant de faire le moindre traitement.
  for(instruction1 ; Condition ; instruction2 ) 
  {
  ...
  Liste d'instructions
  ...
  }

 
Voici la boucle préférée des programmeur en C, mais aussi la plus absconse (mais non c'est pas un gros mot :-) ). C'est une boucle du type Tant que, faire ..., mais dans la même instruction for, on peut initialiser des variables, mettre la condition de boucle, et indiquer une instruction de fin de boucle :
  • instruction1 est l'instruction qui sera exécutée avant le premier passage dans la boucle. On l'utilise généralement pour initialiser une variable, un index par exemple.
  • Condition est la condition d'entrée dans la boucle
  • instruction2 est l'instruction exécutée à la fin de chaque boucle avant de faire le test de condition.
    Exemple :
    	for (i=0; i<10; i++)
    	{
    		document.write("coucou:" + i );
    	}

     
    cet exemple va afficher coucou:0 coucou:1 .... coucou:9.
    Concrètement, le traitement suivant a été effectué : On initialise i à la valeur 0, on teste i<10, comme c'est vrai, on exécute le write, on fait i++, on teste i<10, c'est vrai donc ... à un moment on aura i égal à 9, on fait i++, on teste i<10, c'est faut on arrête la boucle.
     
    DEB++
    Il existe deux instructions spéciale : break et continue.
  • break permet d'interrompre brutalement une boucle. Après l'exécution de cette instruction, le programme continue après l'accolade fermante de la boucle.
  • continue, lui court-circuite la fin de la boucle en cours et continue au début de la boucle (dans le cas d'une boucle for, il exécute instruction2).
    par exemple, on peut imaginer :
      while (true)   // Cette boucle est toujours vraie et donc
      {              //   en théorie elle ne se finit pas !!
        ......
        if (condition)
        {
            break;   // Permet de sortir de la boucle
        }
        .......
      }
  • SUITE
    Dernière modif : 11 Mai 1998 Philippe Sarcher