Conditions & boucles
Un programme prend des décisions (si… sinon…) et répète des actions. Avec ces deux outils, tu peux déjà écrire des petits jeux.
Comparer des valeurs
Une comparaison renvoie toujours true ou false.
=== et !==, jamais ==.if / else if / else
Change la valeur de meteo et de temperature :
(age >= 18 || avecParent === true) est vrai si…
- la personne est majeure et avec un parent
- la personne est majeure ou avec un parent (ou les deux)
- la personne n'est ni majeure ni avec un parent
|| (OU) : il suffit qu'une des deux conditions soit vraie.
Raccourci pour un choix simple, le ternaire : const statut = age >= 18 ? "majeur" : "mineur";
La boucle for
for (let i = 1; i <= 5; i++) { ... }
└───┬───┘ └──┬─┘ └┬┘
│ │ └─ après chaque tour (i++ = i + 1)
│ └─────── condition pour continuer
└───────────────── départ
La boucle while
Tant que la condition est vraie, on recommence. Pratique quand on ne sait pas à l'avance combien de tours il faut.
À toi de jouer
La mention au bac
Selon note (sur 20), affiche :
Très bienà partir de 16 ;Assez bienà partir de 12 ;Passableà partir de 10 ;Recaléen dessous.
La vérification teste ton code avec plusieurs notes.
Indice
Utiliseif, else if et else, en testant du seuil le plus haut au plus bas.Indice
« À partir de 16 » se traduit parnote >= 16.Indice
Les deux premières branches :if (note >= 16) {
console.log("Très bien");
} else if (note >= 12) {
console.log("Assez bien");
} ...La somme de 1 à 100
Avec une boucle, calcule 1 + 2 + 3 + … + 100 et affiche le résultat.
Indice
Une boucle qui compte de 1 à 100 :for (let i = 1; i <= 100; i++) { … }Indice
À chaque tour, ajoutei à la somme, dans la boucle : somme += i;Indice
Affiche le résultat après la boucle (sinon il s’affiche 100 fois) :console.log(somme);Le FizzBuzz
Un grand classique des entretiens ! Pour chaque nombre de 1 à 15, affiche :
FizzBuzzs'il est divisible par 3 et par 5 ;Fizzs'il est divisible par 3 ;Buzzs'il est divisible par 5 ;- sinon le nombre lui-même.
Indice
« Divisible par 3 » ⇔ le reste de la division par 3 vaut 0 :i % 3 === 0.Indice
L’ordre des tests compte : vérifie d’abord « par 3 et par 5 » (&&), sinon 15 afficherait seulement « Fizz ».Indice
La structure :if (i % 3 === 0 && i % 5 === 0) {
console.log("FizzBuzz");
} else if (i % 3 === 0) {
...
} else {
console.log(i);
}À retenir
- Comparaisons :
===,!==,<,>=… ; logique :&&,||,!. if (…) { } else if (…) { } else { }for (let i = 0; i < n; i++)quand on connaît le nombre de tours,whilesinon.%(modulo) pour tester la divisibilité.