Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Quadratische Gleichungen vollständig lösen

  Alt 24. Jul 2009, 18:21
Zitat von stoxx:
ich meinte keine neue Unit, sondern eine ausgelagerte Funktion reicht vollkommen, ...
Wenn wir schon dabei sind

Delphi-Quellcode:
type
  TDoubleArr = Array of Double;

function SolveQuadraticEquation( A, B, C: Double ): TDoubleArr;
var
  d: Double; // diskriminante (das was unter SQRT steht)
begin
// ax² + bx + c = 0
  if A = 0 then
    Exit;
  B := B / A;
  C := C / A;
// Diskriminante berechnen
  d := SQR(B/2) - C;
  if d > 0 then
  begin // zwei Lösungen
    SetLength( Result, 2 );
    Result[0] := -B/2 + SQRT( d );
    Result[1] := -B/2 - SQRT( d );
  end else
  if d = 0 then
  begin // eine Lösung
    SetLength( Result, 1 );
    Result[0] := -B/2;
  end;
// else -> keine Reelle Lösung
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat