PDA

View Full Version : Parametri


bracco&poker
26-11-2013, 18:19
Salve sto studiando informatica e non mi è chiara la differenza tra parametro formale e effettivo, ho cercato in giro ma nulla e stato esaustivo.
Grazie

cenarius_88
26-11-2013, 19:59
Ciao.

In qualsiasi linguaggio di programmazione esistono le funzioni, che hanno una definizione del tipo:

tipo_di_ritorno Nome_della_funzione(tipo parametro_1, tipo parametro_2 ...)

In alcuni linguaggi non troverai tipo di ritorno e i tipi dei parametri, e la funzione sarà preceduta da una parola chiave function (tipicamente)

Comunque in ogni caso quando vorrai utilizzare la funzione dovrai effettuare la chiamata alla funzione

Nome_della_funzione(parametro1, parametro1.....)

Ecco, i parametri che sono nella definizione della funzione sono i parametri formali, ossia dei parametri che indicano quanti dovranno essere i parametri della funzione e il tipo (ammesso che serva)... poi definirai le istruzioni della funzione in base ad essi

I parametri effettivi sono quei parametri che passi realmente alla funzione durante la alla stessa (funzione)

spero di essere stato chiaro, se non lo sono stato dillo e proverò a farti un esempio concreto

bracco&poker
28-11-2013, 21:24
Ciao.

In qualsiasi linguaggio di programmazione esistono le funzioni, che hanno una definizione del tipo:

tipo_di_ritorno Nome_della_funzione(tipo parametro_1, tipo parametro_2 ...)

In alcuni linguaggi non troverai tipo di ritorno e i tipi dei parametri, e la funzione sarà preceduta da una parola chiave function (tipicamente)

Comunque in ogni caso quando vorrai utilizzare la funzione dovrai effettuare la chiamata alla funzione

Nome_della_funzione(parametro1, parametro1.....)


Ecco, i parametri che sono nella definizione della funzione sono i parametri formali, ossia dei parametri che indicano quanti dovranno essere i parametri della funzione e il tipo (ammesso che serva)... poi definirai le istruzioni della funzione in base ad essi

I parametri effettivi sono quei parametri che passi realmente alla funzione durante la alla stessa (funzione)

spero di essere stato chiaro, se non lo sono stato dillo e proverò a farti un esempio concreto
Ti ringrazio sei stato chiarissimo però ti chiedo un ultima gentilezza se non ti da disturbo potresti farmi qualche esempio comunque. grazie ancora

cenarius_88
28-11-2013, 21:50
Allora, supponiamo che per una qualche ragione devi fare una funzione che calcola la somma tra due elementi e ne restituisce il risultato

somma (a,b){ // a e b sono i parametri formali
somma=a+b;
return somma;
}


Poi durante il corso del tuo programma potrai chiamarla infinite volte

c=somma(3,7);
d=somma(4,11);
res=somma(c,d);

In ognuno di questi casi tutto quello che si trova tra parentesi viene detto parametro effettivo, sono proprio quelli su cui tu vuoi lavorare

Alla chiamata numero 1, la funzione dirà:
bene a=3, b=7;
quindi farà la somma:
somma=a+b=3+7=10, e ti dirà che la somma è 10 salvandola su c;

Alla chiamata numero 2, la funzione dirà:
bene a=4, b=11
per cui la somma è:
somma=a+b=4+11=15 e salverà questo risultato in d;

Alla terza chiamata la funzione dirà:
bene a=c b=d; ma c=10 per cui a=10 e d=15 per cui b=15
per cui la somma è:
somma=a+b=10+15=25 salvando questo risultato su res


Quindi non importa quali siano i valori effettivi che dai in pasto alla funzione, questa lavorerà etichettandoli formalmente a e b, e lavorerà su essi