Programmazione per computer - Cicli

Consideriamo una situazione in cui vuoi stampare Hello, World!cinque volte. Ecco un semplice programma C per fare lo stesso:

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Era semplice, ma ancora una volta, consideriamo un'altra situazione in cui vuoi scrivere Hello, World!migliaia di volte. Non possiamo certamente scrivere mille volte istruzioni printf (). Quasi tutti i linguaggi di programmazione forniscono un concetto chiamatoloop, che aiuta a eseguire una o più istruzioni fino al numero di volte desiderato. Tutti i linguaggi di programmazione di alto livello forniscono varie forme di cicli, che possono essere utilizzati per eseguire ripetutamente una o più istruzioni.

Scriviamo il programma C sopra con l'aiuto di un file while loop e più tardi discuteremo di come funziona questo ciclo

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Il programma di cui sopra fa uso di un file while loop, che viene utilizzato per eseguire una serie di istruzioni di programmazione racchiuse tra {....}. Qui, il computer controlla prima se la condizione data, cioè la variabile "a" è minore di 5 o meno e se trova che la condizione è vera, allora il corpo del ciclo viene inserito per eseguire le istruzioni date. Qui, abbiamo le seguenti due dichiarazioni nel corpo del ciclo:

  • La prima istruzione è la funzione printf () , che stampa Hello World!

  • La seconda istruzione è i = i + 1 , che viene utilizzata per aumentare il valore della variabilei

Dopo aver eseguito tutte le istruzioni fornite nel corpo del ciclo, il computer torna a while (i <5) e la condizione data, (i <5), viene nuovamente controllata e il ciclo viene eseguito di nuovo se la condizione è vera. Questo processo si ripete fino a quando la condizione data rimane vera, il che significa che la variabile "a" ha un valore inferiore a 5.

Per concludere, un'istruzione loop ci consente di eseguire un'istruzione o un gruppo di istruzioni più volte. Di seguito è riportata la forma generale di un'istruzione loop nella maggior parte dei linguaggi di programmazione:

Questo tutorial è stato progettato per presentare i concetti di base della programmazione ai non programmatori, quindi discutiamo i due loop più importanti disponibili nel linguaggio di programmazione C. Una volta che hai chiarito questi due loop, puoi prendere un tutorial di programmazione C o un libro di riferimento e controllare altri loop disponibili in C e il modo in cui funzionano.

Il ciclo while

UN while loop disponibile in linguaggio di programmazione C ha la seguente sintassi:

while ( condition ) {
   /*....while loop body ....*/
}

Il codice sopra può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

I seguenti punti importanti devono essere notati riguardo a un ciclo while:

  • Un ciclo while inizia con una parola chiave while seguito da a condition racchiuso tra ().

  • Oltre all'istruzione while (), il corpo del ciclo sarà racchiuso tra parentesi graffe {...}.

  • Il corpo di un ciclo while può avere una o più righe di codice sorgente da eseguire ripetutamente.

  • Se il corpo di un ciclo while ha una sola riga, è facoltativo utilizzare le parentesi graffe {...}.

  • Un ciclo while continua a eseguire il suo corpo fino a un dato momento conditionè vero. Non appena la condizione diventa falsa, il ciclo while esce e continua l'esecuzione dall'istruzione immediatamente successiva dopo il corpo del ciclo while.

  • Una condizione è solitamente un'affermazione relazionale, che viene valutata come vera o falsa. Un valore uguale a zero viene considerato falso e qualsiasi valore diverso da zero funziona come vero.

Il ciclo do ... while

Un ciclo while controlla una data condizione prima di eseguire qualsiasi istruzione data nella parte del corpo. La programmazione C fornisce un'altra forma di loop, chiamatado...whileche permette di eseguire il corpo di un ciclo prima di controllare una data condizione. Ha la seguente sintassi:

do {
   /*....do...while loop body ....*/
} 
while ( condition );

Il codice sopra può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

Se scriverai l'esempio sopra usando do...while loop, quindi Hello, World produrrà lo stesso risultato -

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

La dichiarazione di rottura

Quando il breakviene incontrato all'interno di un ciclo, il ciclo viene immediatamente terminato e il controllo del programma riprende dall'istruzione successiva che segue il ciclo. La sintassi per abreak l'affermazione in C è la seguente:

break;

UN break può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

Di seguito è una variante del programma sopra, ma uscirà dopo aver stampato Hello World! solo tre volte -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!

L'istruzione continue

Il continue L'istruzione nel linguaggio di programmazione C funziona in qualche modo come la breakdichiarazione. Invece di forzare la risoluzione,continueforza l'esecuzione della successiva iterazione del ciclo, saltando qualsiasi codice intermedio. La sintassi per acontinue l'affermazione in C è la seguente:

continue;

UN continue può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

La seguente è una variante del programma precedente, ma salterà la stampa quando la variabile ha un valore uguale a 3 -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Cicli in Java

Di seguito è riportato il programma equivalente scritto in Java che anch'esso supporta while e do...whileloop. Viene stampato il seguente programmaHello, World! cinque volte come abbiamo fatto nel caso della programmazione C -

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio precedente.

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

Il break e continue le istruzioni nella programmazione Java funzionano allo stesso modo in cui funzionano nella programmazione C.

Cicli in Python

Di seguito è riportato il programma equivalente scritto in Python. Anche Python supportawhile e do...whileloop. Viene stampato il seguente programmaHello, World!cinque volte come abbiamo fatto nel caso della programmazione C. Qui devi notare che Python non fa uso di parentesi graffe per il corpo del ciclo, invece identifica semplicemente il corpo del ciclo usando l'indentazione delle istruzioni.

Puoi provare ad eseguire il seguente programma per vedere l'output. Per mostrare la differenza, abbiamo usato un'altra istruzione print, che verrà eseguita quando il ciclo sarà finito.

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

Il break e continue le istruzioni in Python funzionano allo stesso modo della programmazione C.