'PROCEDURE'EULER(FCT,SUM,EPS,TIM);'VALUE'EPS,TIM; 'INTEGER' TIM; 'REAL' 'PROCEDURE' FCT; 'REAL' SUM, EPS; 'COMMENT' EULER COMPUTES THE SUM OF FCT (I) FOR I FROM ZERO UP TO INFINITY BY MEANS OF A SUITABLY REFINED EULER TRANSFORMATION. THE SUMMATION IS STOPPED AS SOON AS TIM TIMES IN SUCCESSION THE ABSOLUTE VALUE OF THE TERMS OF THE TRANSFORMED SERIES IS FOUND TO BE LESS THAN EPS, HENCE ONE SHOULD PROVIDE A FUNCTION FCT WITH ONE INTEGER ARGUMENT, AN UPPER BOUND EPS, AND AN INTEGER TIM. THE OUTPUT IS THE SUM SUM. EULER IS PARTICULARLY EFFICIENT IN THE CASE OF A SLOWLY CONVERGENT OR DIVERGENT ALTERNATING SERIES; 'BEGIN''INTEGER' I,K,N,T;'ARRAY' M(/0:15/); 'REAL' MN, MP, DS; I:=N:=T:=0;M(/0/):=FCT(0);SUM:=M(/0/)/2; NEXTTERM:I:=I+1;MN:=FCT(1); 'FOR' K:=0'STEP'1'UNTIL'N'DO' 'BEGIN' MP:=(MN+M(/K/))/2;M(/K/):=MN; MN:=MP'END'MEANS; 'IF' (ABS(MN)'LESS' ABS (M(/N/))'AND'N'LESS'15)'THEN' 'BEGIN'DS:=MN/2;N:=N+1; M(/N/):=MN'END' ACCEPT 'ELSE' DS:=MN; SUM:=SUM+DS; 'IF' ABS(DS)'LESS'EPS'THEN'T:=T+1'ELSE'T:=0; 'IF'T'LESS'TIM'THEN''GOTO'NEXTTERM 'END'EULER;