[C++]Guida teorica

parte 3

« Older   Newer »
 
  Share  
.
  1. n1md4
     
    .

    User deleted


    L'istruzione if e il ciclo For

    L' istruzione condizionale "if"

    Questa lezione sarà piuttosto veloce, perché è relativamente semplice. Iniziamo con l'istruzione "if". If in inglese significa "se", dunque già dovreste aver capito, (no eh?), vediamo un esempio pratico

    CODICE:
    SPOILER (click to view)
    /*
    Uso dell'istruzione If
    */

    #include <iostream>

    void main()
    {
    int variabile;
    variabile = 8;

    int altravariabile;
    altravariabile = 10;

    //costrutto If
    if(variabile > altravariabile)
    {

    printf("Ciao !"); //questa istruzione non sarà eseguita
    }
    else
    {
    printf("8 < 10 !"); //questa istruzione sarà eseguita
    }
    }


    Ecco come si usa il costrutto "if": la sintassi è

    if (condizione) istruzione

    nel caso dell'esempio sopra, siccome "variabile" era 8 e "altravariabile" era 10, la prima non era maggiore della seconda, perché 8 non è maggiore di 10. Allora l'output sarà "8 < 10 !". L'altra istruzione "else", serve a specificare un'ulteriore istruzione al costrutto "if", nel caso la condizione sia falsa, come in questo caso. Se l'istruzione dopo "if" o "else" è una sola riga, si può scrivere anche così:

    CODICE:
    SPOILER (click to view)
    if (8>2)
    printf("ciao");
    else
    printf("io non vengo eseguita");


    Altrimenti bisogna mettere le parentesi graffe, come fosse una funzione. Gli
    operatori condizionali che possono essere utilizzati sono i seguenti:

    Operatore Significato
    < Minore di
    <= Minore o uguale a
    > Maggiore di
    >= Maggiore o uguale a
    == Uguale a
    != Diverso da


    Attenzione: l'operatore di uguaglianza, è un doppio segno uguale, non uno
    solo ! Se scrivessimo


    if ( variabile1 = variabile2)
    istruzione....

    allora la condizione sarebbe sempre vera perché il compilatore assegnerebbe a "variabile1" il valore di "variabile2" !!


    Il ciclo "For"

    Per eseguire ripetutamente una sequenza di codice, si usano i cicli. Il più famoso in C++ è il ciclo "For". Questa è la sintassi:

    for (da dove parto ; finché devo durare ; incremento ogni volta )
    istruzione;

    Oppure, se l'istruzione non è una sola, come per il costrutto "if" :

    CODICE:
    SPOILER (click to view)
    for (da dove parto ; finché devo durare ; incremento ogni volta )
    {
    istruzione1;
    istruzione2;
    ecc..
    }


    Ecco un esempio di un programma che visualizza sullo schermo i numeri da 1 a 300:


    CODICE:
    SPOILER (click to view)
    #include <iostream>

    void main()
    {

    int count;

    for(count = 1; count <= 300; count++)
    printf("%dn", count);

    }


    Spieghiamo cosa c'é di nuovo..

    Il ciclo for inizia da count = 1, cioé da 1, e continua per tutto il tempo che count <= 300, cioé dura finché la variabile count è minore oppure uguale a 300. Nel momento che la variabile raggiunge i 301, l'istruzione non viene eseguita più ed il programma esce. Il count++ è una caratteristica del linguaggio C++. In circostanze normali, l'incremento della variabile count, dovrebbe essere ogni volta di 1, cioé ogni volta che un ciclo finisce, count dovrebbe aumentare di 1 il suo valore, dunque a rigor di logica il costrutto dovrebbe essere riscritto così:

    for(count = 1; count <= 300; count = count + 1)
    printf("%dn", count);

    Dove vediamo chiaramente che ogni volta che il ciclo finisce, a count è assegnato il valore count stesso aumentato di 1. In sostanza, count = count + 1 e count++ sono equivalenti. Perché in C++ l'incremento di una unità si realizza semplicemente aggiungendo "++" attaccato alla fine della variabile. Allo stesso modo il decremento di una unità si realizza così: count-- .Utilizzeremo perciò sempre questi operatori speciali : "++" e "--", quando possibile, perché sono più veloci e più pratici.

    Esempio di chiusura

    Chiudiamo la lezione con un programma che crea una tabella di conversione da piedi a metri. Inoltre, ogni 10 righe scritte lascia una riga vuota.

    CODICE:
    SPOILER (click to view)
    /*
    Questo programma orrido
    visualizza una tabella di conversione da piedi a metri.

    FtoMTable.cpp
    */

    #include <iostream>

    void main()
    {

    double f;
    double m;
    int counter;

    counter = 0;

    for(f = 1.0; f <= 100.0; f++)
    {
    m = f / 3.28;
    printf("%f piedi equivalgono a %f metrin", f, m);
    counter++;

    if (counter == 10)
    {
    printf("n"); //Se counter == 10, lascia una riga vuota
    counter = 0;
    }
    }


    }


    L'output sarà come il seguente (l'ho tagliato per ragioni di spazio..)

    image

    Bene, abbiamo esaurito gli argomenti per questa lezione. Nella prossima vedremo i tipi di dati supportati dal linguaggio C++ e come utilizzarli.

    fonte: AlexMark
     
    Top
    .
0 replies since 4/9/2009, 10:46   37 views
  Share  
.