File: ZAHLWO.PS of Tape: Various/Decus/decus-3
(Source file text) 

PROGRAM ZAHLWOERTER(INPUT,OUTPUT);

   VAR  N: INTEGER;

   PROCEDURE EINER(E: INTEGER);
      BEGIN CASE E OF
                1: WRITE("EIN");
                2: WRITE("ZWEI");
                3: WRITE("DREI");
                4: WRITE("VIER");
                5: WRITE("FUENF");
                6: WRITE("SECHS");
                7: WRITE("SIEBEN");
                8: WRITE("ACHT");
                9: WRITE("NEUN");
               10: WRITE("ZEHN");
               11: WRITE("ELF");
               12: WRITE("ZWOELF");
            END
      END (* EINER *);

   PROCEDURE ZEHNER(Z: INTEGER);
      BEGIN CASE Z OF
                1: WRITE("ZEHN");
                2: WRITE("ZWANZIG");
                3: WRITE("DREISSIG");
                4: WRITE("VIERZIG");
                5: WRITE("FUENFZIG");
                6: WRITE("SECHZIG");
                7: WRITE("SIEBZIG");
                8: WRITE("ACHTZIG");
                9: WRITE("NEUNZIG")
            END
      END (* ZEHNER *);


BEGIN READLN;
   WHILE NOT EOF DO
   BEGIN
      READ(N); WRITE("ZAHL:",N:5,"    WORT:  ");
      IF N=1
         THEN WRITE("EINS")
         ELSE IF N<=12
                 THEN EINER(N)
                 ELSE IF N<=19
                         THEN BEGIN EINER(N-10);WRITE("ZEHN") END
                         ELSE IF N MOD 10 = 0
                                 THEN ZEHNER(N DIV 10)
                                 ELSE BEGIN EINER(N MOD 10);
                                            WRITE("UND");
                                            ZEHNER(N DIV 10)
                                      END;
      WRITELN
   END
END.