[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.