Boucles imbriquées
Fait partie de la section Fondamentaux du Journey C# de Coddy — leçon 46 sur 69.
Une boucle imbriquée est simplement une boucle à l'intérieur d'une autre boucle. La boucle interne terminera toutes ses itérations pour chaque itération unique de la boucle externe.
Une bonne analogie pour cela est une horloge : pour chaque heure (boucle externe), l'aiguille des minutes (boucle interne) doit effectuer son cycle complet de 60 minutes.
Exemple d'une boucle imbriquée :
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Cela affichera :
// 0 0
// 0 1
// 1 0
// 1 1La boucle externe (x) s'exécute deux fois, et pour chacune de ces fois, la boucle interne (y) s'exécute également deux fois — ce qui nous donne 4 lignes de sortie au total.
Dans l'exemple ci-dessus, Console.WriteLine() affiche chaque résultat sur une nouvelle ligne.
Si vous souhaitez afficher sans passer à une nouvelle ligne, utilisez Console.Write() à la place :
Console.Write("Hello ");
Console.Write("World");
// Sortie : Hello WorldLes deux méthodes sont utiles — Console.WriteLine() ajoute un saut de ligne à la fin, tandis que Console.Write() maintient le curseur sur la même ligne.
Défi
DébutantÉcrivez un programme qui affiche un rectangle d'astérisques (*) avec une largeur et une hauteur données.
Entrée : Deux entiers : width et height
Par exemple :
Si width = 5 et height = 3, la sortie devrait être :
*****
*****
*****Si width = 4 et height = 6, la sortie devrait être :
****
****
****
****
****
****Aide-mémoire
Une boucle imbriquée est une boucle à l'intérieur d'une autre boucle. La boucle interne termine toutes ses itérations pour chaque itération de la boucle externe.
Exemple de boucles imbriquées :
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Sortie :
// 0 0
// 0 1
// 1 0
// 1 1La boucle externe s'exécute deux fois, et pour chaque itération, la boucle interne s'exécute deux fois complètement.
Affichage de la sortie :
Console.WriteLine() affiche une valeur et passe à une nouvelle ligne.
Console.Write() affiche une valeur sans passer à une nouvelle ligne, de sorte que la sortie suivante continue sur la même ligne.
Essayez vous-même
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Écrivez votre code ci-dessous
}
}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
4Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiques7Entrées/Sorties de base
Sortie de baseInterpolation de chaînesLecture d'entréeParserRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourParamètres optionnelsRécapitulatif - Fonction de validationMéthodes Void13Itération sur les collections
Utilisation de la boucle ForBoucle ForeachOpérations courantes sur les tableaux5Opérateurs Partie 2
Opérateurs de comparaisonOpérateurs logiques Partie 1Opérateurs logiques Partie 2Récapitulatif - Logique simpleOpérateurs logiques Partie 33Variables - Partie 2
VarConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting6Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle ForBoucle WhileBoucle Do WhileBreakContinueBoucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Opérations sur les chaînes
Méthodes de chaînes - Partie 1Méthodes de chaînes - Partie 2Formatage de chaînes