das ist die Aufgabenstellung: (Aufgabe 5a)

Text erkannt:
Aufgabe 5 (Formale Spezifikation, Exhaustive Search, C)
(2+1+3=6 Punkte)
Betrachtet wird folgende Szene an der Kasse eines 7-Eleven (eine internationale Einzelhandelskette):
Kunde: Bitte diese vier Artikel kassieren.
Kassierer: Das macht 7,11€.
Kunde: Tolle Zahl für einen 7-Eleven. Wie ergab die sich denn?
Kassierer: Ich habe die Preise einfach multipliziert.
Kunde: Aber die muss man doch addieren!
Kassierer: Ach ja! (Rechnet neu). Das macht aber immer noch 7,11€.
Gesucht sind die Preise der vier Artikel (,7-Eleven-Problem").
a) Geben Sie eine formale Spezifikation für das obige Problem an. Charakterisieren Sie dafür insbesondere eine endliche Menge \( M \) möglicher Lösungen.
b) Formulieren Sie aufbauend auf Ihrer formalen Spezifikation aus a) einen auf dem Prinzip Exhaustive Search beruhenden Algorithmus zur Lösung des 7-Eleven-Problems.
c) Implementieren Sie Ihren Algorithmus aus b) in einem C-Programm 711. c und bestimmen Sie eine Lösung des 7-Eleven-Problems. Ist die Lösung eindeutig?
Hinweise:
- Die Zahl 7,11 ist im IEEE double precision Format nicht exakt darstellbar. Es ist deshalb sinnvoll, ganzzahlige Größen zu verwenden (z.B. 711 statt 7,11 ).
- Je nach Implementierung kann die Laufzeit Ihres Programms in c) mehrere Minuten betragen. Dies heißt nicht, dass Ihr Programm nicht korrekt arbeitet. Bei geschickter Definition und Konstruktion von \( M \) sind aber auch Laufzeiten deutlich unter einer Minute möglich.
- Auch wenn Alternativen vielleicht verlockend sind, sollten Sie die Teilaufgaben in der Reihenfolge a) \( \rightarrow \) b) \( \rightarrow \) c) bearbeiten.