blikk info infothek forum galerie sitemap

Überschrift

anfang zurueck weiter ende nach oben

      CD: BEGIN

            CASE zeichen OF

              'M': BEGIN

                     zustand := FEHL;

                   END;

              'D': BEGIN

                     zustand := FEHL;

                   END;

              'C': BEGIN

                     zustand := FEHL;

                   END;

              'L': BEGIN

                     s := s + 50;

                     zustand := L1;

                   END;

              'X': BEGIN

                     zustand := X1;

                   END;

              'V': BEGIN

                     s := s + 5;

                     zustand := V1;

                   END;

              'I': BEGIN

                     zustand := I1;

                   END;

              '=': BEGIN

                     zustand := ENDE;

                   END;

            END;

            Schreibezust(zustand);

          END;

      XC: BEGIN

            CASE zeichen OF

              'M': BEGIN

                     zustand := FEHL;

                   END;

              'D': BEGIN

                     zustand := FEHL;

                   END;

              'C': BEGIN

                     zustand := FEHL;

                   END;

              'L': BEGIN

                     zustand := FEHL;

                   END;

              'X': BEGIN

                     zustand := FEHL;

                   END;

              'V': BEGIN

                     s := s + 5;

                     zustand := V1;

                   END;

              'I': BEGIN

                     zustand := I1;

                   END;

              '=': BEGIN

                     zustand := ENDE;

                   END;

            END;

            Schreibezust(zustand);

          END;

      XL: BEGIN

            CASE zeichen OF

              'M': BEGIN

                     zustand := FEHL;

                   END;

              'D': BEGIN

                     zustand := FEHL;

                   END;

              'C': BEGIN

                     zustand := FEHL;

                   END;

              'L': BEGIN

                     zustand := FEHL;

                   END;

              'X': BEGIN

                     zustand := FEHL;

                   END;

              'V': BEGIN

                     s := s + 5;

                     zustand := V1;

                   END;

              'I': BEGIN

                     zustand := I1;

                   END;

              '=': BEGIN

                     zustand := ENDE;

                   END;

            END;

            Schreibezust(zustand);

          END;

      IX: BEGIN

            CASE zeichen OF

              'M': BEGIN

                     zustand := FEHL;

                   END;

              'D': BEGIN

                     zustand := FEHL;

                   END;

              'C': BEGIN

                     zustand := FEHL;

                   END;

              'L': BEGIN

                     zustand := FEHL;

                   END;

              'X': BEGIN

                     zustand := FEHL;

                   END;

              'V': BEGIN

                     zustand := FEHL;

                   END;

              'I': BEGIN

                     zustand := FEHL;

                   END;

              '=': BEGIN

                     zustand := ENDE;

                   END;

            END;

            Schreibezust(zustand);

          END;

      IV: BEGIN

            CASE zeichen OF

              'M': BEGIN

                     zustand := FEHL;

                   END;

              'D': BEGIN

                     zustand := FEHL;

                   END;

              'C': BEGIN

                     zustand := FEHL;

                   END;

              'L': BEGIN

                     zustand := FEHL;

                   END;

              'X': BEGIN

                     zustand := FEHL;

                   END;

              'V': BEGIN

                     zustand := FEHL;

                   END;

              'I': BEGIN

                     zustand := FEHL;

                   END;

              '=': BEGIN

                     zustand := ENDE;

                   END;

            END;

            Schreibezust(zustand);

          END;

    END;    {von CASE}

  i := i + 1;

  END;     {Der WHILE - Schleife}

  IF zustand = FEHL THEN

    roem2dez := -1

  ELSE

    roem2dez := s; {Zuweisung der Fuktion}

END;

 

VAR

  beneingabe : STRING;

  dezzahl    : INTEGER;

BEGIN                               {Beginn des Hauptprogrammes}

  REPEAT

    Write('Geben sie die Roemische Zahl ein! ');

    Readln (beneingabe);

    IF beneingabe <> '-1' THEN BEGIN

      dezzahl := roem2dez(beneingabe);

      IF dezzahl = -1 THEN

        {Es folgt ausgabe fals die eingegebene zahl nicht korrekt ist!}

        Writeln('keine korrekte roemische Zahl!!!')

      ELSE

        Writeln;

        Writeln('Dezimazahl: ',dezzahl);

    END;

  UNTIL beneingabe = '-1';       {bei -1 wird abgebrochen}

END.

 

Zur Aufgabenstellung



 

nach oben