Ciclo For in C++

Giacomo Balla – “sua figlia Elica pensierosa”

Il ciclo for è indispensabile per eseguire più volte la stessa istruzione.

Ad esempio ordinare una lista, continuare a presentare un menù iniziale all’inizio di un programma, continuare ad eseguire la tornitura di un pezzo meccanico finché questo nn abbia raggiunto le dimensioni volute.

Quest’ultimo esempio è tipico delle industrie meccanizzate in cui vari robot hanno il compito di sostituire l’umo nei lavori più usuranti, rischiosi e ripetitivi. Normalmente il software presente in tali robot è scritto in C++ proprio perché consente un basso utilizzo della memoria una sintassi conosciuta e nello stesso tempo molto potente per quanto riguarda le operazioni da eseguire.

La sintassi del comando è la seguente:

for (istruzione_iniziale; prima_espressione; seconda_espressione)

istruzione;

come si nota la sintassi è notevolmente diversa da quella usata precedentemente in Python proprio perchè consente un insieme di operazioni maggiori ed una maggiore elasticità che si apprezzerà nell’implementazione di programmi più elaborati.

Eccone un esempio chiarificatore:

#include <iostream>

using namespace std;

int main (int argc, char *argv[])
{
int i;
for (i=0;i<5;++i)
    cout << “Volta: “<<i<<endl;
cout;
return 0;
}

In questi caso

istruzione_iniziale corrisponde a i=0

prima_espressione corrisponde a i<5

seconda espressione corrsponde a ++i

Si noti un’altra differenza tipica del linguaggio C++ ossia l’usa di ++i, estremamente utile per aumentare di uno il valore della variabile i.

About Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
This entry was posted in Senza categoria. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *