Un programma è un insieme di istruzioni scritte in un linguaggio di programmazione per eseguire un determinato compito. Può essere un'operazione logica o un'operazione matematica. Generalmente, le istruzioni nel programma vengono eseguite una dopo l'altra. A volte è necessario eseguire una serie di dichiarazioni ancora e ancora. Le strutture di controllo sono utilizzate per raggiungere questo compito. Due di questi sono per e while loop. Queste strutture aiutano ad eseguire una sequenza di codice finché la condizione data non è vera. La sintassi del ciclo for consiste di inizializzazione, espressione di test ed espressione di aggiornamento. La sintassi del ciclo while contiene l'espressione di test. Questo articolo discute la differenza tra ciclo for e while. Il differenza fondamentale tra for e while loop è quello il ciclo for può essere utilizzato quando il numero di iterazioni è noto e il ciclo while può essere utilizzato quando il numero di iterazioni non è noto.
1. Panoramica e differenza chiave
2. Cos'è per Loop
3. Cosa è mentre Loop
4. Somiglianze tra e per il ciclo
5. Confronto affiancato - per vs mentre Loop in forma tabulare
6. Sommario
Il ciclo for viene utilizzato in molti linguaggi di programmazione come C, Java, ecc. Viene utilizzato per eseguire una serie di istruzioni più volte. La sintassi del ciclo for è la seguente.
for (inizializzazione, test expression, update)
// istruzioni all'interno del ciclo for
L'espressione di inizializzazione viene eseguita solo una volta. Quindi, viene valutata l'espressione di test. L'espressione di test può contenere variabili, valori, costante e operatori. È un'espressione booleana. Se l'espressione valutata è vera, viene eseguito il codice all'interno del ciclo for. Dopo aver raggiunto la fine del ciclo, viene eseguita l'espressione di aggiornamento. Può essere un incremento o un decremento. Anche in questo caso viene controllata l'espressione di test. Se l'espressione valutata è vera, vengono eseguite le istruzioni all'interno del ciclo for. Alla fine del ciclo, viene eseguita l'espressione di aggiornamento. Questo processo si ripete finché l'espressione di test non è falsa. Quando l'espressione di test è falsa, il ciclo for termina e il controllo viene passato all'istruzione successiva dopo il ciclo.
Figura 01: un programma con ciclo per calcolare la somma di 5 numeri
Il programma sopra riportato è quello di trovare la somma dei primi cinque numeri, che sono 1,2,3,4 e 5. Nel ciclo for, i è 1. È inferiore a 5. Quindi la somma viene calcolata. Inizialmente, la somma è 0. Viene aggiunta a i che è 1. Il totale è assegnato alla somma variabile. Ora la somma è 1. Quindi viene valutata l'espressione di aggiornamento. L'i è incrementato di uno. Ora i è 2. È inferiore a 5. Quindi, la somma viene calcolata. Il precedente valore di somma è 1 e viene aggiunto al valore i che è 2. Ora la somma è 3. L'espressione di aggiornamento viene valutata e i viene incrementata di 1. Ora è 3. Questo processo si ripete. Quando i diventa 6, l'espressione diventa falsa perché 6 non è uguale o inferiore a 5. Pertanto, il ciclo for termina. Infine, la somma di tutti e cinque i numeri viene stampata sullo schermo.
Il ciclo while esegue le istruzioni di destinazione finché la condizione data è vera. La sintassi del ciclo while è la seguente.
while (espressione test)
// istruzioni all'interno del ciclo while
Il ciclo while contiene un'espressione di test. È un'espressione booleana. Se l'espressione valutata è vera, le istruzioni all'interno del ciclo while vengono eseguite. Alla fine di tali dichiarazioni, l'espressione di test viene valutata di nuovo. Questo processo si ripete fino a quando l'espressione di test diventa falsa. Quando diventa falso, il ciclo while termina e il controllo viene passato all'istruzione dopo il ciclo while.
Figura 02: un programma con ciclo while per calcolare la somma di 5 numeri
Secondo il programma precedente, la somma viene inizializzata a 0 e i è inizializzata a 1. Nel ciclo while, viene valutato il valore i. È inferiore a 5. Quindi, la somma viene calcolata. Il valore iniziale della somma è 0. Viene aggiunto al valore i 1. Ora la somma è 1. Quindi il valore i viene incrementato di uno. Ora valore è 2. È inferiore a 5. Quindi la somma viene calcolata. La somma corrente che è 1 viene aggiunta al valore i che è 2. Ora la somma è 3. Ancora il valore i viene incrementato. Ora il valore i è 3. Questo processo si ripete. Quando i valore diventa 6, l'espressione diventa false perché non è inferiore o uguale a 5. Quindi, il ciclo while termina. Infine, il valore della somma viene stampato sullo schermo. Se non vi era alcun incremento come i ++, allora il valore i rimane nello stesso che è 1. È inferiore a 5. La condizione è vera sempre. Quindi sarà un ciclo infinito.
per vs mentre Loop | |
Il ciclo for è una struttura di controllo della ripetizione che consente al programmatore di scrivere in modo efficiente un ciclo che deve eseguire un numero specifico di volte. | Il ciclo while è una struttura di controllo di ripetizione che esegue le dichiarazioni di destinazione purché la condizione data sia vera. |
uso | |
Il ciclo for può essere utilizzato quando il numero di iterazioni è noto. | Il ciclo while può essere utilizzato quando il numero di iterazioni non è noto. |
Inizializzazione | |
L'inizializzazione avviene una volta in ciclo. | Nel ciclo while, se l'istruzione di inizializzazione è all'interno del ciclo, l'inizializzazione viene eseguita ogni volta che il ciclo itera. |
Nella programmazione, a volte è necessario ripetere un insieme di istruzioni più volte. Ci sono strutture di controllo della ripetizione per raggiungere questi compiti. Due di questi sono per e while loop. La differenza tra for e while loop è che il ciclo for viene utilizzato quando il numero di iterazioni è noto e il ciclo while viene utilizzato quando il numero di iterazioni non è noto.
1. Punto, esercitazioni. "Per loop in C.", Punto tutorial, 8 gennaio 2018, www.tutorialspoint.com/cprogramming/c_for_loop.htm.
2. Point, Tutorials. "Mentre loop in C.", Punto tutorial, 8 gennaio 2018, www.tutorialspoint.com/cprogramming/c_while_loop.htm.