I parametri delle funzioni/procedure
Abbiamo ormai appreso che le funzioni/procedure eseguono un compito specifico relativo al
problema
originario e dialogano con esso o fra di loro attraverso i parametri.
Questi sono indicati all'interno delle parentesi che seguono il nome della
funzione/procedura.
In generale i parametri possono essere di input, di output, o di input/output, ma in Java
l'unica tipologia di parametri ammessa è costituita dai parametri di input.
Per quanto
riguarda,
invece, le informazioni in output, l'unico strumento disponibile per restituire un risultato è
il
valore di ritorno delle funzioni.
Chiarito quindi che i parametri, sono lo strumento che le funzioni/procedure hanno per scambiare
informazioni con il mondo esterno, vediamo di aggiungere qualche specifica ulteriore in
relazione ad
essi.
Introduciamo, infatti, la distinzione tra:
- parametri formali
- parametri attuali
Vediamo di chiarire ancora meglio il concetto attraverso il codice:
// il codice che segue definisce/implementa la funzione
// per il calcolo dell'area di un rettangolo di dimensioni
// base ed altezza
// i paramentri base ed altezza, elencati tra le parentesi
// tonde che seguono il nome della funzione
// costituiscono i parametri formali della funzione
public static int areaRettangolo(int base, int altezza) {
// calcolo l'area del rettangolo e memorizzo il risultato
// nella variabile locale area
int area = base * altezza;
// restituisco il valore dell'area
// attraverso l'istruzione return
return area;
}
Possono essere costituiti da nomi di variabili, valori statici oppure espressioni da calcolare. Anche in questo caso, analizziamo nel dettaglio attraverso un esempio di codice:
public static void main(String[] args) {
// siamo all'interno del main
// supponiamo di aver acquisito due valori numerici che
// rappresentano le misure della base e dell'altezza di
// un rettangolo, rispettivamente nelle variabili b ed h
// possiamo chiamare la funzione areaRettangolo per far eseguire
// il calcolo dell'area del rettangpolo di base b ed altezza h
// l'istruzione per invocare la funzione sarebbe la seguente
// b ed h sono i valori sui quali chiediamo in questo momento
// specifico di eseguire il calcolo dell'area
// essi prendono il nome di parametri attuali
int area = areaRettangolo(b, h);
// altre istruzioni del main
}
// esempio di parametri attuali costituiti da valori statici
// calcolo dell'area del rettangolo di base=20 ed altezza=8
int area = areaRettangolo(20, 8);
// altro esempio di parametri attuali costituiti da espressioni
// calcolo dell'area del rettangolo di base uguale a
// 2 volte il valore contenuto nella variabile x
// e di altezza pari al risultato della somma tra 5 e 3
int area = areaRettangolo(x*2, 5+3);