faecher:informatik:oberstufe:adt:containerschiffe:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:adt:containerschiffe:start [27.10.2021 17:07] sbelfaecher:informatik:oberstufe:adt:containerschiffe:start [28.10.2021 07:33] (aktuell) sbel
Zeile 1: Zeile 1:
 ====== Containerschiffe ====== ====== Containerschiffe ======
 +
 +{{ :faecher:informatik:oberstufe:adt:containerschiffe:cship.jpg?400|}}
  
 Ein Containerschiff ist ein speziell für den Transport von Containern gebautes Frachtschiff. Die Ein Containerschiff ist ein speziell für den Transport von Containern gebautes Frachtschiff. Die
Zeile 39: Zeile 41:
 die den übergebenen Container jeweils auf dem bisher leichteren der beiden Stapel die den übergebenen Container jeweils auf dem bisher leichteren der beiden Stapel
 ablegt, bzw. auf **platzA**, wenn beide Stapel gleich schwer sind. ablegt, bzw. auf **platzA**, wenn beide Stapel gleich schwer sind.
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +
 +Eine experimentelle Lademethode ''aufladen2(neu:Container)'' beruht auf dem
 +folgenden Algorithmus, hier notiert in Pseudocode. Er soll nur dann angewendet werden,
 +wenn auf beiden Plätzen mindestens ein Container liegt. Die Prüfung, ob beide Stapel
 +Container enthalten, ist hier nicht vorgesehen.
 +
 +<code>
 +a = platzA.getGesamtgewicht();
 +b = platzB.getGesamtgewicht();
 +c = neu.getGewicht();
 +wenn (a < b)
 +  wenn (a + c > b + 20)
 +    platzA.push(platzB.pop());
 +    platzB.push(neu);
 +  sonst
 +    platzA.push(neu);
 +  ende wenn
 +sonst
 +  wenn (b + c > a + 20)
 +    platzB.push(platzA.pop());
 +    platzA.push(neu);
 +  sonst
 +    platzB.push(neu);
 +  ende wenn
 +ende wenn
 +</code>
 +Bei einem Ladevorgang befinden sich zu Beginn auf **platzA** und **platzB** je ein Container
 +mit 10 t. Es sollen nun drei Container mit den Gewichten in der Reihenfolge 21 t, 27 t und
 +20 t geladen werden.
 +
 +  * Stelle das Ergebnis des Ladevorgangs in einer Skizze dar.
 +  * Vergleiche die beiden Ladealgorithmen für die gegebene Containerreihenfolge schrittweise hinsichtlich der Ungleichheit der Stapelgewichte. Welche Schlussfolgerungen kannst du ziehen? 
 +  * Diskutiere Vor- und Nachteile der experimentellen Lademethode.
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A4) ===
 +
 +Zur Vorbereitung des Ladevorgangs wird eine Ladeliste erstellt, in der die Container –
 +bezogen auf die Zielhäfen – in umgekehrter Reihenfolge notiert werden, damit die
 +Container, die zuerst ausgeladen werden müssen, ganz oben stehen.
 +Neu hinzu kommende Container werden an der richtigen Stelle in die Liste eingefügt.
 +Dafür bietet eine verbesserte Containerstapel-Klasse eine Methode
 +''einfuegenAnKorrekterPosition(c:Container)'' an.
 +
 +Beschreibe, wie innerhalb der Methode die Verkettung der Objekte verändert werden
 +muss, um ein neues Objekt innerhalb einer verketteten Liste einzufügen. 
 +
 +Veranschauliche deine Beschreibung unter Verwendung einer aussagekräftigen Skizze.
  • faecher/informatik/oberstufe/adt/containerschiffe/start.1635354424.txt.gz
  • Zuletzt geändert: 27.10.2021 17:07
  • von sbel