...
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);
|