2004/05 – Fase scolastica – 01

Si consideri il seguente frammento di programma

Type
    sequenza = Array[1..100] Of Integer;
Function calcola(vett: sequenza; n: Integer): Integer;
Var
   i, y, x: Integer;
Begin
   y:=0;
   x:=vett[1];
   For i:= 1 To n-1 Do
      Begin
         If(x < vett[i+1]) Then
            Begin
               y:=vett[i+1]-x+y;
               x:=vett[i+1];
            End;
         If x-y > vett[i+1]) Then
            y:=x-vett[i+1];
      End;
   calcola:=y
End;

Dire che cosa restituisce la funzione calcola assumendo che venga invocata passando un vettore di lunghezza n, con n maggiore di 2.