Les boucles¶

Matière à connaître¶
Boucle
Une boucle permet de répéter plusieurs fois le même code. À chaque itération, le code se répète, mais il traite une information différente.
Itération
Une itération est une seule exécution d’une boucle.
Chaque passage à travers la boucle est appelé une itération.
Par exemple, si le code dans une boucle s’exécute 5 fois, on dit qu’il y a eu 5 itérations.
Incrémentation
Ce qu'on appelle incrémentation c'est quand on augmente la valeur d’une variable.
Par exemple, si on écrit
let i = 0;
i++; // Additionne 1 à la variable `i`. On dit alors qu'on incrémente `i` de 1.
i = i + 1; // Donne exactement le même résultat que `i++`;
Boucle for
En programmation, il existe plusieurs façons d'effectuer des boucles.
La boucle for est idéale lorsque vous savez à l’avance combien de fois vous devez répéter un bout de code.
Une boucle for s'écrit de la manière suivante :
for (initialisation; condition; incrémentation) {
// Code à répéter
}
- Initialisation : Déclare et initialise une variable qui va nous servir de compteur. Le compteur sert à garder le fil. Il sert à savoir où on est rendu dans la boucle.
- Condition : Tant que cette condition est vraie, la boucle continue de boucler! C'est la partie qui décide quand la boucle se termine.
- Incrémentation : Modifie la variable compteur après chaque itération (généralement en l’incrémentant de 1).
let fruits = ["Pomme", "Banane", "Orange"];
// Tant que la variable `i` est plus petite que `fruits.length` (3), on effectue une nouvelle itération.
for (let i = 0; i < fruits.length; i++) {
console.log("Fruit : " + fruits[i]);
}
Boucle for..in
En programmation, il existe plusieurs façons d’effectuer des boucles.
La boucle for..in est idéale pour parcourir chaque élément d’un objet.
Une boucle for..in s'écrit de la manière suivante :
let objet = {
cle1: valeurX,
cle2: valeurY,
cle3: valeurZ
};
for (let cle in objet) {
// Code à exécuter pour chaque clé
}
- Clé : La clé est l’identifiant dans un objet. Chaque clé a toujours une valeur associée.
- Objet : Un objet c'est ce qui regroupe toutes les informations relatives à un même sujet.
let personne = {
nom: "Alice",
age: 25,
profession: "Étudiante"
};
for (let cle in personne) {
console.log(cle + " : " + personne[cle]);
}
// Résultat dans la console :
// nom : Alice
// age : 25
// profession : Étudiante
Objectif¶
Imaginez que vous devez envoyer un seul courriel à une liste de destinataires.
L’exercice consiste à produire le champ « destinataires » du courriel à partir d’un tableau de courriels et d’une boucle for en JavaScript.
Un destinataire multiple, c’est simplement une chaîne de caractères composée de courriels séparés par une virgule et une espace.
Résultat attendu¶
sophie.lemieux@cmontmorency.qc.ca, nicolas.fortier@cmontmorency.qc.ca, emma.caron@cmontmorency.qc.ca, olivier.mercier@cmontmorency.qc.ca, isabelle.bellefeuille@cmontmorency.qc.ca, quentin.bergeron@cmontmorency.qc.ca
Instructions¶
Dans le fichier script.js :
-
Ajouter le tableau des courriels :
let courriels = [ "sophie.lemieux@cmontmorency.qc.ca", "nicolas.fortier@cmontmorency.qc.ca", "emma.caron@cmontmorency.qc.ca", "olivier.mercier@cmontmorency.qc.ca", "isabelle.bellefeuille@cmontmorency.qc.ca", "quentin.bergeron@cmontmorency.qc.ca" ];
Étape 1¶
- Ajouter une boucle
forqui affiche chaque courriel du tableau dans la console, un par ligne -
Vérifier dans la console :
Consolesophie.lemieux@cmontmorency.qc.ca nicolas.fortier@cmontmorency.qc.ca emma.caron@cmontmorency.qc.ca olivier.mercier@cmontmorency.qc.ca isabelle.bellefeuille@cmontmorency.qc.ca quentin.bergeron@cmontmorency.qc.ca
- Effectuer un
commitavec le message « Parcourir le tableau »
Étape 2¶
- Avant la boucle, déclarer une variable
destinatairesqui contient une string vide -
Dans la boucle, remplacer le
console.logpar l'ajout du courriel à la fin dedestinatairesComment ajouter du texte à la fin d'une variable ?
texte += "abc"; // Équivaut à : texte = texte + "abc";Cette opération se nomme « une concaténation ».
- Après la boucle, afficher
destinatairesdans la console -
Vérifier dans la console (les courriels sont collés, c'est normal) :
Consolesophie.lemieux@cmontmorency.qc.canicolas.fortier@cmontmorency.qc.caemma.caron@cmontmorency.qc.caolivier.mercier@cmontmorency.qc.caisabelle.bellefeuille@cmontmorency.qc.caquentin.bergeron@cmontmorency.qc.ca
- Effectuer un
commitavec le message « Concaténation »
Étape 3¶
- Dans la boucle, ajouter une virgule et une espace (
", ") après chaque courriel -
Vérifier dans la console (il reste une virgule de trop à la fin) :
Consolesophie.lemieux@cmontmorency.qc.ca, nicolas.fortier@cmontmorency.qc.ca, emma.caron@cmontmorency.qc.ca, olivier.mercier@cmontmorency.qc.ca, isabelle.bellefeuille@cmontmorency.qc.ca, quentin.bergeron@cmontmorency.qc.ca,
- Effectuer un
commitavec le message « Séparateurs »
Étape 4¶
- Ajouter une condition
ifdans la boucle pour ne pas ajouter de virgule après le dernier courriel -
Ne pas utiliser la méthode
join()Indice
Le dernier courriel se trouve à l'index
courriels.length - 1.
- Vérifier que la console affiche le résultat attendu
- Effectuer un
commitavec le message « Finition », puis unpush
