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;