PROGRAM INTEGRATION(INPUT,OUTPUT); VAR ANFANG,ENDE,FLAECHE: REAL; (*************** HIER INTEGRAND DEFINIEREN ******************) FUNCTION F(X: REAL): REAL; BEGIN F := SIN(X) END; (************************************************************) FUNCTION INTEGRAL(A,B: REAL): REAL; CONST EPSILON = 1E-8; VAR K,N,I,J: INTEGER; DELTA,SUMME,LETZTWERT: REAL; ROMBERG: ARRAY[0..12] OF REAL; BEGIN K := 0; N := 1; DELTA := B-A; ROMBERG[0] := ( F(A) + F(B) )*DELTA/2; REPEAT LETZTWERT := ROMBERG[0]; K := K+1; N := 2*N; DELTA := DELTA/2; SUMME := 0; FOR J := 1 TO N DIV 2 DO SUMME := SUMME + F(A + (2*J-1)*DELTA); ROMBERG[K] := ROMBERG[K-1]/2 + SUMME*DELTA; I := 1; FOR J := K-1 DOWNTO 0 DO BEGIN I := 4*I; ROMBERG[J] := (I*ROMBERG[J+1] - ROMBERG[J])/(I-1) END UNTIL ABS(ROMBERG[0]-LETZTWERT)