AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
Thema durchsuchen
Ansicht
Themen-Optionen

ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

Ein Thema von Connor Temple · begonnen am 16. Nov 2010 · letzter Beitrag vom 23. Nov 2010
Thema geschlossen
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 20:53
Delphi-Quellcode:
procedure TForm1.TeilButtonClick(Sender: TObject);
var a,b,c :Real ;
begin
a := StrToFloat (Zahl1.Text);
b := StrToFloat (Zahl2.Text);



If b <> 0 then
begin
   c := a/b ;
  Ausgabe.Caption := FloatToStr (c);
end
else Ausgabe.Caption :='Man kann auch im Jahr 2010 immer noch nicht durch null teilen.';

end;
In Deinem Beispiel gibst Du c aus das als Stackvariable nicht initialisiert ist, da kann sonstwas drin stehen, außerdem gibt es ja nicht anzuzeigen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#2

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 21:03
Der Else-Zweig wird wohl nie erreicht, schau mal bei Luckies Homepage vorbei
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
 
mkinzler
(Moderator)

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

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 21:05
If trunc(b) <> 0 then
Markus Kinzler
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 21:21
@Wolfgang Mix

ich kann Deiner Aussage nicht folgen, wenn es etwas anderes als 0 eingibt ist die Rechenoperation gültig, ansonsten landet er im Else-Zweig.
Die nicht Initialisiere Variable c auszugeben ist in jedem Fall Blödsinn
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#5

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 21:32
Es funktioniert ja jetzt.
Mit Else hab ichs versucht, da werde ich aber nochmal dran arbeiten müssen, da das auch nicht hingehauen hat.
 
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 21:56
Punkt 1 - Die Fließkommazahlen: Lehrer behelfen sich da ganz einfach mit Real. Das liegt wohl daran, weil "Delphi for Kids" das eben auch macht. Nur leider ist Real sehr unbestimmt, in Bezug auf die Genauigkeit. Selbst bei D7 kommt die Hilfe bei Real nicht auf den Punkt, auf wie viele Stellen man sich verlassen kann. Außerdem gibt es neben Real noch den Real48. Um hier aufzuräumen würde ich auch Single, Double und Extended verwenden.

Punkt 2 - Der ELSE-Zweig: Ja bitte, welcher Fehler kommt denn diesmal? - Man wird dir leiden nicht helfen können, wenn man dein Problem nicht kennt. Das ist so ähnlich, wie wenn du zum Arzt gehst und sagst, du hättest Schmerzen. Daran kann auch der allerbeste Arzt leider nicht feststellen, wo deine Schmerzen sind und was du haben könntest. Das kann von Kopfschmerzen bis Herzinfarkt gehen. Übertragen auf deinen Code heißt das: Du hast entweder einen Syntax-Fehler oder du hast in Delphi einen Bug entdeckt. Wobei ich mir letzteres nicht vorstellen kann.

Es funktioniert ja jetzt.
Optimal?
Zu der Frage mit Fließkommazahlen und der Null: Die Null ist ein exakt definierter Wert. Leider ist dieser Wert so exakt definiert, dass man ihn normalerweise nicht genau erreichen kann. Selbst wenn du sagst Variable := 0.0; , dann ist diese Variable noch lange noch nicht 0. Sie ist nur auf 22 Nachkommastellen genau 0. Danach ist sie ungleich 0. Deshalb sollte man für Vergleiche auf 0 die Funktion IsZero() verwenden.

If trunc(b) <> 0 then
Nein, das ist leider nicht richtig. Was ist, wenn du durch 0,5 teilen willst? Trunc(0,5) ist 0 und somit meinst du, du teilst durch 0, was absolut nicht richtig ist.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
 
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 23:02
Real ist, zumindest bei meinem D7, als Double definiert, und somit sehr gut dokumentiert . Real48 ist der alte Real aus TP Zeiten, den es rein dafür gibt, damit man Portierungen von altem TP Code der sich auf die 48 Bit verlässt nicht zu arg umschreiben muss, wenn man es nicht will. (Und die meisten Lehrer nehmen denke ich bevorzugt Real, weil sie diesen noch aus TP kennen.)
Man kann per Optionen umschalten als was Real definiert sein soll, Standard ist eben Double. Damit ist es nichts weiter als ein Alias.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung

  Alt 20. Nov 2010, 23:17
Hat der Thread überhaupt noch was mit dem Titel zu tun??
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Thema geschlossen


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 22:47 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