home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 15 / numint / sqroot.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1989-05-17  |  1.3 KB  |  42 lines

  1. (* ------------------------------------------------------------------------- *)
  2. (*                                 SQROOT.PAS                                *)
  3. (*                  Integration der Quadratwurzel-Funktion                   *)
  4. (* ------------------------------------------------------------------------- *)
  5.  
  6. PROGRAM SqRoot;
  7.  
  8. USES
  9.   NumInt;
  10.  
  11. CONST
  12.   Max = 100;                      (* Maximalzahl von Intervallhalbierungenen *)
  13.   m   =  15;                             (* Formatparameter für FLOAT-Zahlen *)
  14.   n   =  11;
  15.  
  16. VAR
  17.   a, b, Result, Error, eps : FLOAT;
  18.   Decimals                 : BYTE;
  19.  
  20. {$F+}
  21. FUNCTION SquareRoot(x : FLOAT) : FLOAT;
  22.   (* die Quadratwurzelfunktion *)
  23. BEGIN
  24.   SquareRoot := Ln(x);
  25. END;
  26. {$F-}
  27.  
  28. BEGIN
  29.   Write('Integration der Wurzelfunktion:'^M^J^M^J);
  30.   Write('Untergrenze:  a = '); Read(a);
  31.   Write('Obergrenze:   b = '); Read(b);
  32.   Write('Genauigkeit in Dezimalstellen: '); ReadLn(Decimals);
  33.   Eps := Exp(-ABS(Decimals)*Ln(10));
  34.   IF Adaptive(@Gauss, @SquareRoot, a, b, eps, 1, Max, Result, Error) THEN BEGIN
  35.     WriteLn(^M^J'Ergebnis der Rechnung:'^M^J);
  36.     WriteLn('Integral:    I =  ', Result:m:n);
  37.     WriteLn('                 ±', Error:m:n);
  38.   END ELSE
  39.     WriteLn(^M^J'Geforderte Genauigkeit nicht erreicht !');
  40.   WriteLn;
  41. END.
  42.