Home
Accesso / Registrazione
 di 

Introduzione al C++

c++

Semplice guida per il C++ che tratta gli argomenti del flusso di controllo, dei costrutti condizionali e dei cicli.

Costrutto if-else: esegue un insieme di istruzioni se la condizione specificata è vera:
Sintassi:

if () 
{ statement1; 
statement 2; …. statement n; 
} else { 
statement1;statement 2;….statement n;
} 

In questo: se la condizione specificata è vera, allora le istruzioni comprese nelle prime parentesi graffe saranno eseguite, altrimenti saranno eseguite le istruzioni nelle parentesi graffe seguenti.

Alcuni punti da notare:
•se c’è solo una istruzione che segue l’if, dovrà essere eseguita solo quella se la condizione specificata è vera, quindi le parentesi graffe sono opzionali. Stessa cosa anche per le istruzionoi che seguono l’else.
•L’else è opzionale nel costrutto.
•Un else, senza un if non ha significato.

I costrutti if-else eseguono istruzioni basate su condizioni, ma come facciamo a scrivere queste condizioni? Per scrivere le condizioni abbiamo bisogno degli Operatori Relazionali. Gli operatori Relazionali o Comparativi sono usati per confrontare i valori.

Ritornano il valore booleano Vero o Falso (1 o 0) alle istruzioni in cui si trovano.

<, <=,>,=>, !=, ==
esempio: if (a>b) 
cout<

Nel costrutto di sopra, se la condizione è vera, cioè se a è maggiore di b, allora l’operatore relazionale > ritorna il valore Vero (o 1) all’istruzione in cui si trova, cioè nell’if e quindi verrà mostrato il valore della variabile a. Se la condizione è falsa (cioè a è minore o uguale a b), allora l’operatore relazionale ritorna un valore Falso (o 0) all’istruzione if e il controllo va all’istruzione dopo l’else, e verrà mostrato il valore della variabile b.

Nota: Attenzione che per comparare due valori uguali deve essere utilizzato ==, perchè = è l’operatore di assegnamento!

Per scrivere più di una condizione usiamo gli Operatori Logici. Questi sono &&, ||, !
&&-AND

Tutte le condizioni legate dall’operatore AND devono essere vere per far considerare l’istruzione vera.
Esempio: if ((a>b)&&(a>c))
cout< Qui se tutte e due le condizionio sono vere (cioè se a è maggiore di b e a è maggiore di c), allora l’istruzione sarà valutata come vera e sarà mostrato il valore della variabile
||-OR
Una qualsiasi delle condizioni connesse dall’operatore OR deve essere vera per considerare vera l’istruzione.
if ((a>b)||(a>c))
cout< Qui se una qualsiasi delle condizioni è vera (cioè se a è maggiore di b o se a è maggiore di c), allora l’istruzione sarà considerata vera e sarà mostrato il valore della variabile
!-NOT
E’ usato per negare una condizione particolare, cioè convertire il vero in falso e il falso in vero
Esempio:
if !(a>b)
cout< Nell’esempio di sopra, se a è maggiore di b, allora l’istruzione dovrebbe ritornare il valore vero, ma l’operatore not nega questo, e ritorna il valore falso all’istruzione, e non viene visualizzato alcunché.
D’altra parte, se la condizione fosse falsa (cioè se a è minore o uguale a b), allora l’istruzione dovrebbe ritornare il valore falso, ma l’operatore not nega questo, e ritorna il valore vero all’istruzione, e verrà mostrata la variabile.
Si usano gli if-else nidificati a scala quando il costrutto if-else deve essere usato diverse volte.

if ()
{ statement1; …. statement n;
} else if ()// 
se la precedente condizione era falsa, 
allora un nuovo costrutto inizia
{ // basato su un’altra condizione
statement1;
….
statement n;
} else if () {
statement1;
….
statement n;
} …….// Questo può continuare 
per un qualsiasi numero di volte
else if () {
statement1;
….
statement n;
} else {
statement1;
….
statement n;
}

Nota: L’ultimo else è opzionale
Cicli: Usati per l’esecuzione ripetuta di un insieme di istruzioni finché la condizione data è vera.
Ciclo while - esegue un insieme di istruzioni finché la condizione specificata all’inizio è vera. La condizione è valutata all’inizio del ciclo, quindi deve essere vera all’inizio per eseguire un’altra volta le istruzioni.
Sintassi:

while() 
{ 
statement1; 
… 
statement n; 
}

Nota: In modo simile all’istruzione if, le parentesi graffe sono opzionali se c’è solo un’istruzione nel ciclo
esempio:

int a=1;while(a<=3)
{
cout<

Nell’esempio precedente, finché la condizione continua ad essere vera (cioè finché a è minore o uguale a 3), l’istruzione nel ciclo continuerà ad essere eseguita ancora ed ancora.
Ciclo do-while-è simile al ciclo while tranne per il fatto che la condizione è alla fine del ciclo. Come conseguenza, il ciclo è eseguito sempre una volta, senza tener conto del valore booleano della condizione.
Nota: Un punto e virgola alla fine e le parentesi graffe sono sempre richieste.
Sintassi:

do 
{ 
statement 1; 
.. 
statement n; 
}while(); 

L’output è lo stesso del ciclo while di sopra. La differenza è quando la condizione è falsa all’inizio stesso. Esempio se noi abbiamo assegnato ad ‘a’ un valore 6 all’inzio invece di 1, il ciclo while non avrebbe eseguito nemmeno una volta le istruzioni, ma il ciclo do-while eseguira almeno una volta (6 verrà mostrato) poiché la condizione è valutata solo alla fine della prima iterazione.
Ciclo for-è usato per eseguire un insieme di istruzioni finché la condizione specificata è vera.
Esempio

for(i=1;i<=4;i++) 
{ 
cout<

• i=1 è chiamata espressione di inizializzazione, ed è valutata solo la prima volta quando il ciclo è contato per la prima volta. Imposta il valore della variabile i ad 1
• i<=4 è chiamata condizione, o espressione di test ed è valutata prima di ogni interazione del ciclo. Finché la condizione rimane vera, il ciclo continua ad essere eseguito
• i++ è chiamato espressione di incremento o decremento, ed è eseguita alla fine di ogni iterazione del ciclo. Se non c’è alcuna espressione di incremento o decremento, allora il ciclo si trasforma in un ciclo infinito.
• Le parentesi graffe sono opzionali se il ciclo ha una sola istruzione

L’inizializzazione e l’espressione di incremento possono essere lasciate vuote, e le operazioni che dovrebbero fare possono essere fatte rispettivamente fuori e dentro il ciclo.
Esempio

int i=1;
for( ; i<=4; )
{
cout< )
Un ciclo for può avere più di una variabile.

for(i=1, j=2; i<=4; i++, j+=2)
{
cout< }

• i=1, j=2 è un’espressione di inizializzazione combinata
• i<=4 è la condizione. Nota che se scrivi più di due condizioni in un ciclo fot, allora alcuni compilatori potrebbero tornare un errore. Per più di una condizione, è meglio usare i cicli while o do-while.
• i++, j+=2 è un’espressione di incremento combinata

Un ciclo senza istruzioni: nota il punto e virgola alla fine dell’istruzione for
for(i=1;i<=3;i++);
cout< Output: 4

Questo ciclo mantiene la ripetizione del ciclo for finché la condizione specificata è vera (cioè finché I è inore o uguale a 3). Dopo i diventa 4, il ciclo esce, e allora è eseguita l’istruzione successiva (cout).
Spesso, un costrutto è usato uno dentro l’altro. Esempio usare i costrutti if-else con i cicli, ecc.
Cicli nidificati-usare un costrutto di un ciclo in un altro. Usato quando serve nella ripetizione di un processo, molte ripetizioni di un altro processo. Alcune applicazioni stampano i patternm trovano la somma di una serie ecc...
Esempio.
Pattern:
1
12
123
1234

• L’ultimo ciclo esegue un numero di volte il pattern che deve essere ripetuto (nel caso di sopra 4 volte). Può eseguire dall’1 al 4, dal 4 all’1, dal 2 al 6 ecc.
• Il primo ciclo dipende dai valori mostrati e spesso deve essere collegato al ciclo più esterno.ù

Quindi possiamo scrivere il seguente codice:

for(i=1;i<=4;i++)
{
for(j=1;j<=i; j++)
cout< }

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 9 utenti e 40 visitatori collegati.

Ultimi Commenti