faecher:informatik:oberstufe:automaten:lepro:erstellung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
faecher:informatik:oberstufe:automaten:lepro:erstellung:start [22.09.2020 17:15] – angelegt sbelfaecher:informatik:oberstufe:automaten:lepro:erstellung:start [19.05.2022 09:18] – [Kontrolle] sbel
Zeile 1: Zeile 1:
-====== JFLAP – eigeneE Automaten entwerfen ======+====== JFLAP – eigene Automaten entwerfen ======
  
 Nachdem du jetzt schon fertige Automaten mit JFLAP testen kannst, wirst du nun lernen, Nachdem du jetzt schon fertige Automaten mit JFLAP testen kannst, wirst du nun lernen,
Zeile 18: Zeile 18:
 Zustände erzeugt werden können. Zustände erzeugt werden können.
  
-Gehe nun zuerst auf diesen Kreis, um in den Modus Zustand setzen zu wechseln. Gehe+Gehe nun **zuerst auf diesen Kreis**, um in den Modus Zustand setzen zu wechseln. Gehe
 dann auf die weiße Zeichenfläche und klicke auf die linke Maustaste. Schon ist der erste dann auf die weiße Zeichenfläche und klicke auf die linke Maustaste. Schon ist der erste
-Zustand erzeugt, der mit q0 bezeichnet wird. Setze rechts daneben noch drei weitere +Zustand erzeugt, der mit q0 bezeichnet wird. Setze rechts daneben noch **drei weitere 
-Zustände, so dass du schließlich q0 bis q3 gesetzt hast.+Zustände**, so dass du schließlich q0 bis q3 gesetzt hast.
  
-Eigentlich benötigst du aber nur die Zustände q0 und q1. Wechsle deshalb in den LöschModus, indem du den Totenkopf anklickst. Nun kannst du die überflüssigen Zustände q2 +Eigentlich benötigst du aber nur die Zustände q0 und q1. Wechsle deshalb in den **Lösch-Modus**, indem du den Totenkopf anklickst. Nun kannst du die überflüssigen Zustände q2 und q3 durch Anklicken löschen.
-und q3 durch Anklicken löschen.+
  
-Jetzt fehlen noch die Übergänge. Um diese zu zeichnen, musst du in den Modus Übergänge setzen gehen, indem du den länglichen Pfeil anklickst. Setze einen Übergang von +Jetzt fehlen noch die **Übergänge**. Um diese zu zeichnen, musst du in den Modus Übergänge setzen gehen, indem du den länglichen Pfeil anklickst. Setze einen Übergang von q0 zu q1, indem du den Zustand q0 anklickst und die linke Maustaste gedrückt hältst. 
-q0 zu q1, indem du den Zustand q0 anklickst und die linke Maustaste gedrückt hältst. +Ziehe dann die Maus zum Zustand q1 und lasse erst dann die gedrückte Maustaste wieder los. Es erscheint ein Eingabefeld. Klicke dieses an, schreibe eine 0 hinein und drücke Enter.  
-Ziehe dann die Maus zum Zustand q1 und lasse erst dann die gedrückte Maustaste wieder+ 
 +Damit ist dein Übergang gesetzt. Setze analog auch noch den zweiten Übergang. 
 +Falls du irrtümlich einen falschen Übergang setzt, kannst du diesen auch löschen, indem 
 +du in den Lösch-Modus wechselst und den entsprechenden Übergang anklickst. 
 + 
 +Möchtest du einen Übergang von einem Zustand zu einem anderen, der mit **mehreren 
 +Symbolen** beschriftet ist, machen, kannst du einfach mehrere Übergänge zwischen den 
 +beiden Zuständen erzeugen und jeden dieser Übergänge mit einem Symbol beschriften. 
 +Nun kannst du den Automaten noch etwas mehr in die Mitte verschieben. Wechsle dazu 
 +in den Modus normal. Nun kannst du die Zustände anklicken, und während du die Maustaste gedrückt hältst, verschieben. 
 + 
 +Dieser Modus hat noch eine weitere Eigenschaft: Wenn du dich bei der Beschriftung verschrieben hast, kannst du diese in diesem Zustand anklicken und erneut beschriften. 
 + 
 +Außerdem kannst du in dem Modus normal festlegen, dass q0 dein Anfangszustand sein 
 +soll. Klicke dazu mit der rechten Maustaste auf q0. Es erscheint ein Menü. Wähle Initial 
 +(deutsch: Anfangs-) aus. Auf q0 zeigt jetzt ein großer Pfeil. Analog klickst du nun mit der 
 +rechten Maustaste auf q2 und markierst diesen als Endzustand, indem du im Menü auf 
 +Final (deutsch: End-) klickst. 
 +Schon ist dein erster Automat mit JFLAP fertig und kann getestet werden. 
 + 
 +===== Überblick ===== 
 + 
 + 
 +Hier noch einmal ein kurzer Überblick über die verschiedenen Funktionen von JFLAP. 
 + 
 +  * Zustände setzen: Gehe in den Modus Zustand setzen, indem du den Kreisbutton anklickst. Dann kannst du beliebig viele Zustände per Mausklick setzen. 
 +  * Übergänge setzen: In den Modus Übergänge setzen gelangst du, indem du den Button mit dem länglichen Pfeil anklickst. Dann kannst du den Zustand, von dem der Übergang ausgehen soll, anklicken und die Maustaste gedrückt halten. Lass sie erst wieder los, wenn du am Zielzustand angelangt bist. So kannst du auch einen Übergang von einem Zustand zu sich selbst setzen. 
 +  * Zustände/Übergänge löschen: In den Lösch-Modus kommst du, indem du den Totenkopf-Button anklickst. In diesem Modus kannst du die Zustände/Übergänge anklicken, die du löschen willst. 
 +  * Zustände bearbeiten: Klickt man einen Zustand mit der rechten Maustaste an, wird ein Menü angezeigt. Bei weiterhin gedrückter rechter Maustaste können z. B. die folgenden Menüpunkte ausgewählt werden: 
 +    * Initial: Anfangszustand setzen 
 +    * Final: Endzustand setzen 
 +  * Über den Menüpunkt ''File->Save as'' kann das Modell gespeichert werden. 
 + 
 +==== Aufgaben ==== 
 + 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1) Schulausflug reloaded === 
 + 
 +  
 + 
 +Beschäftige dich noch einmal mit dem Schulausflug-Automaten. Lade dir zuerst erneut 
 +den Automaten „Schulausflug“ in dein JFLAP-Programm. Wie du bereits weißt, wollen Anke und Anne auch an dem Ausflug teilnehmen. Ändere den Automaten deshalb so ab, dass er auch Anke und Anne akzeptiert! 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1) Telefonvorwahl === 
 + 
 + 
 + 
 +Erstelle mit JFLAP einen Automaten, der überprüft, ob eine beliebig lange Telefonnummer mit einer Stuttgarter Vorwahl beginnt (0711).  
 + 
 + 
 +==== Kontrolle ==== 
 + 
 +{{:aufgabe.png?nolink  |}} 
 +=== (L1) === 
 + 
 + 
 + 
 +Vervollständige den folgenden Lückentext: 
 +<code> 
 + 
 +Ein Automat ________________ das Eingabewort genau dann, wenn er sich nach dem 
 +Einlesen des ganzen Wortes in einem Endzustand befindet. 
 +Ansonsten ________________ er das Wort nicht. Man sagt auch, der Automat _________ 
 +in diesem Fall das Eingabewort. 
 +</code> 
 + 
 + 
 +----  
 +{{:aufgabe.png?nolink  |}} 
 +=== (L2) === 
 +Betrachte den folgenden Automaten: 
 + 
 +{{ :faecher:informatik:oberstufe:automaten:lepro:erstellung:l1.png?600 |}} 
 + 
 +Welche der folgenden Eingaben akzeptiert der Automat? 
 + 
 +  * aaaaab 
 +  * bcc 
 +  * bccbc 
 +  * aaab 
 +  * bcbab 
 +  * bbaa