states:examples:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
states:examples:start [2021/01/31 15:55] – [2a. Umsetzung als Java-Programm] Martin Pabst | states:examples:start [2021/02/06 17:27] – Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Zustandsübergangsdiagramme - weitere Beispiele ====== | ====== Zustandsübergangsdiagramme - weitere Beispiele ====== | ||
- | ===== 1. Geheimnisvoller Automat ===== | + | ===== 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" | + | 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" |
\\ \\ | \\ \\ | ||
- | **Aufgabe: | + | **Aufgabe: |
+ | \\ \\ | ||
+ | **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. | ||
{{ : | {{ : | ||
Zeile 9: | Zeile 18: | ||
[[.automat1: | [[.automat1: | ||
- | ===== 1a) Umsetzung als Java-Programm ===== | + | ===== 1b) Umsetzung als Java-Programm ===== |
+ | {{ youtube> | ||
< | < | ||
Zeile 41: | Zeile 51: | ||
void verarbeiteWort(String wort) { | void verarbeiteWort(String wort) { | ||
zustand = " | zustand = " | ||
+ | | ||
+ | // i zählt von 0 bis zur Länge des Wortes - 1 | ||
for(int i = 0; i < wort.length(); | for(int i = 0; i < wort.length(); | ||
- | String buchstabe = wort.charAt(i); | + | |
+ | String buchstabe = wort.charAt(i); | ||
+ | | ||
| | ||
tasteADrücken(); | tasteADrücken(); | ||
Zeile 62: | Zeile 76: | ||
- | ===== 1b) Zustandsübergangstabelle ===== | + | ===== 1c) Zustandsübergangstabelle ===== |
Erstelle die Zustandsübergangstabelle! \\ \\ | Erstelle die Zustandsübergangstabelle! \\ \\ | ||
[[.automat1: | [[.automat1: | ||
- | ===== 2. Baue selbst einen Automaten! ===== | + | ===== 2a. Baue selbst einen Automaten! ===== |
- | Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe | + | Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe |
Ein Wort, das mit 0 a‘s endet, soll nicht zum Aufleuchten des grünen Lichts führen. | Ein Wort, das mit 0 a‘s endet, soll nicht zum Aufleuchten des grünen Lichts führen. | ||
Zeile 73: | Zeile 87: | ||
- | ===== 2a. Umsetzung als Java-Programm ===== | + | ===== 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! | 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! | ||
[[.automat2a: | [[.automat2a: | ||
+ | |||
+ | ===== 2c. Zustandsübergangstabelle ===== | ||
+ | Erstelle die Zustandsübergangstabelle! | ||
+ | |||
+ | [[.automat2b: | ||
states/examples/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1