Hessischer Bildungsserver / Arbeitsplattformen

Anmerkungen zu endlichen Automaten

Im Landesabitur 2019 gab es im Leistungskurs eine Aufgabe bei der ein Akzeptor für die Sprache der Sprungbefehle einer Registermaschine als Zustandsdiagramm modelliert werden sollte. Außer den bedingten Sprungbefehlen JZERO und JNZERO gibt es den unbedingten Sprungbefehl GOTO. Die Sprungbefehle haben eine Marke als Parameter:

  • JZERO Marke
  • JNZERO Marke
  • GOTO Marke

Eine Marke ist ein nicht leeres Wort über dem Alphabet aus Groß-, Kleinbuchstaben und Ziffern. Zur vereinfachung sollten Leerzeichen nicht berücksichtigt werden.

Die von der Abiturkommission bereitgestellte Lösung sieht so aus:

Ein Kollege fragte an, ob auch dies eine korrekte Lösung sei:

Bei dieser fehlerhaften Lösung werden zwei Sprachebenen vermischt. Auf der Ebene der Syntaxdiagramme und Grammatiken stellen JZERO, JNZERO und GOTO Terminale dar. Auf der Ebene eines Akzeptors sind es aus Großbuchstaben zusammengesetzte Worte. Zur Definition eines endlichen Automaten gehört dessen Eingabealphabet. Bei der zweiten Lösung müsste das Eingabealphabet außer den Ziffern, Klein- und Großbuchstaben auch JZERO, JNZERO und GOTO als Zeichen enthalten.

Das entspricht nicht der Konzeption von endlichen Automaten. Automaten lesen zeichenweise die Eingabe und können so einzelne Worte wie z.B. Bezeichner, Operatoren und Zahlen erkennen. Zu diesem Zweck werden sie in Compilern als Scanner zur Vorverarbeitung von Programmen eingesetzt.
 
Gerhard Röhner
26.11.2019