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