PROGRAM zahlwert(input,output);

{ Uebernimmt eine Zeichenkette von der Tastatur (z. B. "EINS") }
{ und gibt den dazugehoerigen Zahlenwert aus. }

CONST laenge = 6;
      anzahl = 10;

TYPE zahl   = ARRAY[1..laenge] OF char;
     zahlen = ARRAY[1..anzahl] OF zahl;

VAR richtig      : boolean;
    nochmal      : char;
    eingabe      : char;
    wort         : integer;
    referenzfeld : zahlen;

PROCEDURE feldaufbau;

BEGIN { feldaufbau }
  referenzfeld[1,1]  := 'E';
  referenzfeld[1,2]  := 'I';
  referenzfeld[1,3]  := 'N';
  referenzfeld[1,4]  := 'S';

  referenzfeld[2,1]  := 'Z';
  referenzfeld[2,2]  := 'W';
  referenzfeld[2,3]  := 'E';
  referenzfeld[2,4]  := 'I';

  referenzfeld[3,1]  := 'D';
  referenzfeld[3,2]  := 'R';
  referenzfeld[3,3]  := 'E';
  referenzfeld[3,4]  := 'I';

  referenzfeld[4,1]  := 'V';
  referenzfeld[4,2]  := 'I';
  referenzfeld[4,3]  := 'E';
  referenzfeld[4,4]  := 'R';

  referenzfeld[5,1]  := 'F';
  referenzfeld[5,2]  := 'U';
  referenzfeld[5,3]  := 'E';
  referenzfeld[5,4]  := 'N';
  referenzfeld[5,5]  := 'F';

  referenzfeld[6,1]  := 'S';
  referenzfeld[6,2]  := 'E';
  referenzfeld[6,3]  := 'C';
  referenzfeld[6,4]  := 'H';
  referenzfeld[6,5]  := 'S';

  referenzfeld[7,1]  := 'S';
  referenzfeld[7,2]  := 'I';
  referenzfeld[7,3]  := 'E';
  referenzfeld[7,4]  := 'B';
  referenzfeld[7,5]  := 'E';
  referenzfeld[7,6]  := 'N';

  referenzfeld[8,1]  := 'A';
  referenzfeld[8,2]  := 'C';
  referenzfeld[8,3]  := 'H';
  referenzfeld[8,4]  := 'T';

  referenzfeld[9,1]  := 'N';
  referenzfeld[9,2]  := 'E';
  referenzfeld[9,3]  := 'U';
  referenzfeld[9,4]  := 'N';

  referenzfeld[10,1] := 'Z';
  referenzfeld[10,2] := 'E';
  referenzfeld[10,3] := 'H';
  referenzfeld[10,4] := 'N'
END;  { feldaufbau }
{----------------------------------------------------------------------------}

PROCEDURE worteinlesen(VAR wort : integer);

VAR erkannt : boolean;

BEGIN { worteinlesen }
  writeln;writeln;
  writeln('Geben Sie ein Zahlenwort (z.B. "EINS") in Grossbuchstaben ein.');
  erkannt := true;
  read(eingabe);
  IF eingabe = referenzfeld[1,1]
    THEN
      read(eingabe);
      IF eingabe = referenzfeld[1,2]
        THEN
          read(eingabe);
          IF eingabe = referenzfeld[3,1]
            THEN
              read(eingabe);
              IF eingabe = referenzfeld[4,1]
                THEN
                  writeln;
                  wort := 1
                ELSE
            ELSE
        ELSE
          IF eingabe = referenzfeld[10,2]
            THEN
              read(eingabe);
              IF eingabe = referenzfeld[10,3]
                THEN
                  read(eingabe);
                  IF eingabe = referenzfeld[10,4]
                    THEN
                      writeln;
                      wort := 10
                    ELSE
                ELSE
            ELSE

    ELSE
      IF eingabe = referenzfeld[2,1]
        THEN

        ELSE
          IF eingabe = referenzfeld[3,1]
            THEN

            ELSE
              IF eingabe = referenzfeld[4,1]
                THEN

                ELSE
                  IF eingabe = referenzfeld[5,1]
                    THEN

                    ELSE
                      IF eingabe = referenzfeld[6,1]
                        THEN

                        ELSE
                          IF eingabe = referenzfeld[8,1]
                            THEN

                            ELSE
                              IF eingabe = referenzfeld[9,1]
                                THEN

                                ELSE


END;  { worteinlesen }
{----------------------------------------------------------------------------}

BEGIN { zahlwert }
  wort := 11;
  feldaufbau;
  worteinlesen;
  writeln(wort)
END.  { zahlwert }