|
PathFinder.m2 |
WHILE Fgetc(ch, input) DO IF ch = nl THEN (* ... *) INC(line); column := 0; ELSE IF ch = space THEN (* ... *) spaceSeen := TRUE; ELSIF column = 0 THEN spaceSeen := FALSE; END; IF (line >= maxsize) OR (column >= maxsize) THEN WriteString("Das Labyrinth ist zu gross!"); WriteLn; RETURN FALSE END; (* ... *) maze[line, column] := ch; INC(column); END; END; |
Sehr häufig wie in diesem Fall gehen Einlese-Schleifen
mit vielen Überprüfungen einher.
| |
Tip: Gestalten Sie die Schleifen-Bedingung so einfach
wie nur irgend möglich (z.B. wie hier bis zum Erreichen
des Eingabe-Endes).
| |
Wenn dann die Schleife beendet ist, brauchen Sie nicht
zu untersuchen, warum die Schleife endete.
| |
Behandeln Sie Fehler- und Sonderfälle dadurch, daß
sie eine Prozedur mit RETURN FALSE beenden.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999 |