Skip to main content
eick-at moodle
  • Home
  • Calendar
  • More
You are currently using guest access
Log in
eick-at moodle
Home Calendar
Expand all Collapse all
  1. Lf 7 - Inform.techn. Assist.
  2. Einführung in das objektorientierte Programmieren
  3. 1. Übung Programmieren einer Warteschlange

1. Übung Programmieren einer Warteschlange

Completion requirements

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)

Warteschlange
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?

Namensschild
einige Rechte vorbehalten
Patrick Haney
  • 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.
You are currently using guest access (Log in)
Data retention summary
Get the mobile app
Powered by Moodle