faecher:informatik:oberstufe:automaten:lepro:darstellung: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:darstellung:start [21.09.2020 18:27] – [Eingabealphabet] sbelfaecher:informatik:oberstufe:automaten:lepro:darstellung:start [26.01.2023 08:20] (aktuell) – [Lernfortschrittskontrolle] Marco Kuemmel
Zeile 6: Zeile 6:
 Um Abläufe einheitlich und verständlich mit Hilfe von Automaten darstellen zu können, Um Abläufe einheitlich und verständlich mit Hilfe von Automaten darstellen zu können,
 ist es nötig, eine einheitliche Notation (Zeichen, Symbole, Schreibung) für Automaten zu ist es nötig, eine einheitliche Notation (Zeichen, Symbole, Schreibung) für Automaten zu
-verwenden. Diese lernst du im folgenden Kapitel kennen. Dabei werden die Begriffe Zu- +verwenden. Diese lernst du im folgenden Kapitel kennen. Dabei werden die Begriffe Zustand, Übergang und Eingabe von Automaten erläutert. Außerdem wird das Verhalten
-stand, Übergang und Eingabe von Automaten erläutert. Ausserdem wird das Verhalten+
 von Automaten auf Aktionen genauer betrachtet. von Automaten auf Aktionen genauer betrachtet.
  
Zeile 44: Zeile 43:
 Noch einmal zurück zu dem Parkscheinautomaten, vor dem Laura und Manfred stehen: Noch einmal zurück zu dem Parkscheinautomaten, vor dem Laura und Manfred stehen:
  
-{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:pa01.png?800 |}}+{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:pa01.png?900 |}}
  
 Beschriftet man die Zustände und Übergänge ein wenig anders, sieht das Ganze so aus: Beschriftet man die Zustände und Übergänge ein wenig anders, sieht das Ganze so aus:
Zeile 67: Zeile 66:
 anderen Automaten geschaffen wird und so generelle Aussagen und allgemeine Betrachtungen möglich sind. anderen Automaten geschaffen wird und so generelle Aussagen und allgemeine Betrachtungen möglich sind.
  
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
  
-=== Aufgabe === 
    
 Eine einfache Supermarktkasse funktioniert folgendermaßen: Eine einfache Supermarktkasse funktioniert folgendermaßen:
Zeile 78: Zeile 79:
 {{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:kasse01.png?600 |}} {{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:kasse01.png?600 |}}
  
-Ordne die verschiedenen Zustände der Kasse und die Aktionen des Kassierers/der Kas- +Ordne die verschiedenen Zustände der Kasse und die Aktionen des Kassierers/der Kassiererin den Zuständen und Übergängen der Skizze zu. 
-siererin den Zuständen und Übergängen der Skizze zu. +
  
 Vergleiche die Kasse mit dem Parkautomaten. Vergleiche die Kasse mit dem Parkautomaten.
Zeile 85: Zeile 85:
 ====== Besondere Zustände ====== ====== Besondere Zustände ======
  
-Dir ist vielleicht schon aufgefallen, dass viele Automaten am "ersten" Zustand einen Pfeil mit der Beschriftung "Start" haben. Dieser Zustand wird auch **Startzustand** genannt. Komplementär zum Startzustand gibt noch einen weiteren "besonderen" Zustand: den **Endzustand**. Dieser wird im Allgemeinen durch einen doppelten Kreis gekennzeichnet. Ein Automat kann auch mehrere Endzustände haben. Auf die besondere Bedeutung von Endzuständen gehen wir später näher ein.+Dir ist vielleicht schon aufgefallen, dass viele Automaten am "ersten" Zustand einen <color green/lightgrey>Pfeil mit der Beschriftung "Start"</color> haben. Dieser Zustand wird auch <color green/lightgrey>**Startzustand**</color> genannt. Komplementär zum Startzustand gibt noch einen weiteren "besonderen" Zustand: den <color green/lightgrey>**Endzustand**</color>. Dieser wird im Allgemeinen durch einen <color green/lightgrey>doppelten Kreis</color> gekennzeichnet. Ein Automat kann auch mehrere Endzustände haben. Auf die besondere Bedeutung von Endzuständen gehen wir später näher ein.
  
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A2) ===
  
-=== Aufgabe === 
  
 Benenne die Start- und Endzustände der folgenden zwei Automaten: Benenne die Start- und Endzustände der folgenden zwei Automaten:
  
-{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:auswahl_728.png?600 |}}+{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:auswahl_728.png?800 |}}
  
-=== Aufgabe ===+---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A3) ===
  
 Die Supermarktkasse von oben hat die folgenden Zustände und Übergänge. Die Supermarktkasse von oben hat die folgenden Zustände und Übergänge.
Zeile 116: Zeile 120:
  
 Wie eingangs beschrieben, reagiert ein Automat auf //Aktionen//. So wechselt der Parkscheinautomat zum Wie eingangs beschrieben, reagiert ein Automat auf //Aktionen//. So wechselt der Parkscheinautomat zum
-Beispiel beim Einwurf von 5Cent den Zustand. Eine //Folge von Aktionen// wird **Eingabe** genannt. +Beispiel beim Einwurf von 5Cent den Zustand. <color green/lightgrey>Eine //Folge von Aktionen// wird **Eingabe** genannt</color>
  
 So sind die Aktionen: So sind die Aktionen:
Zeile 150: Zeile 154:
  
 Die Eingabe ''bbb'' hingegen kann der Automat nicht verarbeiten, da es vom Zustand q3 aus keinen Übergang gibt, der mit ''b'' beschriftet ist! Die Eingabe ''bbb'' hingegen kann der Automat nicht verarbeiten, da es vom Zustand q3 aus keinen Übergang gibt, der mit ''b'' beschriftet ist!
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A4) ===
  
-=== Aufgabe === 
  
 Wie reagiert der Automat oben auf die folgenden Eingaben? Wie reagiert der Automat oben auf die folgenden Eingaben?
Zeile 160: Zeile 166:
   caaaa   caaaa
  
-====== Eingabealphabet ======+===== Eingabealphabet =====
  
 Wie bereits erwähnt, können Eingaben sehr unterschiedlich sein. Deswegen ist es nötig, zu jedem Automaten anzugeben, aus welchen Zeichen (z. B. Buchstaben) die Sprache besteht, die er versteht. Die Menge dieser Zeichen wird **Eingabealphabet** genannt. So ist das Eingabealphabet des Automaten aus dem Beispiel oben ''{a, b, c}''. Das Eingabealphabet muss natürlich nicht aus Buchstaben bestehen, es kann sich auch aus ganzen Wörtern, Sätzen oder Zahlen, Knopfdrücken oder Touchscreengesten zusammensetzen. Wie bereits erwähnt, können Eingaben sehr unterschiedlich sein. Deswegen ist es nötig, zu jedem Automaten anzugeben, aus welchen Zeichen (z. B. Buchstaben) die Sprache besteht, die er versteht. Die Menge dieser Zeichen wird **Eingabealphabet** genannt. So ist das Eingabealphabet des Automaten aus dem Beispiel oben ''{a, b, c}''. Das Eingabealphabet muss natürlich nicht aus Buchstaben bestehen, es kann sich auch aus ganzen Wörtern, Sätzen oder Zahlen, Knopfdrücken oder Touchscreengesten zusammensetzen.
 +
 +<WRAP center round important 60%>
 +Das **Eingabealphabet** eines Automaten ist die Menge an Zeichen (Buchstaben,
 +Zahlen, Wörter, Symbole), auf die der Automat reagieren kann.
 +</WRAP>
 +
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A5) ===
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:aufgabe1.png?600 |}}
 +
 +Nenne den Startzustand, den Endzustand und das Eingabealphabet dieses Automaten.
 +
 +Beschreibe außerdem, wie der Automat sich auf die Eingaben ''1111'', ''1100'' bzw.
 +''1001'' verhält.
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A6) ===
 +
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:aufgabe2.png?600 |}}
 +
 +Nenne auch den Startzustand, die Endzustände und das Eingabealphabet dieses Automaten. Beschreibe außerdem das Verhalten des Automaten auf die folgenden drei Eingaben:
 +
 +  Kartoffelsalat
 +  Salat
 +  Nudelsalat
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (Zusatz-A1) Java ===
 +
 +
 +In dieser Zusatzaufgabe schreibst du am Computer ein Programm, das einen Automaten simuliert. Das Programm soll ausgeben, in welchem Zustand sich der Automat nach Bearbeitung einer bestimmten Eingabe befindet.
 +
 +Betrachte erneut den folgenden Automaten:
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:aufgabe1.png?600 |}}
 +
 +Das Eingabealphabet ist die Menge {0, 1}.
 +
 +Du sollst nun ein Javaprogramm schreiben, das diesen Automaten simuliert.
 +
 +Lege dir dazu ein Integer-Array an, in dem die Eingabe gespeichert wird. Die Eingabe kannst
 +du in dem Programm vorgeben, z. B. durch ''int[] eingabe = {1, 0, 0, 1};''
 +
 +Dein Programm soll nun ausgeben, in welchem Zustand sich der Automat befindet, nachdem er die Eingabe vollständig abgearbeitet hat.
 +
 +===== Lernfortschrittskontrolle =====
 +
 +{{:aufgabe.png?nolink  |}}
 +=== (L1) ===
 +
 +Bestimme die Start- und Endzustände des folgenden Automaten
 +
 +{{ :faecher:informatik:oberstufe:automaten:lepro:darstellung:lfk01.png |}}
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (L2) ===
 +
 +Fülle folgenden Lückentext aus:
 +<code>
 +Ein Automat setzt sich aus ____________ und _______________ zusammen. Es gibt un-
 +terschiedliche Arten von Zuständen. Einer der „besonderen“ Zustände wird mit einem
 +Pfeil gekennzeichnet; diesen Zustand nennt man _________________________. Ein
 +weiterer „besonderer“ Zustand wird dagegen mit einem doppelten Kreis gekennzeich-
 +net; hierbei handelt es sich um den _______________________________.
 +Ein festgelegtes Schema gibt vor, wann ein Automat von einem _______________ in
 +einen anderen ________________ übergeht. Allgemein sagt man, dass der Automat
 +eine _______________ aus dem _____________________ verarbeitet.
 +</code>
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (L3) ===
 +
 +Betrachte noch einmal den Automaten der Lernfortschrittskontrolle (L1) oben.
 +
 +In welchem Zustand befindet sich der Automat nach Bearbeitung der folgenden Eingaben?
 +
 +  - abcbb
 +  - abcbcbbb
 +
 +Setze die folgenden Zeichenketten so fort, dass sich der Automat nach Bearbeitung der Zeichenkette in einem Endzustand befindet. Wähle dabei immer die kürzeste Möglichkeit.
 +
 +  - a
 +  - abc
 +  - abb
  • faecher/informatik/oberstufe/automaten/lepro/darstellung/start.1600712867.txt.gz
  • Zuletzt geändert: 21.09.2020 18:27
  • von sbel