AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wurzel aus negativer Zahl

Ein Thema von shirocko · begonnen am 24. Nov 2007 · letzter Beitrag vom 24. Nov 2007
Antwort Antwort
shirocko

Registriert seit: 24. Nov 2007
10 Beiträge
 
#1

Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:26
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.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:27
Delphi-Quellcode:
if Radikand>=0 then
  Ergebnis:=sqrt(Radikand)
else
  Fehler;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:31
Hai shirocko,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS"

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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.194 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:32
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 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;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:36
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
Markus Kinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:43
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Laufi

Registriert seit: 21. Mär 2006
86 Beiträge
 
#7

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:47
hallo

Zitat von mkinzler:
Wurzel von 16 * -1 =
Wurzel 16 + Wurzel von -1
Das ist bei logarithmen nicht bei wurzeln!!!

liebe Grüsse
Laufi
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.194 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:48
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
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 17:53
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.
Markus Kinzler
  Mit Zitat antworten Zitat
shirocko

Registriert seit: 24. Nov 2007
10 Beiträge
 
#10

Re: Wurzel aus negativer Zahl

  Alt 24. Nov 2007, 18:07
hi danke erstmal für all die antworten, hat super funktioniert thx
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
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