Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#4

Re: Harmonische Reihe - "Ungültige Gleitkommaoperation&

  Alt 28. Mär 2010, 15:05
"fertig" wurde auch nicht initialisiert (false)
"x" hast du schon bemerkt
"i" ist nach Schleifendurchlauf undefiniert

Wobei diese beiden Initialisierungsfehler "x" und "fertig", sowie das undefinierte "i" eigentlich von Delphi hätten beängelt werden sollten.

Wenn ich dann alles Kürze, dann komm ich auf dieses:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var eingabe: Extended;
  i: Integer;
begin
  eingabe := StrToFloat(Edit1.Text);
  if eingabe < 11.0901461298634 then begin
    Edit1.Text := 'Die eingabe wurde überschritten. Summationen:';
    Edit2.Text := IntToStr(i); // i ist nicht initialisiert
  end else
    Edit1.Text := 'Die Zahl wurde nicht erreicht, da die Berechnung nach '
      + '100000 Summationen abgebrochen wurde.');
end;
Entweder du prüfst in einer While- oder Repeat-Schleife und brichts bei erfolgreichem Vergleich die Schleife ab
oder du merkst dir wenigstens den Wert von i (also innerhalb der For-Schleife)
oder du verlegst die Auswertung auch teilweise in die Schleife.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat