...

Le funzioni - Sito Prof. Carla Fanchin

by user

on
Category: Documents
22

views

Report

Comments

Transcript

Le funzioni - Sito Prof. Carla Fanchin
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.
Fly UP