Menu
CoddyTech

Boucle imbriquée

Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 52 sur 93.

Vous pouvez placer une boucle à l’intérieur d’une autre boucle pour créer une boucle imbriquée. La boucle interne s’exécute entièrement à chaque itération de la boucle externe.

val rows = 2
val cols = 3
for (i in 1..rows) {
    for (j in 1..cols) {
        println("i=$i, j=$j")
    }
}
// Sortie :
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3

Lorsque i vaut 1, la boucle interne s’exécute cols fois (j va de 1 à 3). Ensuite, i passe à 2 et la boucle interne recommence, avec j qui va de nouveau de 1 à 3. Cela nous donne un total de 2 × 3 = 6 itérations. rows et cols ne changent jamais : ils indiquent uniquement aux boucles quand s’arrêter.

Les boucles imbriquées sont souvent utilisées pour créer des motifs ou travailler avec des structures en grille :

for (row in 1..3) {
    for (col in 1..row) {
        print("*")
    }
    println()
}
// Sortie :
// *
// **
// ***

Ici, la plage de la boucle interne dépend de la variable de la boucle externe, ce qui crée un motif triangulaire. La fonction print() affiche le texte sans saut de ligne, tandis que println() passe à la ligne suivante après chaque rangée.

challenge icon

Défi

Moyen

Lis un entier n depuis l’entrée. Utilise des boucles imbriquées pour afficher une table de multiplication pour les nombres de 1 à n.

Pour chaque ligne i de 1 à n, affiche les produits i * 1, i * 2, ..., i * n séparés par des espaces, suivis d’un saut de ligne.

Par exemple, si l’entrée est 3, la sortie doit être :

1 2 3
2 4 6
3 6 9

Si l’entrée est 4, la sortie doit être :

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

Utilise print() avec un espace pour afficher des valeurs sur la même ligne, et println() pour passer à la ligne suivante.

Utilise un nouveau compteur pour chaque boucle (par exemple i pour les lignes et j pour les colonnes) et compare les deux avec n. Ne modifie pas n lui-même : chaque ligne en a de nouveau besoin.

Essayez vous-même

fun main() {
    // Lire l'entrée
    val n = readLine()!!.toInt()
    
    // TODO: Écrivez votre code ci-dessous
    // Utilisez des boucles imbriquées pour afficher la table de multiplication
    // Utilisez print() avec un espace pour les valeurs sur la même ligne
    // Utilisez println() pour passer à la ligne suivante
    
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Kotlin