|
PathFinder.m2 |
PROCEDURE ReadMaze(input: FILE; VAR maze: Maze; VAR width, height: MazeSize; VAR entry, exit: MazeIndex) : BOOLEAN; VAR line, column: MazeSize; ch: CHAR; (* zuletzt eingelesenes Zeichen *) entryFound, exitFound: BOOLEAN; spaceSeen: BOOLEAN; BEGIN line := 0; column := 0; width := 0; entryFound := FALSE; exitFound := FALSE; spaceSeen := FALSE; (* ... *) END ReadMaze; |
Die Musterlösung führt sämtliche Prozeduren in
der Eingabeprozedur zum jeweils frühestmöglichen
Zeitpunkt durch.
| |
In den Variablen entryFound und exitFound
wird notiert, ob Ein- und Ausgang bereits gefunden
worden sind, da wir davon jeweils genau einen erwarten.
| |
spaceSeen ist genau dann wahr, wenn in der
letzten eingelesenen Zeile mindestens ein
Leerzeichen gesehen worden ist. Damit läßt sich am
Ende sofort überprüfen, ob ein ``Loch'' in der
untersten Zeile vorhanden ist (was nicht erlaubt ist).
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999 |