Home News Il Linguaggio di programmazione C – Lezione 3

Il Linguaggio di programmazione C – Lezione 3

1014
0

Salve ragazzi, oggi vedremo le strutture di controllo, stiamo studiando e cercando di mettere in pratica le teorie che abbiamo appunto studiato agli inizi, chi ha seguito le lezioni capirà.

linguaggioC

Allora ricordiamoci quali sono queste strutture di controllo.

abbiamo dunque la struttura di controllo a:

  • Sequenza
  • Selezione binaria
  • iterazione
  •      a condizione iniziale
  •      a condizione finale

Abbiamo già avuto modo di scrivere una struttura di controllo sequenza, un banale esempio lo possiamo vedere sotto.

sequenza

 

 

La struttura di controllo a selezione binaria:

Abbiamo avuto modo di vedere in passato che le parole chiave di questa struttura di controllo sono:

Se <condizione> allora …… altrimenti

Vi ricordo che la condizione è un espressione che produce un valore booleano che può assumere due valori di verità o vero o falso a seconda del valore che assume si segue un percorso di questa selezione oppure se ne segue un altro.

Nel linguaggio di programmazione C questa struttura di controllo si traduce in questo modo:

if (condizione)     inserito fra parentesi tonde

<istruzione> oppure <struttura di controllo>

else

<istruzione> oppure <struttura di controllo>

Se condizione risulterà essere vera verrà eseguito il primo ramo di istruzione, altrimenti se risulterà essere falsa verrà eseguito la seconda istruzione.

Possono esserci più di una istruzione per ramo come in figura:

graffe

 

Il compilatore in questo caso per capire se la condizione e vera e deve eseguire un numero superiore ad una istruzione lo capisce se dopo la parentesi tonda chiusa apriamo una parentesi graffa, la chiudiamo alla fine  del ramo relativo alla condizione vera.

le parentesi graffe non sono necessarie per una sola istruzione.

La stessa cosa vale per quanto riguarda else.

graffe1

 

Le istruzioni che possiamo mettere all’interno di una condizione sono quelle che abbiamo studiato fin’ora per esempio una istruzione di assegnazione:

condizioni

 

In questo caso se la condizione risulta essere vera eseguimi la prima istruzione (numero1 =15;) e la seconda istruzione (numero2=10;), il compilatore trova la parentesi graffa chiusa quindi capisce che il blocco delle istruzioni che deve eseguire è finito salta la parte relativa a quando la istruzione e falsa è va ad eseguire le altre istruzioni.

Come scrivere una condizione?

La condizione è una espressione che produce un valore booleano, nel linguaggio C, come per tutti gli altri linguaggi si usano gli operatori di controllo:

il maggiore          <

il minore                >

uguale                    ==

diverso                   !=

negazione (not)  !

per esempio:

somma

 

Come notiamo le parentesi graffe non sono necessarie perché vi troviamo una sola istruzione, allora vediamo questa istruzione:

se somma è maggiore di 10, incrementa somma di 1 altrimenti decrementa somma di 1

un altro esempio, proviamo a cambiare la condizione:

moltiplica

 

Come vedete posso anche evitare di scrivere la parte falsa, difatti come spiegato in precedenza non necessariamente quando si scrive una struttura di selezione bisogna scrivere per forza le 2 alternative, in questo caso la condizione se vera verrà eseguita la moltiplicazione se falsa non verrà eseguita la moltiplicazione, ma se voglio far eseguire l’istruzione se la condizione e falsa? Esistono due modi,  o cambiare l’operatore di controllo che da diverso (!=) diventa uguale (==) oppure usare sempre un operatore di controllo di negazione.

esempio:

diverso

 

L’operatore di controllo di negazione va posto all’interno di parentesi tonde, e sempre all’interno di essa anche l’istruzione che deve essere negata. In definitiva dice:

Eseguimi questa istruzione solo quando somma è diverso da 5.

 

Per oggi è tutto amici, a presto.

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.