|
LOOP Read.Int(value); (* try to read a value *) IF Streams.stdin.count = 0 THEN EXIT END; (* value is well-defined now *) IF ~mindefined OR (value < min) THEN (* new minimum found *) min := value; mindefined := TRUE; END; END; |
Lese-Operationen wie Read.Int können wie erhofft
funktionieren oder auch fehlschlagen.
| |
Ein Read.Int schlägt beispielsweise fehl, wenn
die Eingabe beendet ist oder ein Buchstabe anstatt einer
Ziffernfolge eingegeben wird.
| |
Die externe Variable Streams.stdin.count ist
vom Typ INTEGER und ist 0, falls die letzte Einlese-Operation
von der Standard-Eingabe (Streams.stdin) nicht
erfolgreich war --- aus welchem Grunde auch immer.
Andernfalls ist sie positiv.
| |
Wenn der Erfolg von Lese-Operationen überprüft werden
soll, ist folgender genereller Schleifenaufbau sinnvoll:
LOOP |
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |