6°Lezione esempi di programmazione: Le funzioni
In questa sesta puntata, si parlerà delle funzione che vengono implementate nel linguaggio C. Per chi non lo sapesse, in matematica una funzione è una particolare applicazione o relazione che c’è tra variabili. Per esempio f(x)=x+3 è una funzione. I suo valori sono per x=0 f(x)=3, per x=1 f(x)=4. Lo stesso concetto viene utilizzato nel linguaggio C. Infatti il ruolo di una funzione è quello di ritornare un valore, che verrà utilizzato nel main. Infatti le funzioni vengono “scritte” fuori dal main e servono per rendere più leggibile quest’ultimo. Ecco un esempio di programma che utilizza le funzioni.
/*Programma che stabilisce quale sia il massimo e il minimo di due valori inseriti dall’utente, attraverso l’impiego della funzione find_max*/
#include <stdio.h>
//Dichiaro la funzione find_max
int find_max ( int, int );
//Inzia il main
int main (void)
{
//Chiedo all’utente di inserire i due numeri
int primo_valore;
int secondo_valore;
printf(“Inserisci il primo numeron”);
scanf(“%d”,&primo_valore);
printf(“Inserisci il secondo numeron”);
scanf(“%d”,&secondo_valore);
//Utilizzo la funzione find_max, per stampare il valore massimo
printf(“Il numero più grande è %dn”,find_max(primo_valore,secondo_valore));
return0;
}
//Definisco la funzione
int find_max (int primo_valore, int secondo_valore) {
//Controllo quale dei due numeri è più grande con un if
if( primo_valore>=secondo_valore ) {
return primo_valore;
}
else {
return secondo_valore;
}
}
Da notare la differenza tra dichiarazione di una funzione e sula definizione. Nell’esempio, prima viene fatta la dichiarazione, cioè indicando il tipo di parametri che accetta e il valore ritornante, mentre nella definizione viene implementato il codice operativo. Per il C è importante dichiarare una variabile prima che essa venga utilizzata. Per richiamare il risultato di ritorno della funzione, basta indicarla nella printf. Ricordo che nel C le chiamate sono per valore, ma è possibile farle per riferimento attraverso i puntatori, che verrano discussi prossimamente.