Programmazione – Lezione 10 – Le funzioni

Funzione C

Introdurrò, in questa lezione, uno strumento potentissimo del C, ma anche di tanti linguaggi di programmazione evoluti.

Le funzioni permettono di accorpare un certo numero di istruzioni, specifiche per uno scopo ben preciso, in un unica istruzione chiamata appunto funzione.
Vediamo subito un esempio pratico che vale più di mille parole:

int moltiplica_per_2(int valore) //definisco la funzione moltiplica_per_2, qui non va il punto e virgola
{ //il contenuto della funzione è dentro le parentesi graffa

int risultato = 0;
risultato = valore * 2;

return(risultato); //return restituisce il valore della funzione

}

Come si può notare creo una funzione assegnando un nome a piacere, in questo caso moltiplica_per_2. Siccome desidero che la mia funzione restituisca un valore che gli assegno moltiplicato per 2, specifico all’inizio che tratterà numeri interi e anche che il parametro della funzione valore è un intero.

Vediamo come usare la funzione definita in precedenza:

.
.
.
.
int numero_moltiplicato = 0;

numero_moltiplicato = moltiplica_per_2( 12 ); //in questo caso numero_moltiplicato conterrà il valore 12 x 2 = 24 

printf("%d",numero_moltiplicato);

Proviamo ad inserire tutto nel compilatore online:

Compilatore-funzione1

Le funzioni da usare vanno specificate prima della funzione principale MAIN.

Questa volta abbiamo usato la moltiplicazione. Vi introduco brevemente quali sono i simboli degli operatori algebrici in C, in quanto non ne ho mai parlato, avendo fatto sempre e solo somme.

Operatore somma: +

Operatore sottrazione: –

Operatore divisione: /

Operatore moltiplicazione: *

Continuiamo con le funzioni. Come avete visto nell’esempio appena fatto, ho compresso in un’unica istruzione tre linee di codice. Le funzioni tornano utili proprio per questo, per raggruppare in un unica istruzione tante linee di codice in modo da snellire il codice sorgente soprattutto nel caso in cui ho necessità di usare spesso queste istruzioni.

Mentre nella nostra funzione abbiamo usato l’istruzione return, in quanto ci restituisce un numero moltiplicato per 2, esistono funzioni che non restituiscono nulla. In tal caso esse andranno definite con l’istruzione void davanti

Ad esempio:

void stampa_valore(int numero)
 {
 numero = numero - 1;
 printf("%d",numero);
 }

Questa funzione si limita a stampare il valore numerico passatogli ma sottratto di 1, non restituendo alcun valore.

Proviamo nel compilatore:

Compilatore-funzione2

Nell’ultima linea di codice, l’istruzione “stampa_valore(100);” richiama la funzione stampa_valore, acquisisce l’argomento numerico 100, lo sottrae di 1 e stampa il risultato a schermo.

Nulla impedisce, in una funzione di passare più parametri:

int somma_valori(int a, int b, int c)
 {
int risultato = 0;
risultato = a + b + c;
return(risultato);
 }

L’argomento funzioni, in C, è vastissimo per cui, se siete interessati vi esorto a cercare di approfondire su internet, in questa guida abbiamo capito come creare semplici funzioni ed utilizzarle.

Per oggi abbiamo finito. Vi aspetto al prossimo articolo Smile-Ammicca

 

Se ti è piaciuto l'articolo e apprezzi il mio lavoro potresti aiutarmi con una piccola donazione, tramite PayPal, offrendomi un cappuccino.
Grazie di cuore!
Dona