Hauslekture. Ситникова О.А - 44 стр.

UptoLike

44
Nun gibt es für ein und dasselbe Menü verschiedene Rezepte, und mit
Algorithmen ist es ebenso. Nehmen wir zum Beispiel das folgendes Problem:
Ein Kunde bezahlt an der Kasse mit einem 100 DM Schein. Seine Rechnung
beträgt aber nur 47,11 DM. Wie soll der Differenzbetrag zurückgegeben werden?
Im ersten Moment sagt jeder, das Rückgeld von 52,89 DM setzt sich zusammen
aus einem 50 DM Schein, einem 2 DM Stück, einem 50 Pf Stück, drei 10 Pf Stücken,
einem 5 Pf Stück und zwei 2 Pf Stücken.
Das ist sicher eine Möglichkeit, das Geld zurückzugeben. Aber wie kommt man
auf genau diese Stückelung? Genausogut hätte man auch 5289 Pfennige zurückgeben
können (wenn man mal von den Transportproblemen absieht).
Beginnen wir mit dem Algorithmus für das Verfahren 5289 Pfennige. Er lautet:
1. Ermittle den Rückgabebetrag durch Subtraktion des Rechnungsbetrages vom
erhaltenen Betrag.
2. Rechne den erhaltenen Rückgabebetrag in Pfennige um.
3. Gib diese Menge Pfennige zurück.
Und wie sieht das Rezept für das als normal gewohnte Verfahren aus?
1. Ermittle den Rückgabebetrag durch Subtraktion des Rechnungsbetrages vom
erhaltenem Betrag.
2. Suche den höchsten, der als Schein/Münze im Rückgabebetrag enthalten ist
(kleiner gleich).
3. Reduziere den Rückgabebetrag um diesen Betrag und gib den Betrag zurück.
4. Wiederhole ab Schritt 2 mit dem verbleibenden Rückgabebetrag, bis kein
Rückgabebetrag mehr da ist.
Bis hierher haben wir zwei Verfahren zur Lösung desselben Problems
kennengelernt. Aus eigener Erfahrung weiß aber jeder, daß weder das eine noch das
andere in Reinkultur verwendet wird. Denn unser Algorithmus berücksichtigt
besondere Fälle überhaupt nicht. Was wäre denn, wenn in der Kasse gar kein 50 DM
Schein ist? Hier würde unser zweiter Algorithmus auf den Bauch fallen, er geht vom
Vorhandensein jeder Stückelung aus.
Fügen wir einen zusätzlichen Punkt in unseren obigen Algorithmus ein, können
wir auch dieses Problem lösen:
1. Ermittle den Rückgabebetrag durch Subtraktion des Rechnungsbe-
trages vom erhaltenem Betrag.
2. Suche den höchsten, der als Schein/Münze im Rückgabebetrag ent-
halten ist (kleiner gleich).
3. Ist dieser Wert in der Kasse vorhanden, arbeite damit, wenn nicht
nimm den nächstkleineren, verfügbaren Wert zum Weiterarbeiten.
4. Reduziere den Rückgabebetrag um diesen Betrag und gib den Betrag
zurück.
5. Wiederhole ab Schritt 2 mit dem verbleibenden Rückgabebetrag, bis
kein Rückgabebetrag mehr da ist.
Dieses letzte Verfahren deckt alle Fälle bei der Geldrückgabe ab, darüberhinaus
stellt es auch sicher, daß sowenig Scheine oder Münzen wie möglich den Besitzer