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 N,J: INTEGER; DELTA, MITTE, EINF, ZWEIF, VIERF: REAL; SIMPSON, LETZTWERT: REAL; BEGIN N := 1; DELTA := B-A; MITTE := A+DELTA/2; EINF := F(A) + F(B); ZWEIF := 0; VIERF := F(MITTE); SIMPSON := (EINF + 4*VIERF) * DELTA/6; REPEAT LETZTWERT := SIMPSON; N := 2*N; DELTA := DELTA/2; MITTE := A + DELTA/2; ZWEIF := ZWEIF + VIERF; VIERF := 0; FOR J := 0 TO N-1 DO VIERF := VIERF + F(MITTE+J*DELTA); SIMPSON := (EINF + 2*ZWEIF + 4*VIERF) * DELTA/6 UNTIL ABS(SIMPSON-LETZTWERT)