Geschichte
Als angehende Zauberin muss Elyse ein paar Grundlagen üben. Sie hat einen Kartenstapel, den sie bearbeiten möchte.
Um es etwas einfacher zu machen, benutzt sie nur die Karten 1 bis 10.
Wir begrenzen die Kartenwerte auf 1 bis 10, um nur mit Zahlen umgehen zu müssen,
sodass Übungen, die diese Geschichte verwenden, sich nur auf Zahlen stützen müssen.
Aufgaben
Das sind Beispiele für Aufgaben, die zur Geschichte passen, dass Elyse Anfängerin ist:
- Eine Karte aus einem Stapel holen
- Eine Karte im Stapel austauschen
- Eine Karte oben auf den Stapel legen
- Eine Karte aus dem Stapel entfernen
- Die oberste Karte vom Stapel entfernen
- Eine Karte unten an den Stapel anfügen
- Eine Karte von unten aus dem Stapel entfernen
- Die Größe des Stapels prüfen
Diese Geschichte lässt sich fortsetzen, um auch die Analyse von Arrays zu lehren:
- Die Position einer Karte finden
- Feststellen, ob eine Karte vorhanden ist
- Feststellen, ob jede Karte gerade ist
- Prüfen, ob der Stapel eine Karte mit ungeradem Wert enthält
- Die erste ungerade Karte aus dem Stapel holen
- Die Position der ersten geraden Karte feststellen
Diese Geschichte lässt sich fortsetzen, um auch Transformationen von Arrays zu lehren:
- Jede einzelne Karte verdoppeln
- Von jeder im Deck gefundenen 3 mehrere Kopien erstellen
- Zwei Karten aus der exakten Mitte des Decks finden
- Die beiden äußeren Karten tauchen in der Mitte des Decks wieder auf
- Jede Karte, die keine 2 ist, verschwindet
- Ein gemischtes Deck in ein perfekt geordnetes Deck verwandeln
- Jede Karte in die Gesamtzahl der Karten ändern
Diese Geschichte lässt sich fortsetzen, um auch die Destrukturierung von Arrays zu lehren:
- Die erste Karte holen (ohne herkömmliche Methoden, z. B. Indexer oder Methoden)
- Die zweite Karte holen (ohne herkömmliche Methoden, z. B. Indexer oder Methoden)
- Die ersten beiden Karten vertauschen (ohne herkömmliche Methoden, z. B. Indexer oder Methoden)
- Die oberste Karte verwerfen (ohne herkömmliche Methoden, z. B. Indexer oder Methoden)
- Bildkarten einfügen (ohne herkömmliche Methoden, z. B. Indexer oder Methoden)
Terminologie
Das sind Empfehlungen, keine Regeln, für immer wiederkehrende Begriffe in den Anweisungen (einschließlich der Stub-Kommentare)
- Die Hauptfigur ist Elyse und ihre Pronomen sind sie/ihr. Wenn du die Figur kennzeichnen musst, benutze den Namen oder verweise mit ihren Pronomen auf sie.
- Statt
array (oder einem äquivalenten Datentyp) benutze das Wort Stapel oder Kartenstapel.
- Statt
element benutze das Wort Karte.
- Statt
length benutze Größe des Stapels.
- Die oberste Karte ist das erste Element.
- Die unterste Karte ist das letzte Element.
Implementierungen
Alternative Version
Eine alternative Version der Geschichte verwendet dich (die lernende Person) als handelnde Figur und konzentriert sich nur auf das Umsortieren des Decks.
Geschichte
Du bist ein Zauberer und hantierst mit einem Kartendeck. Um deinen Zaubertrick richtig vorzuführen, musst du eine Karte von einer Position an eine andere Position bewegen können. Du musst also das Deck umsortieren können. Natürlich möchtest du Karten in beide Richtungen bewegen können und sagen können „von oben aus dem Deck“ oder „von unten aus dem Deck“.
Aufgaben
Das sind Beispiele für Aufgaben, die zur Geschichte passen, in der du Karten umsortieren möchtest:
- Implementiere eine Funktion arrange, die eine Karte in einem Stapel von einer gegebenen Position an eine andere bewegt und einen neuen Stapel zurückgibt
- Implementiere eine Funktion rearrange, die dasselbe tut, aber den ursprünglichen Stapel verändert
Implementierungen
Referenz