Terminazione
dell'algoritmo
|
In generale, un algoritmo ricorsivo puņ anche non terminare mai.
Ad esempio, la funzione Forever definita da
function
Forever( a: integer):integer;
begin if (a=0) then Forever:=0 (* unico caso base a=0 *) else Forever:=Forever(a-1)+1 end; |
si comporta nel seguente modo
= a | se a>=0 | ||
Forever(a)= | |||
non termina | se a<0 |