Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:adt:containerschiffe:start [27.10.2021 17:07] – sbel | faecher:informatik:oberstufe:adt:containerschiffe:start [28.10.2021 07:33] (aktuell) – sbel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Containerschiffe ====== | ====== Containerschiffe ====== | ||
+ | |||
+ | {{ : | ||
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. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Eine experimentelle Lademethode '' | ||
+ | folgenden Algorithmus, | ||
+ | wenn auf beiden Plätzen mindestens ein Container liegt. Die Prüfung, ob beide Stapel | ||
+ | Container enthalten, ist hier nicht vorgesehen. | ||
+ | |||
+ | < | ||
+ | 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 | ||
+ | </ | ||
+ | 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. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (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 | ||
+ | '' | ||
+ | |||
+ | 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. |