2010/11 – Fase scolastica – 14

Si consideri il seguente frammento di programma:

Var
   r, c, s: Integer;
... 
   Write('Inserire un numero intero compreso fra -10000 e 10000: ');
   Readln(r);
   c:=1;
   c:=r*c;
   s:=1;
   If(c <= r) Then
      Begin
         s:=s+c;
         c:=c*2
      End;
   Writeln('La variabile s vale ', s);

Quale delle seguenti affermazioni è vera?

  1. Viene visualizzata la somma di tutti i numeri da 1 fino a r+1
  2. Viene visualizzato il valore r+1
  3. Viene visualizzato il valore r+1 solo se r >= 1
  4. Viene visualizzato il valore 2r+1