Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Automatentheorie (http://www.informatikerboard.de/board/thread.php?threadid=2078)
Geschrieben von Erstsemestler am 17.01.2015 um 11:33:
Automatentheorie
Meine Frage:
Hey Leute,
folgende Aufgabe:
Ein Automat enthält Kugeln mit verschiedenen Spielsachen, jede kostet 2?. Als Bezahlung werden 1?
und 2? Stücke akzeptiert. Alle anderen fallen direkt in den Geldrückgabebereich durch und sind für
den Automaten nicht relevant. Wenn genügend Geld eingeworfen wurde kann man einen
Ausgabeknopf drücken, der den Kauf bestätigt und zur Ausgabe der Kugel führt. Ist mehr Geld als
notwendig im Automaten, so wird dieses ebenfalls zurückgegeben. Berücksichtigen Sie dabei nur die
Fälle 0?, 1?, 2? und 3?. Ist bereits genügend Geld im Automaten, so fallen weitere Geldstücke auch
direkt in den Geldrückgabebereich. Ist zu wenig Geld im Automaten, wenn der Ausgabeknopf
gedrückt wird, so passiert nichts. Der Rückgabeknopf führt zur Rückgabe des eingeworfenen Gelds.
Modellieren Sie diesen Automaten mit Zustandstafel, KV-Diagrammen und minimalen logischen
Ausdrücken für Ausgabe- und Zustandsüberführungsfunktion.
Meine Ideen:
Ich habe jetzt erst einmal die Eingabemenge, Ausgabemenge und Zustandsmenge bestimmt.
Eingabemenge {1?,2?}
Ausgabemenge {K,2?,1?, K+1? }
Zustandsmenge { 0,1,2,3}
Ein Vorschlag meines Diagrammes einmal im Anhang :-)
Geschrieben von eulerscheZahl am 17.01.2015 um 12:03:
Der Rückgabeknopf ist auch eine Eingabe. Aber du kannst keine 3Euro Münze einwerfen, denn die fällt direkt in den Rückgabebereich durch

. Und wenn du 1 Euro reinwirfst, dann hast du nicht 1 Euro Guthaben und bekommst gleichzeitig die Münze wieder (2. Zeile)
Geschrieben von Karlito am 17.01.2015 um 12:14:
Zur besseren Übersicht empfehle ich den Automaten zuerst zu zeichnen...
Gruß,
Karlito
Geschrieben von Erstsemestler am 17.01.2015 um 12:37:

Da ging dann wohl so einiges schief :-)
Eingabemenge wäre dann {1,2,R}
Ausgabemenge {K,2,1,K+1}
Zustandsmenge { 0,1,2,3}
Der Bereich in der Tabelle mit Z_alt stimmt aber soweit?
Geschrieben von Karlito am 17.01.2015 um 13:02:
| Zitat: |
Original von Erstsemestler
Eingabemenge wäre dann {1,2,R}
|
Nö. Die Aufforderung zur Ausgabe ist auch eine Eingabe.
| Zitat: |
Original von Erstsemestler
Ausgabemenge {K,2,1,K+1}
|
Die Ausgabe ist immer eine Kombination aus Münze(n) und Kugeln, wobei beides den Wert 0 annehmen kann.
| Zitat: |
Original von Erstsemestler
Zustandsmenge { 0,1,2,3}
Der Bereich in der Tabelle mit Z_alt stimmt aber soweit?
|
Jo, stimmt (beides).
Was Du hier brauchst ist ein
Mealy-Automat mit einem Tupel als Ausgabe.
Gruß,
Karlito
Geschrieben von Erstsemestler am 17.01.2015 um 15:06:
Dann wäre ja die Eingabemenge
1,2,Ausgabe,Rückgabe
Die Ausgabemege
Rückgabe,Kugel,2,1,Kugel+1 ???
Danke für den Link, wusste ich auch nicht, dass dieser Bereich so heißt.
Geschrieben von eulerscheZahl am 17.01.2015 um 15:24:
Wir können auf 3€ zurückkriegen.
Hier mal ein Bild.
Geschrieben von Erstsemestler am 17.01.2015 um 15:28:
Wow, wo haste denn das so schnell hergezaubert?
Dankeschön ;-)
Geschrieben von eulerscheZahl am 17.01.2015 um 15:31:
Mit graphviz geht das recht einfach. Es gibt sogar online
Übersetzer.
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
digraph {
0[label="0€"]
1[label="1€"]
2[label="2€"]
3[label="3€"]
0 -> 1 [label="1€/0K0€"]
0 -> 2 [label="2€/0K0€"]
1 -> 2 [label="1€/0K0€"]
1 -> 3 [label="2€/0K0€"]
3 -> 0 [label="R/0K3€"]
2 -> 0 [label="R/0K2€"]
1 -> 0 [label="R/0K1€"]
3 -> 0 [label="A/1K1€"]
2 -> 0 [label="A/1K0€"]
} |
|
Forensoftware: Burning Board, entwickelt von WoltLab GmbH