code 31052;
procedure CHSPOL(N,A);
value N; integer N; array A;
if N>1 then
begin
integer K,L,TWOPOW;
for K:=0 step 1 until N-2 do
begin
for L:=N-2 step -1 until K do
A[L]:=A[L]-A[L+2]; A[K+1]:=A[K+1]/2;
end;
TWOPOW:=2;
for K:=1 step 1 until N-2 do
begin
A[K]:=A[K]*TWOPOW; TWOPOW:=TWOPOW*2;
end;
A[N-1]:=TWOPOW*A[N-1];
A[N]:=TWOPOW*A[N];
end CHSPOL
eop