2006/07 – Fase scolastica – 03

Considerate le seguenti sei funzioni, con argomento N (un intero non negativo).
Ciascuna di esse calcola un qualche valore scelto tra: N, 2N , N2, N3, 2N, N!.
Dovete stabilire qual è il valore calcolato da ogni funzione.

  1. Function A(N: Integer): Integer;
    Begin
       If N > 0 Then
          A:= 2*A(N-1)
       Else
          A:=1
    End;
  2. Function B(N: integer): Integer;
    Begin
       If N > 0 Then
          B:=B(N-1)+2*N-1
       Else
          B:=0
    End;
  3. Function C(N: Integer): Integer;
    Var
       i, r: Integer;
    Begin
       r:=1;
       For i:=1 To N Do
          r:=r+r;
       C:=r
    End;
  4. Function D(N: Integer): Integer;
    Var
       i, r: Integer;
    Begin
       r:=1;
       For i:=1 To N Do
          r:=r*i;
       D:=r
    End;

Note

  • potrebbero esserci doppioni: più funzioni potrebbero calcolare lo stesso valore;
  • N!=1x2x3….xN; quindi 3!=6 e 5!=120;
  • si assume che 0!=1.