Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
faecher:informatik:oberstufe:automaten:lepro:jflap01:start [22.09.2020 15:01] – [Erster Start] sbel | faecher:informatik:oberstufe:automaten:lepro:jflap01:start [19.05.2022 09:16] – [Möglichkeit 2: Mehrere Eingaben verarbeiten] sbel | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Nun wirst du dich mit der Simulation von Automaten beschäftigen. Das Programm [[http:// | Nun wirst du dich mit der Simulation von Automaten beschäftigen. Das Programm [[http:// | ||
- | ermöglicht dir, Automaten zu entwerfen und ihr Akzeptanzverhalten zu testen. Im folgenden Beispiel lernst du, JFLAP selber zu bedienen. Vollziehe die im Beispiel beschriebenen Schritte nach, um den Umgang mit dem Programm zu lernen. | + | ermöglicht dir, Automaten zu entwerfen und ihr Akzeptanzverhalten zu testen. Im folgenden Beispiel lernst du, JFLAP selber zu bedienen. Vollziehe die im Beispiel beschriebenen Schritte nach, um den Umgang mit dem Programm zu lernen. |
===== Erster Start ===== | ===== Erster Start ===== | ||
Zeile 26: | Zeile 27: | ||
Jetzt sollst du das Verhalten des Automaten testen. JFLAP bietet dafür zwei Möglichkeiten: | Jetzt sollst du das Verhalten des Automaten testen. JFLAP bietet dafür zwei Möglichkeiten: | ||
- | ==== Möglichkeit 1: ==== | + | ==== Möglichkeit 1: Eine Eingabe schrittweise verarbeiten==== |
Zeile 36: | Zeile 37: | ||
Dann öffnet sich ein Fenster, in dem du das Verhalten des Automaten schrittweise nachvollziehen kannst, indem | Dann öffnet sich ein Fenster, in dem du das Verhalten des Automaten schrittweise nachvollziehen kannst, indem | ||
du auf den Button '' | du auf den Button '' | ||
+ | Möglichkeit 2: Mehrere Eingaben verarbeiten | ||
{{ .:step.png |}} | {{ .:step.png |}} | ||
Zeile 42: | Zeile 43: | ||
einmal mit der Eingabe '' | einmal mit der Eingabe '' | ||
sich bei der Eingabe Anke grün färbt; die Eingabe wird also akzeptiert. Die Eingabe Andreas kann der Automat dagegen nicht verarbeiten. Deshalb stoppt er bei '' | sich bei der Eingabe Anke grün färbt; die Eingabe wird also akzeptiert. Die Eingabe Andreas kann der Automat dagegen nicht verarbeiten. Deshalb stoppt er bei '' | ||
+ | |||
+ | ==== Möglichkeit 2: Mehrere Eingaben verarbeiten ==== | ||
+ | |||
+ | Es werden mehrere Eingaben gleichzeitig getestet. Gehe dazu auf '' | ||
+ | |||
+ | Das Fenster wird in zwei Unterfenster geteilt. Auf der linken Seite siehst du weiterhin deinen Automaten. Auf der rechten Seite erscheint eine Input- und eine Result- Spalte. In der Input-Spalte kannst du nun untereinander mehrere Eingaben eintragen. Jede Eingabe beendest du mit einem Return. | ||
+ | |||
+ | Gebe nun in die Input-Spalte die Eingaben Anna, Andrea, Andreas und Anke ein. Durch das Klicken auf den '' | ||
+ | |||
+ | Die Auswertung, ob dein Automat die Eingaben akzeptiert oder nicht, kannst du | ||
+ | in der Result-Spalte ablesen. Steht dort Accept, so akzeptiert der Automat die | ||
+ | entsprechende Eingabe. Steht dort Reject, so akzeptiert der Automat die Eingabe | ||
+ | nicht, sondern verwirft sie. | ||
+ | |||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Aufgaben ==== | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | |||
+ | Überprüfe mit Hilfe von JFLAP, ob der Schulausflug-Automat folgende Eingaben akzeptiert: | ||
+ | |||
+ | * Anton | ||
+ | * Anika | ||
+ | * Andre | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | Nun eine etwas theoretischere Aufgabe. Wie du weißt, werden Zahlen im Rechner als Binärzahlen abgespeichert. Das heißt, jede Zahl wird mit Hilfe von Nullen und Einsen codiert. Mit dem folgenden Automaten lässt sich testen, ob eine binär codierte Zahl gerade oder ungerade ist, denn dieser Automat akzeptiert nur ungerade Zahlen. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Beachte dabei, dass eine Binärzahl genau dann gerade ist, wenn das letzte Bit eine 0 ist((Begründe!? | ||
+ | Bit eine 1, so ist die Zahl ungerade. | ||
+ | |||
+ | Teste das Akzeptanzverhalten des Automaten „ungerade“ von Hand für die folgenden Eingaben: | ||
+ | |||
+ | - 0010 | ||
+ | - 1000101 | ||
+ | - 1000000 | ||
+ |