code 31370; procedure ALL JAC ZER(N, ALFA, BETA, ZER); value N, ALFA, BETA ; integer N; real ALFA, BETA ; array ZER; if ALFA = BETA then begin integer I, M; array A, B[0:N//2], EM[0:5]; real MIN, GAMMA, SUM, ZERI; M:= N//2; if N ^= 2*M then begin GAMMA:= + 0.5; ZER[M + 1]:= 0 end else GAMMA:= - 0.5; MIN:= 0.25 - ALFA*ALFA; SUM:= ALFA + GAMMA + 2; A[0]:= (GAMMA - ALFA)/SUM; A[1]:= MIN/SUM/(SUM + 2); B[1]:= 4*(1 + ALFA)*(1 + GAMMA)/SUM/SUM/(SUM + 1); for I:= 2 step 1 until M - 1 do begin SUM:= I + I + ALFA + GAMMA; A[I]:= MIN/SUM/(SUM + 2); SUM := SUM*SUM; B[I]:= 4*I*(I + ALFA + GAMMA)*(I + ALFA)*(I + GAMMA)/ SUM/(SUM - 1) end; EM[0]:=ARREB; EM[2]:="-10; EM[4]:= 6*M; ALL ZER ORT POL (M, A, B, ZER, EM); for I:= 1 step 1 until M do begin ZER[I]:= ZERI:= - SQRT((1 + ZER[I])/2); ZER[N + 1 - I]:= - ZERI end end else begin integer I; real SUM, MIN; array A, B[0:N], EM[0:5]; MIN:= (BETA - ALFA)*(BETA + ALFA); SUM:= ALFA + BETA + 2; B[0]:= 0; A[0]:= (BETA - ALFA)/SUM; A[1]:= MIN/SUM/(SUM + 2); B[1]:= 4*(1 + ALFA)*(1 + BETA)/SUM/SUM/(SUM + 1); for I:= 2 step 1 until N - 1 do begin SUM:= I + I + ALFA + BETA; A[I]:= MIN/SUM/(SUM + 2); SUM:= SUM*SUM; B[I]:= 4*I*(I + ALFA + BETA)*(I + ALFA)*(I + BETA)/ (SUM - 1)/SUM end; EM[0]:=ARREB; EM[2]:= 1.0"-8; EM[4]:= 6*N; ALL ZER ORT POL(N, A, B, ZER, EM) end ALL JAC ZER; eop