Einstieg
Tor oder kein Tor?
Auf dieser Seite lernst du einen Akzeptor kennen, der Torjubel erkennt. Der reguläre Ausdruck to+r
soll dabei die formale Sprache der Torjubel definieren. Beispiele für Wörter dieser Sprache wären somit tor
, tooor
oder tooooooor
. Dagegen sind nach dieser Definiton torr
, tooro
oder ttooor
keine Torjubel.
In der Simulation siehst du den Akzeptor für diese Sprache. Das Zustandsdiagramm des Akzeptors besitzt vier Zustände (Z0 bis Z3) und Pfeile für die Zustandsübergänge, an denen Eingabezeichen stehen.
Aufgabe 1 - Torjubel
Teste den Akzeptor, in dem du in der Simulation unten einen Torjubel eingibst und anschließend auf den Pfeil klickst. Nun kannst du die Abarbeitung des Eingabeworts schrittweise ausführen.
Beobachte die Ausführung bei verschiedenen Eingabewörtern (toor
, tro
, torr
...) und beantworte dabei die folgenden Fragen:
- Wo sehe ich, welche Eingabezeichen erlaubt sind?
- Woran erkenne ich den Zustand, in dem der Akzeptor beginnt?
- Was passiert in einem Arbeitsschritt des Automaten?
- Wie lange arbeitet der Akzeptor?
- Wann und wie entscheidet der Automat, ob eine Eingabe akzeptiert wird?
Jetzt hast du erste Erfahrungen mit Akzeptoren gemacht und kannst einen Automaten in der Simulation teilweise selbst definieren. Du kannst deinen Automaten am Ende i der Simulation lokal speichern oder mit dem Teilen-Symbol durch einen Code für alle zugänglich machen.
Aufgabe 2 - Lachlaute
In der Simulation siehst du einen Akzeptor, der die formale Sprache der Lachlaute erkennen soll. Lachlaute sind z.B.
ha
oder hahaha
und werden mit dem regulären Ausdruck (ha)+
definiert.
- Teste den Akzeptor mit den Wörtern
ha
undaha
. - Teste nun mit
hh
und ergänze den fehlenden Zustandsübergang (Schaltfläche: Pfeil mit Pluszeichen). - Ergänze den passenden Übergang, damit das Wort
haha
akzeptiert wird. Überlege dir dabei genau, in welchen Zustand der Akzeptor wechseln muss, wenn im Zustand Z2 ein "h" eingelesen wird. Teste anschließend auch mit der Eingabehahaha
. - Kontrolliere mithilfe der Schaltfläche "Prüfen" (Pfeil mit Fragezeichen) ob es noch weitere fehlende Zustandsübergänge gibt und ergänze sie gegebenenfalls.
Aufgabe 3 - Ich denke nach ...
Die formale Sprache des lauten Nachdenkens soll alle Wörter vom kurzen Überlegen ("hm
") bis zum Nachdenken ohne Ende ("hmmmmmmmmm
" usw.) enthalten.