Delphi-PRAXiS
Seite 4 von 9   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung (https://www.delphipraxis.net/155991-ggt-und-kgv-von-2-zahlen-berechnen-absolut-keine-ahnung.html)

Sir Rufo 20. Nov 2010 19:06

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Wenn man sich wundert, warum da irgendwas passiert, was man nicht erwartet, und man im Prinzip gar nicht versteht was da so passiert, dann hilft immer die Methode mit einem Ausdruck des Quelltextes, ein leeres Blatt Papier und evtl. für Notizen Block und Stift.

Versuchen wir mal das Beispiel mit dem Teilen.
Da wird etwas komisches ausgegeben, was man so gar nicht vermutet hat. Also machen wir das mal als Trockenübung

Delphi-Quellcode:
a := StrToFloat (Zahl1.Text);
Ok, merke ich mir (a ist 5)
Delphi-Quellcode:
b := StrToFloat (Zahl2.Text);
Ok, merke ich mir (b ist 0)
Delphi-Quellcode:
c:= a/b;
Öh, das kann ich ja gar nicht berechnen "Hallo, kann mir mal jemand helfen?"
Na, dann höre ich mal auf, denn hier stimmt was nicht!

Komischerweise kommt man zu dem gleichen Ergebnis wie das kompilierte Programm

mkinzler 20. Nov 2010 19:19

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Tja ein Schreibtischtest ist halt ganz aus der Mode gekommen

Luckie 20. Nov 2010 19:41

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

Connor Temple 20. Nov 2010 20:08

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Ich habs ja jetzt hingekriegt, aber jetzt ist das Problem, dass wenn ich durch eine Zahl die größer oder kleiner als null ist, teile, kommt das Ergebnis:
1,05940440336306E-22

Ich kann das irgendwie auch nicht beheben.
Auch wenn ichs mit der Aufschreibmethode versuche, weiß ich trotzdem nicht wie ich das im Programm schreiben soll, dass der Pc das versteht.

Luckie 20. Nov 2010 20:10

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Wie gibst du die Zahl denn aus?

Wolfgang Mix 20. Nov 2010 20:12

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Warum rechnest du nicht mit ganzen Zahlen, wie schon oben erwähnt?

Luckie 20. Nov 2010 20:24

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

Zitat von Wolfgang Mix (Beitrag 1062889)
Warum rechnest du nicht mit ganzen Zahlen, wie schon oben erwähnt?

Es geht hier mittlerweile um seinen Rechner.

Connor Temple 20. Nov 2010 20:28

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
So, hab nochmal ne halbe Stunde dran rumprobiert, jetzt klappts endlich:
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 c := a/b ;
Ausgabe.Caption := FloatToStr (c);
If b = 0 Then Ausgabe.Caption :='Man kann auch im Jahr 2010 immer noch nicht durch null teilen.';

end;
Das ist mein Code.

Bummi 20. Nov 2010 20:53

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
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.

Wolfgang Mix 20. Nov 2010 21:03

AW: ggT und KgV von 2 Zahlen berechnen - absolut keine Ahnung
 
Der Else-Zweig wird wohl nie erreicht, schau mal bei Luckies Homepage vorbei :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.
Seite 4 von 9   « Erste     234 56     Letzte »    

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-2025 by Thomas Breitkreuz