Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || 1

MODULE Friday13


MODULE Friday13;

   IMPORT Args := UnixArguments, Dates, Print, Read, Scales, Streams;

   VAR
      year: INTEGER;

   PROCEDURE ProcessArgs;
      VAR
	 as: Streams.Stream;
   BEGIN
      Args.Init("year");
      Args.Fetch(as);
      Read.IntS(as, year);
      IF as.count # 1 THEN Args.Usage END;
      Args.AllArgs;
   END ProcessArgs;

   PROCEDURE PrintDates(year: INTEGER);
      VAR
	 month: Scales.Value;
   BEGIN
      month := Dates.january;
      WHILE month <= Dates.december DO
	 IF Dates.Weekday(year, month, 13) = Dates.friday THEN
	    Print.F3("%02d.%02d.%04d\n", 13, month, year);
	 END;
	 INC(month);
      END;
   END PrintDates;

BEGIN
   ProcessArgs;
   PrintDates(year);
END Friday13.

WS 2000/01 || Entwicklung objekt-orientierter Bibliotheken || Beispiele || 1

Andreas Borchert, 7. November 2000