{ file ricors2.pas }
{ scopo: secondo esempio di procedura ricorsiva }

program EsempioRicorsione2;
var
  j : integer;


  procedure Ricorsiva2 (i: integer);
  begin { Ricorsiva2 }
    if i = 0 then
      writeln('Ho finito')
    else
    begin
      writeln('Adesso i vale ', i);
      Ricorsiva2(i-1)
    end;
    writeln('Adesso i vale ', i)
  end; { Ricorsiva2 }


begin { EsempioRicorsione2 }
  writeln('Inserisci un intero non negativo');
  readln(j);
  Ricorsiva2(j)
end. { EsempioRicorsione2 }


{ ESEMPIO DI ESECUZIONE:

Inserisci un numero non negativo
3
Adesso i vale 3
Adesso i vale 2
Adesso i vale 1
Ho finito
Adesso i vale 0
Adesso i vale 1
Adesso i vale 2
Adesso i vale 3

}