[an error occurred while processing this directive]
Listing PLUS_MIN.PAS 
Program plus_si_minus; 
uses Crt; 
type vector=array[1..10000] of -1..1; 
var x,y,z,u:vector; 
rest:Byte; i,n,dimx,dimy,dimz,dimu,s:Longint; 
procedure afisare_verificare(v:vector; dim:Integer); 
var i,s:Longint; 
begin 
Writeln('Sirul de semne este '); 
for i:=1 to dim do 
if v[i]=-1 
then Write('- ') 
else Write('+ '); 
Writeln; 
s:=0; 
for i:=1 to dim do s:=s+v[i]*i*i; 
Writeln(n,' = ',s) 
end; 
Begin 
Clrscr; 
Writeln('Introduceti un nr. natural <10000'); 
Write('n='); Readln(n); 
dimx:=7; 
x[1]:=1; x[2]:=1; x[3]:=-1; x[4]:=1; 
x[5]:=-1; x[6]:=-1; x[7]:=1; 
dimy:=1; 
y[1]:=1; 
dimz:=4; 
z[1]:=-1; z[2]:=-1; z[3]:=-1; z[4]:=1; 
dimu:=2; 
u[1]:=-1; u[2]:=1; 
for i:=4 to n do 
begin 
rest:=i mod 4; 
case rest of 
0:begin 
dimx:=dimx+1; x[dimx]:=1; 
dimx:=dimx+1; x[dimx]:=-1; 
dimx:=dimx+1; x[dimx]:=-1; 
dimx:=dimx+1; x[dimx]:=1 
end; 
1:begin 
dimy:=dimy+1; y[dimy]:=1; 
dimy:=dimy+1; y[dimy]:=-1; 
dimy:=dimy+1; y[dimy]:=-1; 
dimy:=dimy+1; y[dimy]:=1 
end; 
2:begin 
dimz:=dimz+1; z[dimz]:=1; 
dimz:=dimz+1; z[dimz]:=-1; 
dimz:=dimz+1; z[dimz]:=-1; 
dimz:=dimz+1; z[dimz]:=1 
end; 
3:begin 
dimu:=dimu+1; u[dimu]:=1; 
dimu:=dimu+1; u[dimu]:=-1; 
dimu:=dimu+1; u[dimu]:=-1; 
dimu:=dimu+1; u[dimu]:=1 
end 
end 
end; 
rest:=n mod 4; 
case rest of 
0: afisare_verificare(x,dimx); 
1: afisare_verificare(y,dimy); 
2: afisare_verificare(z,dimz); 
3: afisare_verificare(u,dimu) 
end; 
Readln 
End.