faecher:informatik:oberstufe:automaten:lepro:jflap01:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:automaten:lepro:jflap01:start [22.09.2020 13:05] – [Möglichkeit 2: Mehrere Eingaben verarbeiten] sbelfaecher:informatik:oberstufe:automaten:lepro:jflap01:start [10.01.2025 12:19] (aktuell) – [Übungen mit Simulationsprogrammen] Marco Kuemmel
Zeile 1: Zeile 1:
 +====== Übungen mit Simulationsprogrammen ======
  
-====== Übungen mit JFLAP ======+Nun wirst du dich mit der Simulation von Automaten beschäftigen. Hier werden zwei Möglichkeiten beschrieben, das zu machen:  
 + 
 +  * Das Java Programm [[https://www.jflap.org/jflaptmp/|JFLAP]] 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. ([[https://www.jflap.org/jflaptmp/|Download]](({{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:graphensimulator.zip |Lokale Sicherungskopie}}))) 
 +  * Alternativ kannst du das Online-Tool Flaci verwenden https://flaci.com/
  
-Nun wirst du dich mit der Simulation von Automaten beschäftigen. Das Programm [[http://www.jflap.org/|JFLAP]] 
-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 =====
 +<tabs>
 +  * [[#flaci|Flaci]]
 +  * [[#jflap|JFLAP]]
 +
 +<pane id="flaci">
 +FLACI https://flaci.com/home/ ist ein Forschungs- und Entwicklungsprojekt der Pädagogischen Hochschule Schwyz und der Hochschule Zittau/Görlitz. Du kannst die Online-werkzeuge ohne Registrierung benutzen, erstellte Automaten kannst du dann z.B. herunterladen. Wenn du ein Konto erstellst, wird deine Arbeit in der Cloud bei Flaci gespeichert.
 +
 +FLACI besteht aus mehreren Modulen, wir beginnen mit dem Modul "Abstrakte Automaten":
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:2024-10-16_09-30.png?400 |}}
 +
 +Mit dem Plus Zeichen unten rechts kannst du neue Automaten erstellen, oben rechts kannst du bei Klick auf den Ordner einen Automaten "hochladen"
 +
 +Lade den folgenden Automaten für die Klassenfahrt hoch: {{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:automaton_klassenfahrt.zip |}} Achtung: Du musst die Datei zuerst entpacken, ZIP-Dateien werden nicht akzeptiert.
 +
 +Jetzt kannst du mit der Funktion "Simulation starten" testen, wie sich der Automat bei verschiedenen Eingaben verhält:
  
 +{{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:2024-10-16_09-50.png?600 |}}
 +</pane>
 +<pane id="jflap"> 
 JFLAP kommt als ''.jar''-Datei, diese kann man auf einer Konsole ausführen mit ''java -jar JFLAP7.1.jar''. JFLAP kommt als ''.jar''-Datei, diese kann man auf einer Konsole ausführen mit ''java -jar JFLAP7.1.jar''.
  
Zeile 39: Zeile 60:
 {{ .:step.png |}} {{ .:step.png |}}
  
-Starte nun auf gleiche Weise den Automaten einmal mit der Eingabe ''Anke'' und+Starte nun auf gleiche Weise den Automaten einmal mit der Eingabe ''Anka'' und
 einmal mit der Eingabe ''Andreas''. Dabei wirst du feststellen, dass der Automat einmal mit der Eingabe ''Andreas''. Dabei wirst du feststellen, dass der Automat
-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 ''q8'', egal wie oft der Step-Button jetzt noch gedrückt wird.+sich bei der Eingabe Anka grün färbt; die Eingabe wird also akzeptiert. Die Eingabe Andreas kann der Automat dagegen nicht verarbeiten. Deshalb stoppt er bei ''q7'', egal wie oft der Step-Button jetzt noch gedrückt wird.
  
 ==== Möglichkeit 2: Mehrere Eingaben verarbeiten ==== ==== Möglichkeit 2: Mehrere Eingaben verarbeiten ====
  
-Es werden mehrere Eingaben gleichzeitig getestet. Gehe dazu auf ''Input->Multiple Run''Hier kannst du mehrere Eingaben in die Tabelle eintragen((Enter erzeugt eine neue Zeile)), dann die Schaltfläche ''Run Inputs'' betätigenum die Ergebnisse angezeigt zu bekommen.+Es werden mehrere Eingaben gleichzeitig getestet. Gehe dazu auf ''Input->Multiple Run'' 
 + 
 +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 ''Run-Inputs''-Button werden deine Eingaben ausgewertet. 
 + 
 +Die Auswertungob 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. 
 + 
  
 {{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:multi.png |}} {{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:multi.png |}}
 +</pane>
 +</tabs>
 +==== Aufgaben ====
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
 +
 +
 +Überprüfe mit Hilfe von JFLAP, ob der Schulausflug-Automat folgende Eingaben akzeptiert:
 +
 +  * Anton
 +  * Anika
 +  * Andre
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (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. 
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:jflap01:ungerade.png |}}
 +
 +Beachte dabei, dass eine Binärzahl genau dann gerade ist, wenn das letzte Bit eine 0 ist((Begründe!?)) Ist das letzte
 +Bit eine 1, so ist die Zahl ungerade.
 +
 +Erstelle den Automat in der Simulationssoftware((IN FLACI musst du einen "NEA" erstellen)) und teste das Akzeptanzverhalten des Automaten "ungerade" für die folgenden Eingaben:
 +
 +  - 0010
 +  - 1000101
 +  - 1000000
  
  • faecher/informatik/oberstufe/automaten/lepro/jflap01/start.1600779929.txt.gz
  • Zuletzt geändert: 22.09.2020 13:05
  • von sbel