Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCajetan Valsecchi Modificato 9 anni fa
1
Le funzioni Rassegna degli argomenti trattati LS Tron 14/15 Prof. Carla Fanchin
2
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”)
3
CHIAMATA NEL MAIN Funzione: – Cout <<funz(x) – X=funz(x) -> ecco perché deve restituire UN valore Procedura – Funz(x)
4
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
5
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
6
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
7
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
8
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);
9
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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.