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 passages 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.


continue

Le mot-clé continue permet d'ignorer une ou plusieurs valeurs tout en continuant l'itérations.
Démo
for(let i=0;i<3;i++)	{
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
if(divi===0){
	console.log("le diviseur n'est pas admis");
	continue;
}
console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);
}
Démo
let cpt=0;
while(cpt<3){
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
	
if(divi===0){
		console.log("le diviseur n'est pas admis");
		cpt++;
		continue;
	}

console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);

cpt++
}
Si l'utilisateur entre 0 pour le diviseur, il reçoit un message et le reste du code est ignoré, grâce au continue la boucle ne s'intrrrompt pas.

break

Le mot-clé break permet de stopper l'itération, le script se continuant après celle-ci.
Démo
for(let i=0;i<3;i++)	{
let valeur=window.parseInt(window.prompt("Entrez le dividende:"));
let divi=window.parseInt(window.prompt("Entrez le diviseur:"));
if(divi===0){
	console.log("le diviseur n'est pas admis");
	break;
}
console.log("Quotient: "+window.parseInt(valeur/divi));
console.log("Reste: "+valeur%divi);
console.log("Division: "+valeur/divi);
}
Le mot-clé break permet ici de stopper l'itération car l'utilisareur a entré la valeur 0 pour le diviseur.

for of

Cette boucle permet de boucler sur les cellules d'un tableau.

On récupère les valeurs contenues dans les indices dans la variable val.

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

for of ne peut pas être utilsé avec les objets, il ne peut être utilisé qu'avec des variables itérables.


for in

Cette boucle permet de boucler sur les propriétés d'un tableau ou les cellules d'un objet.

Pour les tableaux: la variable val prendra automatiquement la valeur de l'indice de la cellule à chaque tour de boucle.

Pour les objets: la variable val prendra automatiquement la valeur des propriétés de l'objet à chaque tour de boucle.

Syntaxe
	for (let val in object) {
		//code à exécuter jusqu'à la dernière propriété
	}
	
Démo
	let personne = ["Florimon", "Tartempion", 25]; 
	let text = "";
	for (let x in personne) {
		text += personne[x] + " ";
		document.write("<br>",x);
	}
	document.write(text);

		
Démo
	let personne = {prenom:"Florimon", nom:"Tartempion", age:25}; 
	let text = "";
	for (let x in personne) {
		text += personne[x] + " ";
		document.write("<br>",x"<br>");
	}
	document.write(text);


		

Les chaînes de caractères

for of et for in peuvent être utilsées avec les chaînes de caractères.

Avec for of chaque caractère est récupéré à chaque tour de boucle.

Avec for in chaque indice des caractères est récupéré à chaque tour de boucle.

Démo
	let texte = "Al-Uzza, Allat et Manat"; 
	for (let x of texte) {
		document.write(x);
	}
		
Démo
	let texte = "Al-Uzza, Allat et Manat"; 
	for (let x in texte) {
		document.write(x);
	}
		

Quiz

Clique-moi pour générer un questionnaire !