Le funzioni Rassegna degli argomenti trattati LS Tron 14/15 Prof. Carla Fanchin
FUNZIONI E PROCEDURE La funzione come sottoprogramma (subroutine) La funzione: restituzione di UN valore (vedi concetto matematico di funzione) tramite l’istruzione return La procedura (void): non restituisce nulla (effettua però un “lavoro”)
CHIAMATA NEL MAIN Funzione: – Cout <<funz(x) – X=funz(x) -> ecco perché deve restituire UN valore Procedura – Funz(x)
I PARAMETRI FORMALI: quelli nell’intestazione della funzione ATTUALI: quelli nella chiamata I parametri formali e attuali devono corrispondersi – per numero, – per tipo – Per ordine
PASSAGGIO DEI PARAMETRI PER VALORE o PER INDIRIZZO By value (per valore): – La funzione lavora su una COPIA: eventuali modifiche fatte sui parametri formali non si riflettono su quelli attuali By address (per indirizzo) – La Funzione lavora sull’originale e quindi le modifiche si riflettono sui parametri attuali passati dal main – Vedi esempio p. 94
VARIABILI LOCALI Ogni funzione è “un mondo a sè”: conosce solo: 1.i parametri ricevuti 2.le variabili dichiarate al suo interno (variabili locali) NB:ANCHE IL MAIN E’ UNA FUNZIONE e quindi le sue variabili sono locali e non possono essere utilizzate nelle altre funzioni
VARIABILI GLOBALI E’ possibile (ma sconsigliato) dichiarare variabili al di fuori di tutte le funzioni (main compreso), ponendole ad es. ad inizio del programma, dopo # include e using … Tali variabili possono essere utilizzate da TUTTE le funzioni del programma
PASSAGGIO DI VETTORI e MATRICI Void visualizza(int v[]) Chiamata nel main: visualizza(v) Void VisualizzaMatrice(int m[9][9]) Chiamata nel main: VisualizzaMatrice(m);
PROTOTIPO DI UNA FUNZIONE Si tratta, in pratica, di scrivere prima del main solo l’intestazione della funzione. La funzione vera e propria verrà poi necessariamente scritta, ma dopo il main.