Frage zu deterministischem Automaten
-
Hallo,
ich habe hier eine Aufgabe vorliegen, wo ich nicht weiß, wie der Automat das Geld wieder zurückgeben soll:Das Hotel Zur ruhigen Nacht bietet einen Kundenparkplatz an, dessen Benutzung 5 € pro Übernachtung kostet. Entwerfen Sie einen endlichen deterministischen Automaten, der den Parkscheinautomaten simuliert. Dabei soll gelten:
- Der Automat akzeptiert nur Münzen im Wert von 1 und 2 € sowie 5€ - Scheine.
- Falls der Kunde zuviel Geld eingeworfen hat, muß das Rückgeld ausgegeben werden.Wie soll das aussehen, dass der Automat das Rückgeld wieder zurückgeben soll?
Soll der Automat etwa wieder über mehrere Zustände zum Ursprungszustand zurück?Danke im Voraus!
L. G.
Steffo
-
Glueck verschenken, selber denken. Es ist total nervig, wenn du deine Hausaufgaben regelmaessig hier erledigen laesst. Darueber hinaus wird die Aufgabe im Rahmen eines Vorlesungskontextes gestellt. Der ist hier leider unbekannt.
Ansonsten:
Wie soll das aussehen, dass der Automat das Rückgeld wieder zurückgeben soll?
Schon mal einen Fahrscheinautomaten benutzt? Genau so soll es gehen.
Soll der Automat etwa wieder über mehrere Zustände zum Ursprungszustand zurück?
Soll mehr als eine Fahrkarte verkauft werden? Ja!
-
Das ist keine Hausaufgabe, sondern eine Aufgabe aus einer Klausur.
Schon mal einen Fahrscheinautomaten benutzt? Genau so soll es gehen.
Mir geht es beim Automaten zwischen der Unterscheidung Geld eingeworfen/Geld zurückgeben.
So eine Aufgabe sehe ich auch zum ersten mal und der Kontext ist mir genauso wenig bekannt wie dir.
-
Das ist keine Hausaufgabe, sondern eine Aufgabe aus einer Klausur.
Oh je, Lehramtsstudent ???
Wie soll das aussehen, dass der Automat das Rückgeld wieder zurückgeben soll?
Soll der Automat etwa wieder über mehrere Zustände zum Ursprungszustand zurück?Eine Aussage die mich ein wenig zweifeln lässt, da du hier an einen Zustandsdiagramm denkst.
Aufgabe:
Liste mal alle möglichen Zustände auf.
-
Ne, kein Lehramtstudent, einfach nur Informatikstudent...
Wir sollen das auch nicht mit einem UML-Zustandsdiagramm machen, ich rede hier von theoretischer Informatik.
Grafisch kann ich das schlecht aufmalen, deshalb mal tabellarisch.Eingaben Zustand | 1 | 2 | 5 | q0 | q1 q2 q5 q1 | q0 q0 q5 q2 | q0 q0 q5 q5 | q0 q0 q5
Gelesen wird das so: Beispiel 1 Zeile: Wenn man im Zustand q0 ist und es wird ein Euro eingeworfen, dann wechselt man in den Zustand q1, bei 2 Euro in q2 und 5 Euro in q5. Nun kann man von diesen Zuständen aus wieder in den Anfangszustand wechseln, wenn von dort aus wieder Geld eingeworfen wird, weil wenn ich 1 Euro einwerfe, kann es ja sein, dass z. B. 2 Euro folgen und dann ist man wieder im Anfangszustand.
Die Frage ist, wie man das mit dem Wechselgeld realisiert bzw. wie man hier eine Unterscheidung zwischen Wechselgeld und weiteren Münzeinwürfen macht.L. G.
Steffo
-
Steffo schrieb:
Wenn man im Zustand q0 ist und es wird ein Euro eingeworfen, dann wechselt man in den Zustand q1, bei 2 Euro in q2 und 5 Euro in q5. Nun kann man von diesen Zuständen aus wieder in den Anfangszustand wechseln, wenn von dort aus wieder Geld eingeworfen wird, weil wenn ich 1 Euro einwerfe, kann es ja sein, dass z. B. 2 Euro folgen und dann ist man wieder im Anfangszustand.
Nö, dann bist du im Zustand "3 Euro eingeworfen" (im einfachsten Falle).
Die Frage ist, wie man das mit dem Wechselgeld realisiert bzw. wie man hier eine Unterscheidung zwischen Wechselgeld und weiteren Münzeinwürfen macht.
Geld einwerfen ist eine Eingabe, Wechselgeld ausgeben ist eine Ausgabe. Haben deine Automaten keine Ausgabefunktion? Ich werf mal das Stichwort Mealy-Automat in den Raum.
-
Nach deiner Tabelle ist zweimal 1 Euro einwerfen dasselbe wie zweimal 2 Euro einwerfen, und auch dasselbe wie gar nichts einwerfen. Kann ja irgenwie nicht sein.
-
Das ist doch Quatsch. (Bezieht sich auf den letzten Beitrag vom OP. Zwischenzeitig gab es neue Antworten)
Warum darf man nicht 5 einzelne oder 2*2+1 Eurostücke einwerfen, um auf die 5 Ocken zu kommen?Erstmal: Mealy- oder Moore-Automat?
Davon hängt ab wie die Ausgabe des Wechselgeldes zu realisieren ist.Beim Moore-Automat, danach sieht es bisher aus, gilt:
"Beim Erreichen eines Zustandes wird eine Ausgabe erzeugt, welche unabhängig vom Übergang in diesen Zustand ist."Mach doch erstmal einen Satz von Zuständen, die das bisher eingeworfene Geld repräsentieren.
Dann verknüpfst Du diese Zustände durch alle Kombinationen, wie der entsprechende Geldbetrag eben zu erreichen ist.
Bei passendem Betrag gehts zurück in den Anfangszustand. Bei Überbezahlung weitere Zustände einbauen, die definieren wieviel zurückgeben wird und danach in den Anfangszustand führen.Der Mealy-Automat hätte weniger Zustände aber beides ist äquivalent.