Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
faecher:informatik:oberstufe:automaten:lepro:darstellung:start [21.09.2020 20:27] – [Eingaben] sbel | faecher:informatik:oberstufe:automaten:lepro:darstellung:start [19.05.2022 08:00] – sbel | ||
---|---|---|---|
Zeile 67: | Zeile 67: | ||
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. | ||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
- | === Aufgabe === | ||
Eine einfache Supermarktkasse funktioniert folgendermaßen: | Eine einfache Supermarktkasse funktioniert folgendermaßen: | ||
Zeile 85: | Zeile 87: | ||
====== Besondere Zustände ====== | ====== Besondere Zustände ====== | ||
- | Dir ist vielleicht schon aufgefallen, | + | Dir ist vielleicht schon aufgefallen, |
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
- | === Aufgabe === | ||
Benenne die Start- und Endzustände der folgenden zwei Automaten: | Benenne die Start- und Endzustände der folgenden zwei Automaten: | ||
Zeile 94: | Zeile 98: | ||
{{ : | {{ : | ||
- | === Aufgabe | + | ---- |
+ | {{: | ||
+ | === (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 122: | ||
Wie eingangs beschrieben, | Wie eingangs beschrieben, | ||
- | Beispiel beim Einwurf von 5Cent den Zustand. Eine //Folge von Aktionen// wird **Eingabe** genannt. | + | Beispiel beim Einwurf von 5Cent den Zustand. |
So sind die Aktionen: | So sind die Aktionen: | ||
Zeile 150: | Zeile 156: | ||
Die Eingabe '' | Die Eingabe '' | ||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
- | === Aufgabe === | ||
Wie reagiert der Automat oben auf die folgenden Eingaben? | Wie reagiert der Automat oben auf die folgenden Eingaben? | ||
Zeile 160: | Zeile 168: | ||
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 '' | + | 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 '' |
+ | |||
+ | <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. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A5) === | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nenne den Startzustand, | ||
+ | |||
+ | Beschreibe außerdem, wie der Automat sich auf die Eingaben '' | ||
+ | '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) === | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nenne auch den Startzustand, | ||
+ | |||
+ | Kartoffelsalat | ||
+ | Salat | ||
+ | Nudelsalat | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (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: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 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 '' | ||
+ | |||
+ | Dein Programm soll nun ausgeben, in welchem Zustand sich der Automat befindet, nachdem er die Eingabe vollständig abgearbeitet hat. Die Länge der Eingabe kannst du ebenfalls in deinem Programm selbst festsetzen, so dass sie mit der Länge des Eingabefeldes | ||
+ | übereinstimmt. Im Beispiel oben also: '' | ||
+ | |||
+ | ===== Lernfortschrittskontrolle ===== | ||
+ | |||
+ | **(1)** Bestimme die Start- und Endzustände des folgenden Automaten | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | **(2)** Fülle folgenden Lückentext aus: | ||
+ | < | ||
+ | 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; | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | **(3)** Betrachte noch einmal den Automaten der Lernfortschrittskontrolle (1) oben. | ||
+ | |||
+ | In welchem Zustand befindet sich der Automat nach Bearbeitung der folgen- | ||
+ | den 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 |