2008/09 – Fase scolastica – 07

Si consideri la seguente funzione:

Function foo(N: Integer): Integer;
Var
   i, R: Integer;
Begin
   R:=1;
   For i:=1 To N Do
      R:=R+R;
   foo:=R
End;

Indicare qual è il valore restituito dall’invocazione di foo(6)

Risposte:

  1. 32
  2. 64
  3. 128
  4. nessuno dei precedenti.

Soluzione: b (64).


Soluzione

Possiamo facilmente verificare che ogni iterazione del ciclo della procedura foo() raddoppia il valore di R.

Quindi la funzione foo(6) calcola la sesta potenza di 2, pari a 64.