"CODE" 35030; "PROCEDURE" INCOMGAM(X,A,KLGAM,GRGAM,GAM,EPS); "VALUE" X,A,EPS; "REAL" X,A,KLGAM,GRGAM,GAM,EPS; "BEGIN" "REAL" C0,C1,C2,D0,D1,D2,X2,AX,P,Q,R,S,R1,R2,SCF; "INTEGER" N; S:= EXP(-X + A * LN(X)); SCF:= "+300; "IF" X <= ("IF" A < 3 "THEN" 1 "ELSE" A) "THEN" "BEGIN" X2:= X * X; AX:= A * X; D0:= 1; P:= A; C0:= S; D1:=(A+1)*(A+2-X); C1:=((A+1) * (A+2)+X) * S; R2:= C1/D1; "FOR" N:= 1, N+1 "WHILE" ABS((R2-R1)/R2) > EPS "DO" "BEGIN" P:= 2+P; Q:= (P+1) * (P*(P+2)-AX); R:= N * (N+A) * (P+2) * X2; C2:= (Q*C1 + R*C0)/P; D2:= (Q*D1 + R*D0)/P; R1:=R2; R2:=C2/D2; C0:=C1; C1:=C2; D0:=D1; D1:=D2; "IF" ABS(C1) > SCF "OR" ABS(D1) > SCF "THEN" "BEGIN" C0:= C0/SCF; C1:= C1/SCF; D0:= D0/SCF; D1:= D1/SCF "END" "END"; KLGAM:= R2/A; GRGAM:= GAM - KLGAM "END" "ELSE" "BEGIN" C0:=A*S; C1:=(1+X)* C0; Q:= X +2 - A; D0:= X; D1:= X * Q; R2:= C1/D1; "FOR" N:=1, N+1 "WHILE" ABS((R2-R1)/R2)>EPS "DO" "BEGIN" Q:= 2 + Q; R:= N * (N+1-A); C2:= Q*C1-R*C0; D2:= Q*D1-R*D0; R1:=R2; R2:=C2/D2; C0:=C1; C1:=C2; D0:=D1; D1:=D2; "IF" ABS(C1) > SCF "OR" ABS(D1) > SCF "THEN" "BEGIN" C0:= C0/SCF; C1:= C1/SCF; D0:= D0/SCF; D1:= D1/SCF "END" "END"; GRGAM:= R2/A; KLGAM:= GAM - GRGAM "END" "END" INCOMGAM "EOP"