File: INTEGR.V3 of Tape: Various/Decus/decus-3
(Source file text) 

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   X1=0.148874338982;      C1=0.295524224715;
                X2=0.433395394129;      C2=0.269266719310;
                X3=0.679409568299;      C3=0.219086362516;
                X4=0.865063366689;      C4=0.149451349151;
                X5=0.973906528517;      C5=0.066671344309;

        VAR     DX, XM: REAL;

    BEGIN
        DX := (B-A)/2;
        XM := (A+B)/2;
        INTEGRAL := (   C1*( F(XM+X1*DX) + F(XM-X1*DX) ) +
                        C2*( F(XM+X2*DX) + F(XM-X2*DX) ) +
                        C3*( F(XM+X3*DX) + F(XM-X3*DX) ) +
                        C4*( F(XM+X4*DX) + F(XM-X4*DX) ) +
                        C5*( F(XM+X5*DX) + F(XM-X5*DX) ) ) * DX
    END (* INTEGRAL *);


BEGIN
    WRITELN("B E S T I M M T E S   I N T E G R A L");
    WRITELN;
    WRITE("INTERVALLGRENZEN");  READ(ANFANG,ENDE);
    FLAECHE := INTEGRAL(ANFANG,ENDE);
    WRITELN;
    WRITELN("WERT DES INTEGRALS: ", FLAECHE :18:10)
END.