Se il linguaggio di programmazione prevede la ricorsione… una SUB A può chiamare la SUB A, se stessa, per svolgere lo stesso compito ma con un’stanza diversa
La SUB A chiama la SUB A … finché non succede qualcosa (l’istanza diventa un caso particolare che non necessita di un’ulteriore chiamata ricorsiva) e si ritorna all’indietro fino alla prima chiamata…
|
Procedura |
Funzione |
Basic |
|
Sub XYZ(parametri_formali) ... Call XYZ(parametri_attuali) ... End Sub |
|
|
Function XYZ(parametri_formali) As Double ... x=XYZ(parametri_attuali) ... XYZ=espr End Function |
|
C… |
|
void XYZ(parametri_formali) { ... XYZ(parametri_attuali); ... } |
|
|
double XYZ(parametri_formali) { ... x=XYZ(parametri_attuali); ... return espr; } |
|
Pascal |
|
Procedure XYZ(parametri_formali); ... Begin ... XYZ(parametri_attuali); ... End; |
|
|
Function XYZ(parametri_formali): Double; ... Begin ... x=XYZ(parametri_attuali); ... XYZ:=espr; End; |
|
Ricorsione indiretta
Nel caso di ricorsione indiretta il sottoprogramma chiama un secondo sottoprogramma che a sua volta … che a sua volta chiama il primo
…