Passaggio dei parametri

sub_valueAll’atto della chiamata di un sottoprogramma è possibile specificare dei parametri.

Prima dell’esecuzione del codice del sottoprogramma B avviene un passaggio, assegnazione, del valore di a in x e del valore di b in y.

Il sottoprogramma B svolgerà l’operazione per la quale è stato progettato in modo parametrico, cioè in funzione dei valori assunti dai parametri formali (x, y, …) specificati dal sottoprogramma chiamante A tramite i parametri attuali (a, b, …)

La modalità di passaggio dei parametri dipende dal linguaggio adottato

VISUAL
BASIC
C…
Pascal

Note

  1. l’elenco dei parametri attuali deve corrispondere in numero e tipo all’elenco dei parametri formali
  2. ogni parametro formale viene dichiarato e si comporta come una variabile locale inizializzata al valore specificato con il parametro attuale all’atto della chiamata
  3. i parametri attuali devono essere valori, quindi possono essere costanti (-1, +5.0), variabili (a, b), espressioni (-a, b+5.0), …
  4. al termine dell’esecuzione del sottoprogramma le eventuali modifiche dei valori dei parametri formali scompariranno per sempre…

Passaggio per variabile

sub_varPiuttosto che passare dei valori si può scegliere di passare delle variabili (indirizzi, reference, …).

Il sottoprogramma B svolgerà l’operazione per la quale è stato progettato utilizzando a, il parametro attuale, ogni volta che nel suo codice compare x, il parametro formale.
Si dice che x è solo un reference, un riferimento, per a.

Analogamente per l’uso di b piuttosto che di y.

Intestazione Chiamata
VISUAL
BASIC
C
C++
Pascal

Note

  1. gli effetti dell’esecuzione del sottoprogramma B si manifestano nei valori contenuti nelle variabili utilizzate come parametri attuali all’atto della chiamata
  2. i parametri attuali devono essere variabili
  3. Basic applica di default la modalità ByRef (by reference)
  4. C++ aggiunge una sintassi semplificata rispetto a quella adottata in C
  5. Java non prevede il passaggio dei parametri per riferimento

sub_var_valueLe due modalità di passaggio dei parametri (per valore, per riferimento) possono essere utilizzate contemporaneamente…

Alla fine dell’esecuzione del sottoprogramma B il valore di a, nel sottoprogramma A, dipenderà dalle operazioni che sono state eseguite su x in B

Intestazione Chiamata
VISUAL
BASIC
C
C++
Pascal