Informatique


Les boucles

Aller à

While

Syntaxe
	while (boolean)	{
		code à exécuter si true
		instruction de modification de la valeur boolean
	}
Arrêtée au sein du programme
  • initialisation du contrôleur de boucle en dehors de la boucle
  • test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
  • si true, exécution du bloc d'instructions contenu dans la boucle et modification du contrôleur de boucle à l'intérieur de la boucle
  • test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
  • ... et ainsi de suite jusqu'à ce que la condition soit évaluée à false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
	var cpt=1;
	while (cpt < 11)	{
		document.write("Tour n°:",cpt,"<br>");
	cpt++;
	} 
Arrêtée par l'utilisateur
  • initialisation du contrôleur de boucle par l'utilisateur
  • test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
  • si le test renvoie true, exécution du bloc d'instructions contenu dans la boucle et modification du contrôleur de boucle par l'utilisateur à l'intérieur de la boucle
  • test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
  • ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
	var val=parseInt(window.prompt());
	while (val != 999)	{
	 document.write("Un petit tour dans ma belle boucle");
	val=parseInt(window.prompt());
	} 
	document.write("Enfin sorti de cette belle boucle");

					

do while

Syntaxe
	do {
	 code à exécuter si true
	 instruction de modification de la valeur boolean
	} while (boolean)
	
  • initialisation du contrôleur de boucle en dehors de la boucle
  • exécution du bloc d'instructions contenu dans la boucle et modification du contrôleur de boucle à l'intérieur de la boucle
  • test de l'expression conditionnelle ou évaluation booléenne d'une variable (du contrôleur de boucle)
  • si le test renvoie true, exécution du bloc d'instructions contenu dans la boucle et modification du contrôleur de boucle à l'intérieur de la boucle
  • ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
	var cpt=1;
	do{
		document.write("Tour n°:",cpt,"<br>");
		cpt++;
	} while (cpt < 11)
					
le code inscrit dans la boucle sera toujours exécuté au moins une fois puisque le test de l'expression conditionnelle se fait en fin de boucle.

for

Syntaxe
	for(initialisation compteur;comparaison compteur;modification compteur)	{
		code à exécuter si true
	}
	
  • initialisation du compteur de boucle (1er instruction)
  • test de l'expression conditionnelle (2ème instruction)
  • si le test renvoie true, exécution du bloc d'instructions contenus dans la boucle
  • incrémentation du compteur de boucle (3ème instruction)
  • test de l'expression conditionnelle (2ème instruction)
  • si le test renvoie true, exécution du bloc d'instructions contenus dans la boucle
  • ... et ainsi de suite jusqu'à ce que le test donne false
Réaliser un programme qui affiche le nombre de passage dans une boucle.
Démo
	for(let i=1;i < 11; i++)	{
		document.write("Tour n°:",i,"<br>");
	}

On utilise let pour rendre le compteur de boucle local à la structure for.
Une variable déclarée avec let est détruite à la sortie de la structure au sein de laquelle elle a été déclarée.


for of

Cette boucle permet de parcourir aisément un tableau.
Syntaxe
	for (val of array) {
		//code à exécuter jusqu'à la dernière cellule
	}
	
Démo
	var liste = ["Pierre",143,true,12.5]; 
	for (let x of liste) {
		document.write(x);
	}
		

forEach

Cette boucle permet d'appliquer une fonction sur chaque élément d'un tableau.
Démo
	var liste = ["Pierre",143,true,12.5]; 
	liste.forEach(function(x) {
		document.write(x);
	});
		

for in

Cette boucle permet de boucler sur les propriétés d'un objet.
Syntaxe
	for (val in object) {
		//code à exécuter jusqu'à la dernière propriété
	}
	
Démo
	var personne = {prenom:"Florimon", nom:"Tartempion", age:25}; 
	var text = "";
	for (let x in personne) {
		text += personne[x] + " ";
	}
	document.write(text)