A large commit.
[pdp8.git] / sw / src / pascal / INTEGR.V3
1 PROGRAM INTEGRATION(INPUT,OUTPUT);
2
3 VAR ANFANG,ENDE,FLAECHE: REAL;
4
5
6 (************* HIER INTEGRAND DEFINIEREN **************)
7 FUNCTION F(X: REAL): REAL;
8 BEGIN
9 F := SIN(X)
10 END;
11 (******************************************************)
12
13
14
15 FUNCTION INTEGRAL(A,B: REAL): REAL;
16
17 CONST X1=0.148874338982; C1=0.295524224715;
18 X2=0.433395394129; C2=0.269266719310;
19 X3=0.679409568299; C3=0.219086362516;
20 X4=0.865063366689; C4=0.149451349151;
21 X5=0.973906528517; C5=0.066671344309;
22
23 VAR DX, XM: REAL;
24
25 BEGIN
26 DX := (B-A)/2;
27 XM := (A+B)/2;
28 INTEGRAL := ( C1*( F(XM+X1*DX) + F(XM-X1*DX) ) +
29 C2*( F(XM+X2*DX) + F(XM-X2*DX) ) +
30 C3*( F(XM+X3*DX) + F(XM-X3*DX) ) +
31 C4*( F(XM+X4*DX) + F(XM-X4*DX) ) +
32 C5*( F(XM+X5*DX) + F(XM-X5*DX) ) ) * DX
33 END (* INTEGRAL *);
34
35
36 BEGIN
37 WRITELN("B E S T I M M T E S I N T E G R A L");
38 WRITELN;
39 WRITE("INTERVALLGRENZEN"); READ(ANFANG,ENDE);
40 FLAECHE := INTEGRAL(ANFANG,ENDE);
41 WRITELN;
42 WRITELN("WERT DES INTEGRALS: ", FLAECHE :18:10)
43 END.