1. Übung Programmieren einer Warteschlange
Szenario
Stellen Sie sich eine Warteschlange an einer Supermarktkasse vor. Kunden stellen sich in der Warteschlange hinten an und verlassen sie vorne wieder. (Dieses Prinzip heißt FIFO: First In First Out)

Bestimmte Rechte vorbehalten Xiaojun Deng
Aufgabe
Aufgabe: Implementieren Sie die Funktion einer solchen Warteschlange in einer Python-Klasse.
Die Klasse kann dann verwendet werden, um die Wartezeiten an der Kassen großer Warenhäuser zu optimieren.
Wenn Sie eine Auftragsverwaltung programmieren, kann solch eine Warteschlange auch hilfreich sein, um die Aufträge abzulegen bzw zu speichern.
In dieser Aufgabe soll allerdings nur die Klasse angelegt werden. Anschließend wird eine Warteschlange definiert. Es stellen sich 3 Leute in der Warteschlange an und verlassen sie, weil sie an der Kasse bedient werden.
Geben Sie bitte die Klassendefinition und das Hauptprogramm mit den Methodenaufrufen im Textfeld ab.
Vorgehen / Tipps
Überlegen Sie zuerst, was für das Programm / die Python Klasse von der Warteschlange wichtig ist.
Was hat die Warteschlange für Eigenschaften? Welche Funktionalitäten werden benötigt?
- Kunden stehen in der Warteschlange, sie sind also in der Warteschlange gespeichert. Dabei reicht es die Namen der Kunden zu speichern.
Es ist unbekannt, wie viele Kunden sich anstellen werden. Die Reihenfolge der Kunden spielt eine Rolle. - Ein weiterer Kunde stellt sich an, das heißt der Name wird der Warteschlange/Liste zugefügt.
- Ein Kunde wird bedient. Er wird aus der Warteschlange/Liste entfernt.
- Wir haben jederzeit die Möglichkeit uns die in der Warteschlange stehenden Kunden anzusehen.
Fällt Ihnen noch eine relevante Eigenschaft oder Funktionalität der Warteschlange ein?
Aus den Eigenschaften werden die Attribute, aus den Funktionalitäten die Methoden der Klasse.
Vorschlag:
- Die Kundennamen werden in einer Liste gespeichert.
- Die Klasse hat Methoden anstellen, verlassen, ansehen wie oben beschrieben.
Was ist der Initialwert der Liste? Welche Parameter haben die Methoden? Was passiert genau mit der Wartenschlangenliste in jeder einzelnen Methode?
Kontrolle:
- Überprüfen Sie, ob die Kunden in ihrem Programm die Warteschlange in der richtigen Reihenfolge verlassen.
