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.