4.16 Exercice: Etoiles

Cet exercice très populaire chez les débutants en programmation consiste à écrire une fonction afficherEtoiles(rows) qui dessine un triangle d'étoiles. À chaque appel avec un nombre rows, on affiche autant de lignes que demandé, et chaque ligne contient un nombre d'étoiles égal à son numéro. Avec afficherEtoiles(5), la ligne 1 contient une étoile, la ligne 2 en contient deux, et ainsi de suite jusqu'à la ligne 5. Avec 1, on obtient une seule étoile ; avec 2, deux lignes.

Construire la solution avec deux boucles imbriquées

On commence par une boucle externe qui parcourt chaque ligne : row part de 1 et s'incrémente tant qu'il reste inférieur ou égal à rows. À l'intérieur, on déclare une variable pattern initialisée à une chaîne vide. Selon la valeur de row, on doit y ajouter un certain nombre d'étoiles, ce qui demande une seconde boucle interne. Cette boucle interne fait varier i de 0 tant que i est inférieur à row, et concatène une étoile à pattern à chaque tour. Quand row vaut 5, la boucle interne tourne cinq fois et produit cinq étoiles. À la fin de la ligne, on affiche le pattern avec console.log.

function afficherEtoiles(rows) {
  for (let row = 1; row <= rows; row++) {
    let pattern = '';
    for (let i = 0; i < row; i++)
      pattern += '*';
    console.log(pattern);
  }
}

En sauvegardant et en appelant la fonction avec 1, on obtient une étoile ; avec 2, on obtient deux lignes ; avec 5, un triangle complet. Ce qu'on a ici, c'est ce qu'on appelle un nid de boucles : une boucle à l'intérieur d'une autre boucle. Ce modèle apparaît dans énormément d'algorithmes (tris, parcours de matrices, génération de motifs).

En résumé

Cet exercice fondamental enseigne comment construire une pyramide d'étoiles en JavaScript grâce à un système de boucles imbriquées. La leçon montre comment afficher N lignes où la ligne 1 contient 1 étoile, la ligne 2 contient 2 étoiles, et ainsi de suite, en utilisant une variable pattern pour accumuler les caractères. C'est un excellent exemple pour maîtriser les boucles imbriquées, un concept clé en programmation.

Points clés

  • Utiliser une boucle externe pour itérer sur chaque ligne du 1 au nombre demandé
  • Utiliser une boucle interne pour ajouter le bon nombre d'étoiles selon la ligne courante
  • Déclarer une variable pattern (chaîne vide) et l'enrichir avec += à chaque itération interne
  • Afficher le pattern complet avec console.log après chaque ligne complétée
  • Les boucles imbriquées permettent des comportements complexes et sont omniprésentes en programmation

Questions fréquentes

Comment fonctionne la boucle interne dans cet exercice ?

La boucle interne s'exécute autant de fois que le numéro de la ligne courante. Si vous êtes à la ligne 5, elle s'exécute 5 fois, ajoutant une étoile au pattern à chaque itération.

Pourquoi utilise-t-on une variable pattern au lieu d'afficher directement les étoiles ?

La variable pattern accumule les étoiles d'une ligne entière avant de l'afficher. Cela permet de construire la chaîne complète et d'afficher une ligne entière en une seule fois avec console.log.

Qu'arrive-t-il si j'appelle la fonction avec le paramètre 1 ou 2 ?

Avec 1, vous obtenez une seule étoile. Avec 2, vous obtenez une première ligne avec une étoile, puis une deuxième ligne avec deux étoiles. Le pattern se répète en augmentant à chaque ligne.