Beispiel (11)


Ursprüngliches Programm:

INTEGER q, z, a
READ z
LOOP a <= 1 TO 100
   q <= a^2
   IF (a+1)^2 >= z THEN LEAVELOOP
ENDLOOP
WRITE q

Letzter Stand des Programms:

INTEGER q, z, a
STRING s
WRITE 'Bitte eine ganze Zahl eingeben:'
READ s
IF DATATYPE(s) != 'INTEGER' THEN DOIF
   WRITE 'Die Eingabe ' s ' ist keine ganze Zahl'
   EXIT
ENDIF
IF SIZE(s) != 'SHORTINTEGER' THEN DOIF
   WRITE 'Die Zahl ' s ' ist zu groß'
   EXIT
ENDIF
z <= INTEGER(s)
IF z < 0 THEN DOIF
   WRITE 'Keine Lösung für negatives z = ' z
   EXIT
ENDIF
LOOP a <= 0 TO 181
   q <= a^2
   IF a^2 > z - (2*a + 1) THEN LEAVELOOP
ENDLOOP
WRITE q


Ingolf Giese