home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 04 / einfach.mod < prev    next >
Encoding:
Modula Implementation  |  1987-03-13  |  1.5 KB  |  80 lines

  1. (*
  2. Title   : Einfach (Uebungsprogramm fuer PASCAL-Magazin)
  3. LastEdit: 1.12.86.
  4. Author  : Joerg BEYER, Tuebingen
  5. System  : LOGITECH MODULA-2/86
  6. *)
  7.  
  8. IMPLEMENTATION MODULE Einfach;
  9.  
  10. FROM InOut IMPORT WriteString,
  11.                   Read,
  12.                   ReadCard,
  13.                   WriteCard,
  14.                   WriteLn;
  15.  
  16. CONST
  17.       TerminalZeilen = 25;
  18.  
  19.  
  20.   PROCEDURE FrageJaNein (text: ARRAY OF CHAR): BOOLEAN;
  21.  
  22.     VAR y       : CHAR;
  23.         Antwort : BOOLEAN;
  24.  
  25.   BEGIN
  26.     y := "Z";
  27.     WHILE NOT ((y = "J") OR (y = "j") OR (y = "N") OR (y = "n")) DO
  28.       WriteString(text);
  29.       WriteString(" J/N ");
  30.       Read(y);
  31.       WriteLn;
  32.       IF ((y = "J") OR (y ="j")) THEN
  33.         Antwort := TRUE
  34.       ELSE
  35.         Antwort := FALSE;
  36.       END; (* IF *)
  37.     END; (* DO *)
  38.     RETURN Antwort;
  39.   END FrageJaNein;
  40.  
  41.  
  42.   PROCEDURE Eingabe (Text: ARRAY OF CHAR): CARDINAL;
  43.   (* Uebernimmt Text, Druckt ihn aus erwartet Input einer Cardinal-Zahl
  44.      und gibt diese Zurueck *)
  45.  
  46.   VAR
  47.      X    : CARDINAL;
  48.  
  49.   BEGIN
  50.     WriteString(Text);
  51.     WriteString('...');
  52.     ReadCard   (X);
  53.     WriteLn;
  54.     RETURN X;
  55.   END Eingabe;
  56.  
  57.  
  58.   PROCEDURE Ausgabe (Text: ARRAY OF CHAR; Zahl: CARDINAL);
  59.   (* Gibt den Text und im Anschluss daran die Zahl auf dem angewaehlten
  60.      Medium aus *)
  61.  
  62.   BEGIN
  63.     WriteString(Text);
  64.     WriteCard  (Zahl,3);
  65.     WriteLn;
  66.   END Ausgabe;
  67.  
  68.  
  69.   PROCEDURE ClrScr;
  70.  
  71.   VAR i : CARDINAL;
  72.  
  73.   BEGIN
  74.     FOR i := 1 TO TerminalZeilen DO
  75.         WriteLn
  76.     END;
  77.   END ClrScr;
  78.  
  79. END Einfach.
  80.