Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Schlangenklasse

Ist die doppeltverketteteListe oder der Stapel geeignet für die Lösung?

Für die Realisierung des oben skizzierten Algorithmus'  werden die folgenden Operationen benötigt:

  1. Gewaschenes Auto aus der Warteschlange wegnehmen
  2. Auto hinten an die Warteschlange anfügen
  3. Zugriff auf das erste Auto
  4. Test, ob Warteschlange leer

Die Klasse Stapel besitzt nur einen Teil dieser Operationen, die Klasse doppeltverketteteListe besitzt wiederum Methoden, die bei der Waschstraßen-Simulation "technisch" nicht auftreten können. Wir definieren daher eine neue Unterklasse Schlange von Listenstruktur, die genau die oben genannten Operationen besitzt:

Operation:

Methode:

Erzeugen einer neuen Schlange

Konstruktor
public Schlange(String ident)

Löschen der Schlange

public void destroy()

Element hinten anhängen

public void enqueue (Object o)

Element vorne entfernen

public void dequeue()

Zugriff auf das erste Element

public Object front()

Test, ob Schlange leer

public boolean isEmpty()

Die Bezeichnungen Enqueue (sprich: enkju:) und Dequeue (sprich: dekju:) entsprechen im Wesentlichen den bisher verwendeten Bezeichnungen Push bzw. Pop . Sie sind die bei Schlangen-Strukturen üblichen Bezeichnungen. Top wird häufig mit Front benannt.

Aufgaben:

  1. Ergänzen Sie unsere Klassenhierarchie um die Klasse Schlange.
  2. Erstellen Sie ein Demoprogramm, mit dem Sie die Klasse Schlange in der Anwendung zeigen können.
  3. Erstellen Sie die Waschstraßensimulation entsprechend den Vorgaben.
  4. Tankstellen-Simulation (als Kürnote im Bereich SoMi)
    (aus Hermes/Stobbe: Informatik Zwei, Klett 1990, S.55)
    An einer Autobahntankstelle gibt es drei Zapfsäulen für verbleites Benzin, zwei Säulen für bleifreies Benzin und zwei Säulen für Diesel. Zur Urlaubszeit fahren pro Minute N PKWs die Tankstelle an, wobei im Durchschnitt 40% der PKWs verbleites, 30% bleifreies Benzin und der Rest Diesel tanken. Die Abfertigung eines PKW's dauert zwischen 5 und 8 Minuten. In der Regel fahren die Tankkunden bei der Wahl der verschiedenen Zapfsäulen mit gleichem Treibstoff immer zu derjenigen Säule, an welcher die wenigsten PKWs warten.
    1. Schreiben Sie ein Simulationsprogramm Tanken, bei dem in Abhängigkeit von N die durchschnittliche Wartezeit eines Tankkunden ermittelt wird. Verwenden Sie dazu die Klasse Schlange.
    2. Für welche N ist die Installation weiterer Zapfsäulen erforderlich, wenn die durchschnittliche Wartezeit W Minuten nicht überschreiten soll?
    3. Wie muss sich die Tankstelle auf die verstärkte Nachfrage nach bleifreiem Benzin einstellen? Variieren Sie dazu die prozentualen Anteile der verschiedenen Kraftstoffe.

 


© Ralph-Erich Hildebrandt, 09. Mai 2005