Ich hab als 5.Prüfungsfach eine Präsentation in Informatik gewält und muss daher ein Programm schreiben, dass Funktionen untersucht.
Bevor ich anfange die Nullstellen einer Funktion duch Näherungsverfahren zu bestimmen, wollte ich erstmal eine kleine Procedure schreiben, die in einem bestimmten Bereich alle Funktionswerte berechnet und dann überprüft, welche = 0 sind.
Leider klappt die Addition von 2 Real-Variablen nicht so, wie ich mir das vorstelle.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var step,x:real; begin Step:=0.1; x:=-1; repeat Memo1.Lines.Append(FloatToStr(x)); x:=x+step; until x > 1; end; |
==>
-1
-0,9
-0,8
-0,7
-0,6
-0,5
-0,4
-0,3
-0,2
-0,1
-1,38777878078145E-16
0,0999999999999999
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Wenn ich den Variablen-Typ auf extended ändere, stimmen alle Werte, bis auf den Wert, bei dem durch die Addition 0 entstünde.
Kann mir vielleicht jemand weiterhelfen?
Wäre super.
Moderiert von
AXMD: Delphi-Tags hinzugefügt.