3° Anno TEORIA 7. Metodologie di progettazione e programmazione | Page 32

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
Dettagliamo la seguente chiamata ricorsiva
…. esito � Ping ( 2 )
…..
Il valore del parametro attuale ( costante intera ) trasferito al parametro formale n è 2 .
Attivata la funzione viene eseguita l ’ istruzione esito� ( Pong ( 1 )) esito� ( Ping ( 0 )) esito� ( Pong ( -1 )) esito� 0
Se per errore scrivessimo
FUNZIONE Ping ( VAL n : INT ) : INT esito : INT INIZIO
SE ( n < 0 )

ALLORA esito � 1 ALTRIMENTI esito � Pong ( n ) FINE SE

RITORNA ( esito )

FINE

FUNZIONE Pong ( VAL n : INT ) : INT esito : INT INIZIO
SE ( n < 0 )

ALLORA esito � 0 ALTRIMENTI esito � Ping ( n ) FINE SE

RITORNA ( esito )

FINE avremmo avuto per la chiamata ricorsiva precedente

…. esito � Ping ( 2 )
….. la seguente successione infinita di chiamate ricorsive
esito� ( Pong ( 2 )) esito� ( Ping ( 2 )) esito� ( Pong ( 2 ))
………………
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 32