Beispiel (4)


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

Test mit z = 9:

1. Durchlauf: a = 1
             Zuweisung: q = 1
             Abfrage: 4 >= 9 ?
             Antwort: Nein
2. Durchlauf: a = 2
             Zuweisung: q = 4
             Abfrage: 9 >= 9 ?
             Antwort: Ja

Ergebnis: q = 4

Falsch!! Lösung ist: q = 9

Korrektur des Programms: Abfrage mit ">" statt mit ">=".


Ingolf Giese