Wikia

D Programming

Osservati speciali Ultime modifiche

Le strutture iterative

Indice

Introduzione Modifica

Quando si parla di strutture iterative, non si parla altro che di cicli, ovvero, delle porzioni di codice che vengono ripetute N volte; esistono vari costrutti per eseguire dei cicli iterativi e sono: il while, do-while, for e foreach

Il while Modifica

E' il costrutto iterativo più semplice, la sua sintassi è la seguente

 while(condizione)
 {
   /* Codice da ripetere fino a quando condizione non è più soddisfatta
    * quindi restituisce false o 0
    */
 }

Quindi, il while ha una condizione, se questa condizione da true, verrà eseguito il codice all'interno delle graffe ripetutamente fino a quando condizione non restituisce false.

Ecco un esempio che spiega praticamente l'utilizzo del while:

import std.stdio;         
 
int main(string[] args)   
{
  int i = 0; //Variabile-contatore
 
  while(i < 10) //Condizione, esegue il codice fino a quando i < 10
  {
    writefln("i = %d", i);
    i++; //IMPORTANTE: Incrementiamo la variabile se no il loop non finirà mai
  }
 
  return 0;               
}

Il do-while Modifica

Il do-while è una piccola variante del while classico, il do che sta all'inizio fa sì che il codice all'interno della struttura iterativa venga eseguito SEMPRE la prima volta, la condizione viene controllata alla fine del ciclo (e non all'inizio come succede in tutti gli altri casi).

La struttura del do-while è la seguente:

 do
 {
   /* Codice da eseguire se la condizione è stata soddisfatta
    * ATTENZIONE: IL CODICE ALL'INTERNO DEL DO VERRA ESEGUITO SEMPRE LA PRIMA VOLTA
    */
 }
 while(condizione); //La condizione verrà controllata alla fine del do (true: ripete, false: esce)

Ecco un esempio pratico sull'utilizzo del do-while:

import std.stdio;         
 
int main(string[] args)   
{
  int i = 0;  //Assegno una variabile-contatore
 
  do
  {
    //Questa parte di codice verrà eseguita SEMPRE la prima volta		
    writefln("%d", i);
    i++;
  }
  while(i < 10); //Alla fine del do controlla se la condizione è true o false.
 
  return 0;               
}

Il for Modifica

E' la struttura iterativa più utilizzata, perchè risulta più compatta ed elegante del while, anche se all'inizio la sua sintassi può generare confusione. Una delle particolarità del for sta nel fatto che la variabile contatore, il suo incremento/decremento e la condizione, fanno parte del costrutto stesso, quindi diventa tutto più compatto ed elegante, perchè non avremo così delle "variabili volanti" nel nostro codice.

La sintassi del for è la seguente:

 for(variabileContatore; condizione; incrementoVariabileContatore)
 {
    //Codice da eseguire fino a quando 'condizione' non restituisce false...
 }

Quindi, sta tutto su una riga (condizione, variabile.....), quì sotto riporto un esempio pratico sull'utilizzo del for

import std.stdio;         
 
int main(string[] args)   
{
  //Stampa i numeri da 1 a 9
  for(int i = 0; i < 10; i++)
  {
    writefln("%d", i);
  }
 
  return 0;               
}

Il for (come le altre strutture iterative) può essere usato per scorrere un array e stamparlo sullo schermo:

import std.stdio;         
 
int main(string[] args)   
{
  //Array di 10 elementi
  int mioArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
  //Stampo il contenuto dell'array sullo schermo
  for(int i = 0; i < mioArray.length; i++)
  {
    /* La variabile 'i' verrà incrementata per ogni iterazione eseguita (da 0 a mioArray.length - 1)
     * quindi può essere presa per leggere ogni index dell'array
     */
    writefln("%d", mioArray[i]);
  }
 
  return 0;               
}

Il foreach Modifica

E' il "fratello minore" del for, si trova nei linguaggi nati di recente, è molto più elegante e compatto del for, si usa soprattutto per scorrere collezioni di elementi (come array o altro).

La sintassi del foreach è la seguente:

 foreach(tipoElemento; arrayDiElementi)
 {
    /* Codice da eseguire fino a quando non viene raggiunta
     * la fine della collezione di elementi
     */
 }
  • tipoElemento: è come se facessimo arrayDiElementi[i].
  • arrayDiElementi: è la classica collezione di oggetti, può essere anche un array.

Ecco un utilizzo pratico del foreach:

import std.stdio;         
 
int main(string[] args)   
{
 //Array di 10 elementi
  int mioArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
  //Per ogni int, nell'array di tipo int...
  foreach(int num; mioArray)
  {
    //num è come se fosse mioArray[i], cambia per ogni iterazione eseguita.
    writefln("%d", num);
  }
 
  return 0;
}

Pagine su D Programming

Crea una pagina
25pagine in
questa wiki
Advertisement | Your ad here

Latest Photos

Carica un'immagine
10immagini in questa wiki
Vedi altre >

Attività recenti della Wiki

Vedi >

Nella rete di Wikia

Wiki a caso