Benutzer-Werkzeuge

Webseiten-Werkzeuge


states:examples:start

Zustandsübergangsdiagramme - weitere Beispiele

1a. Geheimnisvoller Automat

Eine Maschine besitzt zwei Tasten a und b, mit denen man Wörter eingeben kann, sowie eine Lampe, die rot, blau, gelb oder grün leuchtet. Unten siehst Du das Zustandsdiagramm der Maschine. Da alle auslösenden Ereignisse gleichartig sind (Drücken einer Taste) schreiben wir statt „Taste a drücken“ einfach nur „a“ und statt „Taste b drücken“ einfach nur „b“.

Aufgabe: Beschreibe auf möglichst einfache Art, bei welchen Wörtern die Lampe nach Eingabe des Wortes grün leuchtet!

Beispiele:

  • aabaa ⇒ Nach Eingabe des Wortes leuchtet die Lampe blau
  • abaab ⇒ Nach Eingabe des Wortes leuchtet die Lampe gelb
  • abb ⇒ Nach Eingabe des Wortes leuchtet die Lampe rot
  • aabb ⇒ Nach Eingabe des Wortes leuchtet die Lampe rot
  • aababa ⇒ Nach Eingabe des Wortes leuchtet die Lampe grün
  • usw.

Hier geht's zur Lösung!

1b) Umsetzung als Java-Programm

1c) Zustandsübergangstabelle

Erstelle die Zustandsübergangstabelle!

Hier geht's zur Lösung!

2a. Baue selbst einen Automaten!

Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe 1, deren Licht genau dann grün leuchtet, wenn das Wort mit einer geraden Anzahl von a‘s endet. Ein Wort, das mit 0 a‘s endet, soll nicht zum Aufleuchten des grünen Lichts führen.

Hier geht's zur Lösung!

2b. Umsetzung als Java-Programm

Setze den in Aufgabe 2 gebauten Automaten in ein Java-Programm um. Gerne kannst Du dafür eine Kopie des Programms aus Aufgabe 1a als Grundlage verwenden!

Hier geht's zur Lösung!

2c. Zustandsübergangstabelle

Erstelle die Zustandsübergangstabelle!

Hier geht's zur Lösung!

3. "Sternchenaufgabe": Teilbarkeitschecker

Zeichne das Zustandsdiagramm einer Maschine mit zwei Tasten 1 und 2, mit Hilfe derer man beliebige Dezimalzahlen eingeben kann, die nur die Ziffern 1 und 2 besitzen. Die Maschine soll einen Zustand „teilbar durch 3“ besitzen, der genau dann erreicht wird, wenn die entstandene Dezimalzahl durch 3 teilbar ist.

Bemerkung: Ist noch nichts eingegeben, so ist dies als 0 zu werten und damit auch durch 3 teilbar.

Hier geht's zur Lösung!

states/examples/start.txt · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1