--- /dev/null
+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.