Ciclo annidato
Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 46 di 69.
Un ciclo annidato è semplicemente un ciclo all'interno di un altro ciclo. Il ciclo interno completerà tutte le sue iterazioni per ciascuna singola iterazione del ciclo esterno.
Una buona analogia è quella di un orologio: per ogni ora (ciclo esterno), la lancetta dei minuti (ciclo interno) deve completare il suo ciclo completo di 60 minuti.
Esempio di ciclo annidato:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// Questo produrrà in output:
// 0 0
// 0 1
// 1 0
// 1 1Il ciclo esterno (x) viene eseguito due volte e, per ciascuna di queste volte, il ciclo interno (y) viene eseguito due volte, il che significa che il corpo del ciclo interno viene eseguito in totale 4 volte.
Potresti aver bisogno anche di Console.Write() quando lavori con cicli annidati. A differenza di Console.WriteLine(), che stampa il testo e passa a una nuova riga, Console.Write() stampa il testo senza aggiungere un ritorno a capo alla fine. Questo ti permette di comporre l'output sulla stessa riga:
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// Questo produrrà in output:
// * * * * Qui, Console.Write() continua a stampare sulla stessa riga e Console.WriteLine() alla fine passa alla riga successiva.
Sfida
PrincipianteScrivi un programma che stampi un rettangolo di asterischi (*) con una larghezza e un’altezza date.
Input: due numeri interi: width e height
Per esempio:
Se width = 5 e height = 3, l’output dovrebbe essere:
*****
*****
*****Se width = 4 e height = 6, l’output dovrebbe essere:
****
****
****
****
****
****Provalo tu
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// Scrivi il tuo codice qui sotto
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoIncremento/Decremento postfissoAbbreviazioni aritmetiche7Input/Output di base
Output di baseInterpolazione di stringheLettura dell'inputParsingRipasso - Fino a 120Ripasso - Vero o falso5Operatori Parte 2
Operatori di confrontoOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 33Variabili Parte 2
VarCostantiConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione dei tipi6Prendere decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidati9Cicli
Ciclo forCiclo whileCiclo do whileBreakContinueCiclo annidatoCiclo infinitoRiepilogo - Input dinamico12Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheEsercitati da solo: Compilatore C# online