Benutzer-Werkzeuge

Webseiten-Werkzeuge


states:examples:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
states:examples:start [2021/01/31 15:45] – [1b) Zustandsübergangstabelle] Martin Pabststates:examples:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
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" einfach nur "a".+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 grün leuchtet!+**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. 
  
 {{ :states:examples:pasted:20210131-151845.png?600 }} {{ :states:examples:pasted:20210131-151845.png?600 }}
Zeile 9: Zeile 18:
 [[.automat1:loesung:start|Hier geht's zur Lösung!]] [[.automat1:loesung:start|Hier geht's zur Lösung!]]
  
-===== 1a) Umsetzung als Java-Programm =====+===== 1b) Umsetzung als Java-Programm ===== 
 +{{ youtube>fP_4PMzADmE?large }}
 <HTML> <HTML>
  
Zeile 41: Zeile 51:
    void verarbeiteWort(String wort) {    void verarbeiteWort(String wort) {
       zustand = "rot";       zustand = "rot";
 +      
 +      // i zählt von 0 bis zur Länge des Wortes - 1
       for(int i = 0; i < wort.length(); i++) {       for(int i = 0; i < wort.length(); i++) {
-         String buchstabe = wort.charAt(i);+ 
 +         String buchstabe = wort.charAt(i);     // Hole den i-ten Buchstaben (i == 0 ist der erste, i == 2 der zweite, ...) 
 +      
          if(buchstabe == "a") {          if(buchstabe == "a") {
             tasteADrücken();             tasteADrücken();
Zeile 62: Zeile 76:
  
  
-===== 1b) Zustandsübergangstabelle =====+===== 1c) Zustandsübergangstabelle =====
 Erstelle die Zustandsübergangstabelle! \\ \\  Erstelle die Zustandsübergangstabelle! \\ \\ 
 [[.automat1:tabelle:start|Hier geht's zur Lösung!]] [[.automat1:tabelle:start|Hier geht's zur Lösung!]]
  
-===== 2. Baue selbst einen Automaten! ===== +===== 2a. Baue selbst einen Automaten! ===== 
-Zeichne das Zustandsdiagramm einer Maschine wie bei Aufgabe 4, deren Licht genau dann grün leuchtet, wenn das Wort mit einer geraden Anzahl von a‘s endet. +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. 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!
  
-[[.automat2:programm:start|Hier geht's zur Lösung!]]+[[.automat2a:loesung:start|Hier geht's zur Lösung!]] 
 + 
 +===== 2c. Zustandsübergangstabelle ===== 
 +Erstelle die Zustandsübergangstabelle! 
 + 
 +[[.automat2b:loesung:start|Hier geht's zur Lösung!]]
  
  
states/examples/start.1612104353.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki