Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wurzel aus negativer Zahl (https://www.delphipraxis.net/103938-wurzel-aus-negativer-zahl.html)

shirocko 24. Nov 2007 17:26


Wurzel aus negativer Zahl
 
Hi Leute,
ich bin neu hier und hab mal ne Frage zu Delphi.
Ich möchte die Wurzel ziehen aus einer Zahl.
Wenn diese im Minusbereich liegt, spuckt er mir einen Fehler aus.
Wie kann ich dem Programm sagen, dass erbei einem negativen Betrag unter der Wurzel eine bestimmte Option ausführen soll.
Bzw. wenn 0 raus kommt.

Apollonius 24. Nov 2007 17:27

Re: Wurzel aus negativer Zahl
 
Delphi-Quellcode:
if Radikand>=0 then
  Ergebnis:=sqrt(Radikand)
else
  Fehler;

Sharky 24. Nov 2007 17:31

Re: Wurzel aus negativer Zahl
 
Hai shirocko,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS" :hello:

prüfe einfach vorher ob der Wert deiner Variablen < 0 ist:

Delphi-Quellcode:
procedure TDemo_Form.Button1Click(Sender: TObject);
var
  wert: Extended;
  wurzel: Extended;
begin
  if (wert = 0) then
  begin
    ShowMessage('Wert ist 0');
  end;
  if (wert < 0) then
  begin
    ShowMessage('Wert ist kleiner 0');
  end;
  if (wert > 0) then
  begin
    wurzel := Sqrt(wert);
    ShowMessageFmt('Die Quadratwurzel aus %d ist %d', [wert, wurzel]);
  end;
end;

Bernhard Geyer 24. Nov 2007 17:32

Re: Wurzel aus negativer Zahl
 
Zitat:

Zitat von shirocko
Ich möchte die Wurzel ziehen aus einer Zahl.
Wenn diese im Minusbereich liegt, spuckt er mir einen Fehler aus.

Da das Ergebnis nicht im Bereich von realen Zahlen liegt und Delphi von Haus aus nur mit realen Zahlen rechnen kann kommt zwangsläufig eine Fehlermeldung

Zitat:

Zitat von shirocko
Wie kann ich dem Programm sagen, dass erbei einem negativen Betrag unter der Wurzel eine bestimmte Option ausführen soll.
Bzw. wenn 0 raus kommt.

Delphi-Quellcode:
if ZahlVonDerIchWurzelziehenWill > 0 then
  Sqrt(ZahlVonDerIchWurzelziehenWill)
else
  AlternativCode;

mkinzler 24. Nov 2007 17:36

Re: Wurzel aus negativer Zahl
 
Im Wertebereich der Realzahlen ist die Wurzel für negative Zahlen nicht definiert. der Mathematiker verwendet daher für die Wurzel von -1 die Zahl i (Techniker j) und reden dann von komplexen zahlen
Man kann dann diese ausklammern:
Wurzel von -16 =
Wurzel von 16 * -1 =
Wurzel 16 + Wurzel von -1 =
4 + i

Apollonius 24. Nov 2007 17:43

Re: Wurzel aus negativer Zahl
 
Zitat:

der Mathematiker verwendet daher für die Wurzel von -1 die Zahl i [...] und reden dann von komplexen zahlen
Das kann man so eigentlich nicht stehen lassen. Die Wurzel aus -1 ist nämlich gleichzeitig i, j und k in den Quaternionen. Allgemein ist es unsinnig, nach der Wurzel aus negativen Zahlen zu fragen, ohne einen Wertebereich zu nennen.

Laufi 24. Nov 2007 17:47

Re: Wurzel aus negativer Zahl
 
hallo

Zitat:

Zitat von mkinzler
Wurzel von 16 * -1 =
Wurzel 16 + Wurzel von -1

Das ist bei logarithmen nicht bei wurzeln!!! :(

liebe Grüsse
Laufi

Bernhard Geyer 24. Nov 2007 17:48

Re: Wurzel aus negativer Zahl
 
Zitat:

Zitat von mkinzler
Im Wertebereich der Realzahlen ist die Wurzel für negative Zahlen nicht definiert. der Mathematiker verwendet daher für die Wurzel von -1 die Zahl i (Techniker j) und reden dann von komplexen zahlen

Komplexe Zahlen war der Begriff der mir entfallen war - Schule/Studium doch zu lange wieder her.

[OT]Komplexe Zahlen stellen eine Untermenge der Elastischen Zahlen dar.

Sorry. aber irgendwie musste das jetzt sein :???:

mkinzler 24. Nov 2007 17:53

Re: Wurzel aus negativer Zahl
 
Sorry vergesst das ich was geschrieben habe. Habe leider nur Informatik studiert und keinen Doktor in Mathematik. Ich kannte nur die komplexen zahlen und wusste nichts das es noch andere Theorien/Lösungen zur Umgehung des Wuzel von -1-Problems gibt.

shirocko 24. Nov 2007 18:07

Re: Wurzel aus negativer Zahl
 
hi danke erstmal für all die antworten, hat super funktioniert thx


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

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