Rahmen

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

SantaClaus.m2
MODULE SantaClaus;

   FROM InOut IMPORT Write, WriteString, WriteCard, WriteLn,
      Done, ReadCard;

   (* ... Deklarationen (siehe vorherige Folie) ... *)

   PROCEDURE ReadMatrix(VAR matrix: DistanceMatrix;
                        VAR n: LocationIndex) : BOOLEAN;
      (* Einlesen einer quadratischen Matrix, deren Groesse
         zu Beginn noch nicht bekannt ist. Wir lesen solange
         Zahlen ein, soweit ReadCard klappt (Done = TRUE)
         und die Kapazitaet ausreicht.  In n wird die
         Groesse der Matrix abgelegt.  Bei Misserfolg wird
         eine Fehlermeldung ausgeben und FALSE
         zurueckgeliefert.
      *)
      (* ... folgt ... *)
   END ReadMatrix;

   PROCEDURE ComputeRoute(distances: DistanceMatrix;
                          noflocations: LocationIndex);
      (* ... folgt ... *)
   END ComputeRoute;

BEGIN
   IF ReadMatrix(distances, noflocations) THEN
      ComputeRoute(distances, noflocations);
   END;
END SantaClaus.

*Die Aufgabenstellung verteilt sich auf zwei Teilaufgaben: Das Einlesen der Matrix (einschließlich der Überprüfungen) und dem Berechnen der Route.
 

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 13.01.1999