Option für das iPad:
Du kannst dieses Arbeitsblatt digital ausfüllen oder die PDF-Version herunterladen und mit dem Apple Pencil direkt hineinschreiben.

📄 PDF herunterladen
Aufgabenstellung — versetzt euch in die Rolle des Computers Problemstellung

Vor euch liegt eine Reihe von verdeckten Gewichten. Ihre Massen kennt ihr nicht — ihr seht nur die graue Außenform. Eure Aufgabe: die Gewichte aufsteigend sortieren — von links (leicht) nach rechts (schwer).

?
?
?
?
?
?
← klein/leicht (Position 1) groß/schwer (Position n) →
Wichtig — ihr seid der Computer:
Ein Computer kann den Inhalt eines Arrays nicht auf einen Blick sehen. Er lernt Werte nur durch einzelne Operationen kennen — z. B., indem er zwei Gewichte auf die Waage legt. Lasst die Gewichte deshalb verdeckt — schaut nur durch Vergleichen.
#Erlaubte OperationBeschreibung
1Vergleichen (Waage)Zwei Gewichte auf die Waage legen. Sie kippt zur schwereren Seite — nur so erkennt der Computer Werte.
2Tauschen (Drag & Drop)Zwei Gewichte vertauschen, indem ihr eines mit der Maus auf die Position eines anderen zieht.
Regel: Erst vergleichen, dann tauschen — ein Computer weiß sonst nicht, in welche Richtung er tauschen muss.
2Sortierstrategie entwickeln Hypothese · Test · Sicherung

Ihr arbeitet mit einem zufällig erzeugten verdeckten Array (Länge 6) in der Sortier-App. Stellt eine Hypothese auf, testet sie und haltet anschließend eure ausgearbeitete Strategie fest.

a) Erste Hypothese — Wie wollen wir vorgehen? Bevor ihr in der App testet: Notiert in 1–3 Sätzen, wie ihr die Gewichte sortieren wollt.
b) Unsere Strategie nach dem Testen Fasst nach dem Ausprobieren in der App euer Vorgehen möglichst klar in eigenen Worten zusammen.
c) Begründung — Welches Gewicht ist für eure Strategie zentral? Wählt aus und begründet, warum gerade dieses Gewicht für euer Vorgehen entscheidend ist.
d) Optional: Wann ist eure Strategie fertig? Woran erkennt der Computer, dass das Array vollständig sortiert ist — ohne alle Gewichte auf einen Blick zu sehen?
3Wissen selbst aneignen — die drei Verfahren Vergleich

Schaut euch in der Sortier-App kurz die Animationen zu Selection Sort, Bubble Sort und Insertion Sort an. Beantwortet dann die folgenden Fragen zu eurer eigenen Strategie.

Warum ähnelt unsere Strategie diesem Verfahren?
Was würden wir an unserer Strategie noch optimieren? Welche Unterschiede gibt es zu den vorgestellten Verfahren — und was könntet ihr verbessern?
4Anwendung — die drei Verfahren am Beispielarray Erprobung

In der Sortier-App ist das Beispielarray [ 6 · 3 · 8 · 11 · 12 · 4 · 2 · 1 ] hinterlegt — diesmal mit sichtbaren Gewichten. Wendet jedes Verfahren einzeln an und notiert die Werte aus dem Protokoll.

Wichtig: Auch wenn ihr die Werte seht — nutzt zuerst die Waage zum Vergleichen, bevor ihr per Drag & Drop tauscht. Sonst zählt das Protokoll euch eine Warnung „ohne Vergleich" mit.
A) Selection Sort
B) Bubble Sort
C) Insertion Sort
Welches Verfahren wirkte für dieses Array am effektivsten — und warum? Achtung: Dies ist eine erste Beobachtung an einem einzigen Array. Eine echte Komplexitätsbetrachtung folgt später.
5Code-Brücke — vom Verfahren zum Java-Code Optional
Hinweis: Diese Aufgabe ist optional. Bearbeitet sie nur, wenn ihr mit den vorherigen Phasen bereits fertig seid. Wir besprechen den Code in den kommenden Stunden gemeinsam.

Ein Sortierverfahren ist nicht nur eine Idee mit Gewichten. Am Ende muss die Strategie so genau formuliert werden, dass ein Programm sie Schritt für Schritt ausführen kann. Kommentiere den folgenden Codeausschnitt in eigenen Worten.

Auftrag: Ordne die farbig markierten Codebereiche den passenden Kommentaren zu. Schreibe zu jedem Bereich kurz auf, welche Sortieridee dort umgesetzt wird.
for (int i = 0; i < a.length - 1; i++) {
    for (int j = 0; j < a.length - 1 - i; j++) {
        if (a[j] > a[j + 1]) {
            int temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
        }
    }
}
Blau: innere Schleife Gelb: Vergleich Rot: Tauschblock Grün: äußerer Durchlauf / kleinerer Bereich
Aufsteckbare Tipps
Tipp 1: Nachbarn finden

Betrachte die Ausdrücke a[j] und a[j + 1]. Sie stehen für zwei benachbarte Array-Elemente.

Tipp 2: Tauschvorgang erkennen

Die Variable temp ist ein Zwischenspeicher, damit beim Tauschen kein Wert verloren geht.

Tipp 3: Strukturmerkmal zuordnen

Wenn benachbarte Elemente verglichen und bei falscher Reihenfolge getauscht werden, passt das zum Bubble Sort.

💾 Lokal gespeichert · Online-Sync anonym
📄 PDF herunterladen
Gespeichert ✓