Einzelnen Beitrag anzeigen

Benutzerbild von bixi400
bixi400

Registriert seit: 19. Mai 2003
179 Beiträge
 
Turbo Delphi für Win32
 
#1

if (x>y) funktionier nicht richtig?

  Alt 15. Sep 2006, 18:00
Hi!

Ich habe ein Programm geschrieben das nicht genau das gemacht hat was ich wollte.
Nach längerem Fehler suchen bin ich auf folgendes gestoßen:
Delphi-Quellcode:
var x,y:Real;
begin

  x:=0;
  y:=1E-3;

  while (x<1) do
  begin
    if (x>y) then
    begin
      y:=y+1E-3;
    end;

    x:=x+2E-4;
  end;
Wenn das Programm zum zweiten mal zu der Zeile y:=y+1E-3; stößt,
ist x=0,002 und y=0,002 also x=y.
Warum passiert das?
Wenn x=y dann gilt doch nicht x>y.

Und was ich noch seltsamer finde:
Wenn das Programm zum ersten mal zu dieser Zeile gelangt ist scheint ja alles zu funktionieren!

Warum ist das so?
  Mit Zitat antworten Zitat