C # while e do ... while ciclo (con esempi)

In questo articolo, impareremo il ciclo while e do … while in C #, come usarli e differenze tra loro.

Nella programmazione, spesso si desidera eseguire determinati blocchi di istruzioni per un numero di volte specificato. Una possibile soluzione sarà digitare quelle istruzioni per il numero di volte richiesto. Tuttavia, il numero di ripetizioni potrebbe non essere noto in anticipo (durante la compilazione) o forse abbastanza grande (diciamo 10000).

La migliore soluzione a questo problema è il loop. I cicli vengono utilizzati nella programmazione per eseguire ripetutamente un determinato blocco di istruzioni finché non viene soddisfatta una determinata condizione.

In questo articolo impareremo a usare i cicli while in C #.

C # ciclo while

La parola chiave while viene utilizzata per creare un ciclo while in C #. La sintassi per il ciclo while è:

 while (test-espressione) (// corpo di while) 

Come funziona il ciclo while?

  1. Il ciclo while C # è costituito da un file test-expression.
  2. Se test-expressionviene valutato a true,
    1. vengono eseguite le istruzioni all'interno del ciclo while.
    2. dopo l'esecuzione, test-expressionviene rivalutato.
  3. Se test-expressionviene valutato a false, il ciclo while termina.

diagramma di flusso del ciclo while

Esempio 1: while Loop

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 C # Ciclo For: Iterazione 1 C # Ciclo For: Iterazione 2 C # Ciclo For: Iterazione 3 C # Ciclo For: Iterazione 4 C # Ciclo For: Iterazione 5

Inizialmente il valore di i è 1.

Quando il programma raggiunge l'istruzione del ciclo while,

  • i <=5viene valutata l'espressione di prova . Poiché i è 1 ed 1 <= 5è true, esegue il corpo del ciclo while. Qui, la linea viene stampata sullo schermo con l'iterazione 1 e il valore di i viene aumentato di 1 per diventare 2.
  • Ora, l'espressione di prova ( i <=5) viene valutata di nuovo. Anche questa volta l'espressione restituisce true(2 <= 5), quindi la riga viene stampata sullo schermo e il valore di i viene ora incrementato a 3 …
  • Questo va e il ciclo while viene eseguito fino a quando i diventa 6. A questo punto, l'espressione di test restituirà falsee quindi il ciclo termina.

Esempio 2: ciclo while per calcolare la somma dei primi 5 numeri naturali

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 Somma = 15

Questo programma calcola la somma dei primi 5 numeri naturali.

  • Inizialmente il valore di sum è inizializzato a 0.
  • Ad ogni iterazione, il valore di sum viene aggiornato a sum+ie il valore di i viene incrementato di 1.
  • Quando il valore di i raggiunge 6, l'espressione di test i<=5restituirà false e il ciclo termina.

Vediamo cosa succede nel programma dato ad ogni iterazione.

Inizialmente, i = 1, sum = 0

Mentre i passaggi di esecuzione del ciclo
Iterazione Valore di i io <= 5 Valore della somma
1 1 vero 0 + 1 = 1
2 2 vero 1 + 2 = 3
3 3 vero 3 + 3 = 6
4 4 vero 6 + 4 = 10
5 5 vero 10 + 5 = 15
6 6 falso Il ciclo termina

Quindi, il valore finale della somma sarà 15.

C # do … while loop

La parola chiave do e while viene utilizzata per creare un ciclo do … while. È simile a un ciclo while, tuttavia c'è una grande differenza tra loro.

Nel ciclo while, la condizione viene verificata prima che il corpo venga eseguito. È l'esatto opposto nel ciclo do … while, cioè la condizione viene controllata dopo che il corpo è stato eseguito.

Questo è il motivo per cui il corpo del ciclo do … while verrà eseguito almeno una volta indipendentemente dall'espressione di test.

La sintassi per il ciclo do … while è:

 do (// corpo del ciclo do while) while (espressione di prova); 

Come funziona il ciclo while?

  1. Il corpo del ciclo do … while viene eseguito all'inizio.
  2. Quindi test-expressionviene valutato.
  3. Se test-expressionè true, viene eseguito il corpo del ciclo.
  4. Quando test-expressionè false, do … while il ciclo termina.

fare … while loop Diagramma di flusso

Esempio 3: do … while loop

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Quando eseguiamo il programma, l'output sarà:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// corpo del ciclo while) 

Infinite do … while loop

 do (// corpo del ciclo while) while (true); 

Il ciclo infinito è utile quando abbiamo bisogno di un ciclo da eseguire finché il nostro programma è in esecuzione.

Ad esempio, se il tuo programma è un'animazione, dovrai eseguirlo costantemente finché non viene interrotto. In questi casi, è necessario un ciclo infinito per continuare a eseguire ripetutamente l'animazione.

Articoli interessanti...