cicli. Ciclo con parametro (per)


Immaginiamo una situazione in cui dobbiamo visualizzare la stessa parola sullo schermo, diciamo la parola "CIAO";, 10 volte. Cosa dobbiamo fare?
Puoi prendere e scrivere il comando 10 volte Console.WriteLine("HELLO");

Ma cosa succede se non hai bisogno di 10 volte, ma 20, 30, 40 volte? E se 200 volte? In questo caso, la copia richiederà molto tempo. E se è necessario che l'utente scelga quante volte visualizzare le informazioni sullo schermo? 

Per far fronte a questo compito, possiamo utilizzare una costruzione speciale chiamata loop.

Un ciclo è una costruzione algoritmica in cui una determinata sequenza di comandi viene ripetuta più volte.

Nel linguaggio di programmazione C# esistono due tipi di cicli: un ciclo variabile (for) e un ciclo condizionale (while e do...while)

Iniziamo la nostra conoscenza dei cicli dal primo tipo.

Un ciclo con una variabile o con un numero noto di passi (for).

Accade spesso che conosciamo il numero di ripetizioni di un'azione, oppure possiamo serif">calcolare
numero di ripetizioni utilizzando i dati che conosciamo. Alcuni linguaggi di programmazione hanno un comando che in russo suona come ripeti (numero di volte), ovvero possiamo specificare il numero esatto di ripetizioni. 

È interessante vedere come funziona questo ciclo a livello di macchina:
1. Una determinata cella di memoria viene allocata in memoria e il numero di ripetizioni viene scritto su di essa.
2. Quando il programma esegue il corpo del ciclo una volta, il contenuto di questa cella (contatore) viene decrementato di uno.
3. Il ciclo termina quando questa cella è zero.

Nel linguaggio di programmazione C# non esiste tale costrutto, ma piuttosto il costrutto for.  

La forma generale dell'operatore di loop for è la seguente:
per (/*espressione1*/; /*espressione2*/; /*espressione3 */)
{
      /*un'istruzione o un blocco di istruzioni - corpo del ciclo*/;
}
Questo costrutto ci richiede di:
1. Assegnare esplicitamente una cella di memoria che fungerà da contatore e impostarne il valore iniziale.
2. Abbiamo scritto una condizione in base alla quale verrà eseguito il corpo del ciclo.
3. Specifica come cambierà il valore in questa cella.

Nella parte pratica, proveremo a visualizzare la parola "Ciao" 10 volte, e in ulteriori attività analizzeremo questa costruzione in modo più dettagliato.

for
ciclo
Il ciclo for è un mezzo per passare attraverso azioni ripetute. Diamo un'occhiata più da vicino a come funziona.

In genere, parti del ciclo for  eseguono i seguenti passaggi: 
1. Impostazione del valore iniziale. 
2. Esecuzione di un test delle condizioni per continuare il ciclo. 
3. Esegui azioni cicliche. 
4. Aggiorna i valori utilizzati nel test. 
e quindi i passaggi 2-4 vengono ripetuti finché la condizione non viene soddisfatta. Non appena la condizione diventa falsa, il ciclo termina e viene eseguita l'istruzione che segue l'istruzione del ciclo for.
 
Forma generale del loop  for (/* espressione 1*/; /* espressione 2*/; /* espressione 3*/ ) {       /* un'istruzione o un blocco di istruzioni - corpo del ciclo */; }

Espressione 1 responsabile dell'impostazione del valore iniziale della variabile del ciclo (contatore), termina con un punto e virgola.
Per esempio :
  • i=0; // loop variabile i imposta il valore iniziale uguale a zero - deve essere dichiarato prima il ciclo
  • int i=0; // la variabile i può essere dichiarata immediatamente nell'intestazione del ciclo, ma in questo caso verrà cancellata dalla memoria dopo il viene eseguito il ciclo
  • ;  // non c'è alcuna inizializzazione e dichiarazione della variabile ciclo, in questo caso, può essere dichiarata prima del ciclo
Espressione 2 - questa è la condizione per continuare il ciclo for, viene verificata la verità. Per esempio,

i <= 10  // il ciclo verrà eseguito finché la variabile i è minore o uguale a 10.
La condizione può essere qualsiasi cosa.

L'Espressione 3 modifica il valore della variabile contatore. Senza questo valore, il ciclo sarà considerato infinito. Per esempio,

i++;  // ogni volta che il corpo del ciclo viene completato, i viene incrementato di 1.

 

Possono esserci più operatori in ciascuna parte dell'intestazione, separati da virgole.< /span>
Esempi di intestazione:

for ( int i = 0; i < 10; i + + ) { ... } - titolo standard

for ( int i = 0, x = 1; i < 10; i += 2, x *= 2 ){ ... }  
         // in questo caso, usiamo due variabili che cambieranno dopo l'esecuzione del corpo del ciclo - queste sono le variabili i e x
         // la variabile i cambia con incrementi di 2 - i+=2 - abbreviazione di i=i+2
         // la variabile x aumenta di 0,1 volte ad ogni passaggio x=x*2 - abbreviato х*=2
< /span>

Ripeti N volte

Tutti i programmi con un ciclo for che abbiamo scritto finora non possono essere definiti universali. Perché ci siamo dati il ​​numero di ripetizioni del corpo del loop. Ma cosa succede se il numero di ripetizioni dipende da qualche altro valore? Ad esempio, l'utente stesso desidera impostare il numero di ripetizioni del ciclo.
Cosa fare in questo caso? Tutto è molto semplice. Invece di valori iniziali e finali numerici, possiamo utilizzare qualsiasi variabile che può essere calcolata o impostata dall'utente.

Ad esempio, dobbiamo visualizzare i quadrati dei numeri da 1 a N, dove il valore della variabile N viene inserito da tastiera da l'utente.
Il programma avrà questo aspetto:
  #include <iostream> utilizzando lo spazio dei nomi std; principale() { int i,N; // io – variabile loop, N - il numero massimo per il quale calcoliamo il quadrato cin>> N; for ( i = 1; i <= N; i ++) // ciclo: per tutti i da 1 a N. La variabile i assumerà in sequenza valori da 1 a N { cout << "Numero quadrato "<<i<<" è" <<i*i<<"\n"; // Emissione del quadrato di un numero in un formato specifico e passaggio a una nuova riga } } Quando si entra nel ciclo, viene eseguita l'istruzione i = 1, quindi la variabile i viene incrementata di uno ad ogni passo (i ++ ). Il ciclo viene eseguito mentre la condizione i <= N è vera. Nel corpo del ciclo, l'unica istruzione di output stampa il numero stesso e il suo quadrato sullo schermo secondo il formato specificato.
Per la quadratura o altri esponenti bassi, è meglio usare la moltiplicazione.

Esegui il programma e guarda il risultato del suo lavoro con diversi valori della variabile N.