Lösung 2

...
Repeat
WriteLn(X:10:4,XX:10:4);
X:=X+0.05
Until X>3.02;
Lösung zu Aufgabe 2: Die angegebene Schleife endet nicht! Der Grund ist, daß hier für die Abbruchbedingungen zwei Real-Zahlen auf Gleichheit überprüft werden, bei denen aber Rundungsfehler auftreten können. Als Regel sollte man beherzigen: Real-Zahlen sollten stets nur auf Ungleichheit getestet werden.
Im Original steht die Zeile: WriteLn(X:10:4,XX:10:4);

Das muss natürlich heißen: WriteLn(X:10:4,X×X:10:4);

Scanned by Werner Cirsovius
August 2007
© DMV-Verlag