Sortierung: Übungsaufgabe Gewinnziehung

Der Mühlberger SC ist ein Sportverein mit mehreren Abteilungen. Im Jahr 2016 eröffnete der Mühlberger SC die Abteilung DART. Seit dem Jahr 2017 findet auch jährlich ein großer Darts-Event statt.
Bei jedem Darts-Event wird auch eine große Gewinnlotterie durchgeführt.
Dafür können sich Interessierte ein Los kaufen und haben die Chance einen von fünf Sachpreisen zu gewinnen.
(I) Problemstellung
Am Abend des Darts-Events findet die Ziehung der Gewinnerlose statt. Der Ziehungsleiter zieht aus einer Lostrommel fünf Losnummern.
Die letzte gezogene Nummer erhält den Hauptpreis, die erste gezogene Losnummer den niedrigsten Preis. Die Gewinnlosnummern werden mit Hilfe einer Software in der Reihenfolge der Ziehung in einem Array losnummern erfasst.
Die Software soll es ermöglichen, die Losnummern mit den zugehörigen Gewinnen am Bildschirm anzuzeigen. Dabei soll der Hauptgewinn an erster Stelle, der niedrigste Gewinn an letzter Stelle stehen.
Die zu entwickelnde Software liegt bereits in unvollständiger Form vor. Sie enthält das Array gewinne, in der die fünf Sachpreise erfasst sind – an erster Stelle der Hauptgewinn, an letzter Stelle der niedrigste Gewinn. Daneben wurde bereits die Funktion lese_gewinnlose() implementiert, mit der die fünf Gewinnlose eingelesen werden können.
Sie erhalten den Auftrag, die Software fertigzustellen.
Entwickeln Sie dazu eine Funktion umsortieren(), mit der die erfassten Losnummern in die Reihenfolge der Gewinne gebracht werden, sowie eine Funktion zeige_gewinnlose(), mit der die Gewinnlosnummern mit den zugehörigen Sachpreisen vom Hauptgewinn bis zum niedrigsten Gewinn am Bildschirm angezeigt wird. Siehe unten: (4) Gewünschter Ablauf des Programms.
Verwenden Sie für die Implementierung Ihrer Lösung das untenstehende Python Compiler und vervollständigen Sie das Programm.
Speichern Sie Ihre Lösung in Ihrem Ergebnisordner unter dem Namen
L2_2_3_1_sortierung_gewinnziehung.py.
(II) Problemanalyse
(1) Welche Ausgabedaten will man erhalten?
(2) Welche Eingabedaten werden zur Bearbeitung benötigt?
(3) Welche Eigenschaften haben die Eingabe-, Verarbeitungs- und Ausgabedaten? (Variablenliste)
| Bedeutung | Typ/Struktur | Variable/Größe |
|---|---|---|
| Sachpreise | Array | gewinne |
| Gezogene Gewinnlosnummer | Ganzzahl | nr |
| Gewinnlosnummern | Array | losnummern |
(4) Gewünschter Ablauf des Programms mit Beispieldaten:

(5) Verarbeitung:
(III) Struktogramm
Nutze diese Webseite, um ein Struktogramm zu erstellen: Strukto.io
(IV) Programmcode (Python-Code)
Hier können Sie den Code interaktiv testen und ausführen:
Hinweise:
- - Schreiben Sie Ihre Antworten direkt in die Textfelder und speichern Sie sie.
- - Sie können den interaktiven Python-Editor verwenden, um den Code zu testen und Ihre Ergebnisse zu überprüfen.