Einzelnen Beitrag anzeigen

eugene222

Registriert seit: 24. Mär 2011
11 Beiträge
 
#1

Werte Tabelle Schleifen-Fehler

  Alt 26. Mär 2011, 16:04
Delphi-Version: 5
Hallo, ich habe die Aufgabe gekriegt eine Werte Tabelle für die Funktion f(x) = sin(x) * x² + 3/x.
Ich habe 3 Editfelder in die der Startwert, Endwert und die Schrittzahl.
Ich bin auch eig. schon fast fertig. Es funktioniert eig. alles, aber sobald man für die Schrittzahl einen etwas kleineren Wert nimmt(Wenn f_schritt < 0.5), läuft die Schleife Endloss weiter. Unser Lehrer hat aber gesagt, dass man für die Schrittzahl auch Float Werte nehmen kann.
Ich finde den Fehler einfach nicht, da das Program so ohne Fehler läuft.

Rechnung:
Code:
FUNCTION Tform1.Rechnung;
 BEGIN
  me_x.lines.Add(FloatToStr(f_start));
  Result := Sin(f_start)*sqr(f_start)+(3/f_start);
  me_y.Lines.Add(FloatToStr(Result));
 END;
Click Prozedur:
Code:
//Button-Click Prozedur
procedure TForm1.b_goClick(Sender: TObject);
 BEGIN
   //Die Editfelder den Variablen zuweisen
   f_start := StrToFloat(ed_start.Text);
   f_end := StrToFloat(ed_end.Text);
   f_schritt := StrToFloat(ed_Schritt.Text);
   me_x.Lines.Clear;
   me_y.Lines.Clear;
  ///////////////////////////////////////
  IF f_start<f_end THEN
   BEGIN
    repeat
     Rechnung;
     f_start := f_start + f_schritt;
    until f_start=f_end;
   END
  ELSE IF f_start>f_end THEN
   BEGIN
    repeat
     Rechnung;
     f_start := f_start - f_schritt;
    until f_start=f_end;
   END;
  Rechnung;
 END;
  Mit Zitat antworten Zitat