(*Algorithmus 7.4 *) FUNCTION adapt(a,b,fa,fm,fb,is: real): real ; VAR h,m,i1,i2,fml,fmr: real; (*globale Funktion f : real *) BEGIN m := (a+b)/2 ; h := (b-a)/4 ; fml:=f(a+h); fmr:=f(b-h); i1 := h/1.5*(fa+4*fm+fb) ; i2 := h/3*(fa+4*(fml+fmr)+2*fm+fb) ; i1 := (16*i2-i1)/15; IF is + (i1 - i2) = is THEN (* TURBO PASCAL Fehler: is+i1 = is+i2 geht nicht *) BEGIN adapt := i1; writeln(tf,a:10:5,' & ', b-a:18,' & ', i1:18,' \cr'); END ELSE adapt:=adapt(a,m,fa,fml,fm,is) + adapt(m,b,fm,fmr,fb,is) ; END;