While, Do-While
Immagina uno scenario in cui è necessario eseguire ripetutamente determinati compiti, come leggere dati da un sensore, tentare inserimenti di password o contare le parole in una frase. In queste situazioni entrano in gioco i cicli.
I cicli permettono di eseguire specifici blocchi di codice più volte, decine, centinaia o anche migliaia di volte. Comprendere il concetto di ciclo è fondamentale nella programmazione. Questo corso approfondisce i cicli fondamentali: il ciclo while, il ciclo do-while e il ciclo for.
Ciclo While
Questo ciclo continua a essere eseguito finché una specifica condizione è soddisfatta. Una volta che la condizione non è più valida, il ciclo si interrompe.
main.c
123while (condition) { // Loop body }
Un uso fondamentale di un ciclo è visualizzare il conteggio delle sue ripetizioni:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Per interrompere questo ciclo, è essenziale una condizione di terminazione. Un approccio semplice consiste nell'utilizzare un contatore per tracciare quante volte il ciclo viene eseguito.
Una iterazione indica un singolo ciclo all'interno di un ciclo. Quindi, se il ciclo esegue il blocco di codice 10 volte, ha completato 10 iterazioni.
La riga iterations++; è fondamentale poiché incrementa il contatore (int iterations) a ogni passaggio. Il contatore quindi definisce le condizioni per terminare il ciclo.
È fondamentale stabilire condizioni per uscire dal ciclo. In caso contrario, si verificherà un ciclo infinito.
Main.c
12345678910111213141516#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }
Concentrarsi sull'espressione array[i].
Qui, la variabile i indica l'indice degli elementi di array[].
Ad ogni ciclo, la variabile i aumenta di 1. Questo significa che, durante ogni ciclo, l'espressione array[i] accede all'elemento successivo dell'array:
La principale differenza tra i cicli do-while e while è che il primo garantisce almeno un'esecuzione, anche se la condizione iniziale è falsa.
main.c
123do { // Do something } while (condition);
Questo tipo di ciclo è utile per creare interfacce utente di base. Ad esempio, quando si richiede una password, poiché consente di continuare a chiedere finché l'input non è valido. Un ciclo in stile do-while è ideale in questo caso, poiché il prompt deve essere visualizzato almeno una volta, mentre un ciclo while è adatto quando si entra solo se una precondizione è soddisfatta.
Main.c
123456789101112#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between a while loop and a do-while loop with examples?
How does the counter help in terminating a loop?
Can you show how to use a loop to read data from a sensor?
Awesome!
Completion rate improved to 2.63
While, Do-While
Scorri per mostrare il menu
Immagina uno scenario in cui è necessario eseguire ripetutamente determinati compiti, come leggere dati da un sensore, tentare inserimenti di password o contare le parole in una frase. In queste situazioni entrano in gioco i cicli.
I cicli permettono di eseguire specifici blocchi di codice più volte, decine, centinaia o anche migliaia di volte. Comprendere il concetto di ciclo è fondamentale nella programmazione. Questo corso approfondisce i cicli fondamentali: il ciclo while, il ciclo do-while e il ciclo for.
Ciclo While
Questo ciclo continua a essere eseguito finché una specifica condizione è soddisfatta. Una volta che la condizione non è più valida, il ciclo si interrompe.
main.c
123while (condition) { // Loop body }
Un uso fondamentale di un ciclo è visualizzare il conteggio delle sue ripetizioni:
Main.c
1234567891011121314#include <stdio.h> int main() { int iterations = 1; while (iterations <= 10) { printf("%d\n", iterations); iterations++; // `iterations = iterations + 1;` } return 0; }
Per interrompere questo ciclo, è essenziale una condizione di terminazione. Un approccio semplice consiste nell'utilizzare un contatore per tracciare quante volte il ciclo viene eseguito.
Una iterazione indica un singolo ciclo all'interno di un ciclo. Quindi, se il ciclo esegue il blocco di codice 10 volte, ha completato 10 iterazioni.
La riga iterations++; è fondamentale poiché incrementa il contatore (int iterations) a ogni passaggio. Il contatore quindi definisce le condizioni per terminare il ciclo.
È fondamentale stabilire condizioni per uscire dal ciclo. In caso contrario, si verificherà un ciclo infinito.
Main.c
12345678910111213141516#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; int i = 0; // Index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // `i = i + 1` } return 0; }
Concentrarsi sull'espressione array[i].
Qui, la variabile i indica l'indice degli elementi di array[].
Ad ogni ciclo, la variabile i aumenta di 1. Questo significa che, durante ogni ciclo, l'espressione array[i] accede all'elemento successivo dell'array:
La principale differenza tra i cicli do-while e while è che il primo garantisce almeno un'esecuzione, anche se la condizione iniziale è falsa.
main.c
123do { // Do something } while (condition);
Questo tipo di ciclo è utile per creare interfacce utente di base. Ad esempio, quando si richiede una password, poiché consente di continuare a chiedere finché l'input non è valido. Un ciclo in stile do-while è ideale in questo caso, poiché il prompt deve essere visualizzato almeno una volta, mentre un ciclo while è adatto quando si entra solo se una precondizione è soddisfatta.
Main.c
123456789101112#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
Grazie per i tuoi commenti!