{ File: ricmult.pas }

{ - Descrivere cosa viene stampato quando da input vengono introdotti i
    seguenti valori:  n: 3; m: 4
  - Mostrare la pila dei record di attivazione.
    Quante volte viene attivato Calc(1,1) se la funzione Calc viene invocata
    dal programma principale con i valori n=3 e m=4?
}

program Esame2;

var
  n, m : integer;

  function Calc (x:integer; y:integer): integer;
  begin
    if (y=1) or (y =0) then
      Calc := 1
    else
      Calc := Calc(x+1, y-1) + Calc(x, y-2)
  end;

begin { Esame2 }
  write('n: ');
  read(n);
  write('m: ');
  read(m);
  writeln(Calc(n,m))
end. { Esame2 }