Zurück zur Zentralseite "Aufwendigere Algorithmen"

Geldautomat

Idee Paetec, Informatik 10

Bankautomaten "denken" bei der Geldausgabe mit. Sie geben in der Regel den gewünschten Geldbetrag in möglichst großen Scheinen aus. Wünscht der Kunde beispielsweise 130 €, so erhält er zwei 50€-Scheine, einen 20€-Schein und einen 10€-Schein, falls die entsprechende Zahl an Geldscheinen im Automat vorrätig ist.

Woher "weiß" der Automat nun, welche Scheine er wählen muss?

Gehen wir davon aus, dass der Automat nur 50€-, 20€- und 10€-Scheine ausgibt. Für jeden Scheintyp gibt es ein Fach. Der Automat weiß die aktuelle Anzahl jedes Scheintyps. Dies ist in nebenstehendem Klassendiagramm modelliert.

Arbeitsauftrag 1

Erstellen Sie gemäß des obigen Klassendiagramms in BlueJ eine Klasse Bankautomat, die vorerst nur die Attribute, eine leere Methode geldAusgeben(int betrag) und mindestens einen Konstruktor enthält, der die Geldfächer sozusagen neu mit Scheinen auffüllt.

Lösung

Der nachfolgende Algorithmus, dargestellt als Struktogramm liefert eine mögliche einfache (aber sicher noch nicht optimale Lösung der obigen Fragestellung:

Arbeitsauftrag 2

Programmieren Sie nun, orientiert am obigen Struktogramm, die Methode geldAusgeben(betrag). Die Ausgabe eines Geldscheins kann beispielsweise durch eine Textausgabe, wie "50 Euro - Geldschein ausgegeben" simuliert werden.

Lösung

Arbeitsauftrag 3

Testen Sie Ihre Methode mehrmals mit unterschiedlichen Auszahlungsbeträgen und inspizieren Sie nach jedem Auszahlungsvorgang die Anzahl der noch im Automaten vorhandenen Geldscheinen.

Arbeitsauftrag 4

Der Algorithmus ist noch nicht besonders "intelligent". Schreiben Sie Anforderungen auf, die der Algorithmus noch berücksichtigen sollte, damit er wirklich eingesetzt werden könnte!

Lösung


Zurück zur Zentralseite "Aufwendigere Algorithmen"