-
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..)
Bene, abbiamo esaurito gli argomenti per questa lezione. Nella prossima vedremo i tipi di dati supportati dal linguaggio C++ e come utilizzarli.
fonte: AlexMark.