6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
La chiamata ricorsiva precedente
…. s � Somma ( 5 )
….. non verrà mai risolta perché conduce alla seguente successione di chiamate ricorsive infinite
s� 5 + ( 5 + Somma ( 5 )) s� 5 + ( 5 +( 5 + Somma ( 5 ))) s� 5 + ( 5 +( 5 + ( 5 + Somma ( 5 )))) s� 5 + ( 5 +( 5 + ( 5 + ( 5 )))) ……………………..
Ricorsione infinita : manca la clausola di terminazione FUNZIONE Somma ( VAL n : INT ) : INT s : INT
La chiamata ricorsiva precedente
…. s � Somma ( 5 )
….. non verrà mai risolta perché conduce alla seguente successione di chiamate ricorsive infinite
s� 5 + ( 4 + Somma ( 3 )) s� 5 + ( 4 +( 3 + Somma ( 2 ))) s� 5 + ( 4 +( 3 + ( 2 + Somma ( 1 )))) s� 5 + ( 4 +( 3 + ( 2 + ( 1 + Somma ( -1 ))))………
( B ) Consideriamo ad esempio le seguenti funzioni cooperanti che permettono di restituire 0 se il numero è pari , 1 se invece è dispari
FUNZIONE Ping ( VAL n : INT ) : INT esito : INT INIZIO
FUNZIONE Pong ( VAL n : INT ) : INT esito : INT INIZIO
Pag . 31