Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Logarithmen zu beliebiger Basis (https://www.delphipraxis.net/142138-logarithmen-zu-beliebiger-basis.html)

gammatester 22. Okt 2009 22:54

Re: Logarithmen zu beliebiger Basis
 
Zitat:

Zitat von Wolfgang Mix
Okay, kann man machen.
Übernehme aber erstmal die Version von Detlef.
Übrigens; "divident" schreibt sich Dividend.

Gruß

Wolfgang

Ich glaube, Du hast die leichte Ironie bei divide nicht verstanden :( Weiterhin halte ich Deine (auch verbesserte) Routine nicht geeignet für Lehr- und Übungszwecke, es sei denn als Übung für Unlogik und schlechten Programmierstil:

1. not (x > 0) schreibt man besser als x <= 0.0! Warum zwei Operationen? Warum keine Fließkomma-Null wenn's doch eine ist?
2. Wenn base oder number <= 0.0 sind wurde eine Exception geworfen! Warum also noch mal testen, ob sie > 0.0 sind?
Delphi-Quellcode:
function lgx(base,number: double): double;
begin
  if base  <= 0.0 then raise Exception.Create('Invalid base');
  if number <= 0.0 then raise Exception.Create('Invalid number');
  result:= ln(number)/ln(base);
end;

himitsu 22. Okt 2009 23:07

Re: Logarithmen zu beliebiger Basis
 
Ich mach es auch gern mal kurz und schmerzlos :angel2:
Delphi-Quellcode:
function LgX(base, number: Double): Double; //inline;
begin
  if (base <= 0.0) or (number <= 0.0) then
    System.Error(reInvalidOp);
  Result := Ln(number) / Ln(base);
end;
Wenn die Unit SysUtils eingebunden ist, dann wird hier eine Exception EInvalidOp "Ungültige Gleitkommaoperation." geworfen.

Hawkeye219 22. Okt 2009 23:47

Re: Logarithmen zu beliebiger Basis
 
Hallo,

hier ist - in Anlehnung an Julius' Beitrag - noch ein Testfall:

Delphi-Quellcode:
Value := lgx(1.0, 10.0);
Gruß Hawkeye

Valle 22. Okt 2009 23:57

Re: Logarithmen zu beliebiger Basis
 
Zitat:

Zitat von jfheins
Oder im Mathebuch 8. Klasse.

[OT]10. Klasse Gymnasium Rheinland-Pfalz, keine Ahnung was der Logarithmus ist. :wink: [OT]

[b]Edit:// Okay, kleine Berichtigung. Ich weiß schon was das ist, da stolpert man im Laufe der Jahre am Computer einfach mal drüber. Aber der Rest meiner Klasse hat sicherlich keine Ahnung von. (Wobei auch anzunehmen ist, dass die das auch nicht haben würden, selbst wenn wir das durchgenommen hätten... :roll: Aber das ist ein anderes Thema. )

Liebe Grüße,
Valle


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz