Damit wir dem Attribut ``Wirtschaft'' in den Studiengängen Wirtschaftsmathematik und Wirtschaftsphysik gerecht werden, behandeln wir in dieser Woche in den Übungen mal ein eher wirtschaftlich orientiertes Thema: einen Aktienmarkt!
Wir nehmen an, daß auf dem Aktienmarkt die Aktien der Borchert und Heidi-AG gehandelt werden, die natürlich jeder von Ihnen besitzen möchte. Andererseits gibt es aber (unverständlicherweise) auch jene, die im Besitz dieser Aktien sind und diese verkaufen möchten.
Die Datei, welche die Ankaufs- und Verkaufsgebot enthält, soll den folgenden Aufbau besitzen:
Typ Anzahl Stueckpreis
Der ``Typ'' sei dabei entweder ``V'' (für Verkauf) oder ``K'' (für Ankauf). Als Feldtrenner kann hier das Whitespace-Zeichen verwendet werden.
Und so könnte eine Datei aussehen:
V 10 15 (* Verkaufe 10 Aktien zum Stueckpreis von 15 Euro *) K 3 8 (* Kaufe 3 Aktien zum Stueckpreis von 8 Euro *) V 2 7 K 5 12 V 1 9 K 3 16
Mit der zuvor aufgelisteten Datei sähe ein Handelstag dann wie folgt aus:
V 7 9 15 (* Preis *) 2 1 10 (* Stueckzahl *) ^ (* Momentaner Verkaeufer *) K 16 12 8 (* Preis *) 3 5 3 (* Stueckzahl *) ^ (* Momentaner Kaeufer *)
Der Käufer, der 3 Aktien zu 16 kaufen würde, kauft 2 zu 7, da . Der momentane Verkäufer ist voll zum Zuge gekommen (``ausverkauft'') und verlässt den Markt (um sich endlich seinem Hobby Informatik widmen zu können).
V 7 9 15 (* Preis *) 0 1 10 (* Stueckzahl *) ^ (* Momentaner Verkaeufer *) K 16 12 8 (* Preis *) 1 5 3 (* Stueckzahl *) ^ (* Momentaner Kaeufer *)
Nun ist also der Verkäufer mit dem Angebot zu 9 der momentane Verkäufer, der auch sogleich seine Aktie an den momentanen Käufer (noch immer der mit dem 16-Angebot) zu 9 verkaufen kann ().
Sowohl (momentaner) Verkäufer als auch (momentaner) Käufer sind nun voll zum Zuge gekommen, weshalb nun ihre jeweiligen Nachfolger an der Reihe sind. Daher bekommen wir den folgenden
V 7 9 15 (* Preis *) 0 0 10 (* Stueckzahl *) ^^ (* Momentaner Verkaeufer *) K 16 12 8 (* Preis *) 0 5 3 (* Stueckzahl *) ^ (* Momentaner Kaeufer *)
Hier endet nun der Handel, da erstmals der verlangte Preis (15) höher ist als der gebotene Preis (12).
Der zuletzt gehandelte Preis (9) ergibt nun den Marktpreis, und es wurden 3 Aktien () umgesetzt.
Und genau dies sollte Ihr Programm dann auch ausgeben:
theseus$ ./Trade < offer.txt Der Handel wird gestartet... Die Boerse ist nun geschlossen! Es wurden 3 Aktien umgesetzt, und der erzielte Marktpreis (pro Stueck) betraegt 9 Euro! theseus$
Viel Erfolg!