Browser-Verlauf
AFB I–IIEin Browser speichert besuchte Seiten, damit man mit „Zurück“ zur vorigen Seite gelangt. Dafür nutzt er einen Stapel verlauf vom Inhaltstyp Zeichenkette. Die aktuell angezeigte Seite steht in aktuell.
Beim Öffnen einer neuen Seite wird aktuell auf den Stapel gelegt und die neue Seite wird aktuell. Bei „Zurück“ wird die oberste Seite vom Stapel die aktuelle Seite.
- Wenden Sie die Vorgänge an: Start auf „start.de“, dann öffnen „a.de“, öffnen „b.de“, Zurück, öffnen „c.de“, Zurück, Zurück. Geben Sie nach jedem Schritt aktuell und den Stapel an.
- Begründen Sie, warum ein Stapel für die Zurück-Funktion geeignet ist.
- Entwerfen Sie ein Struktogramm für
zurueck(). Ist der Stapel leer, bleibt die aktuelle Seite erhalten.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
| Schritt | aktuell | verlauf (unten → oben) |
|---|---|---|
| Start | start.de | leer |
| öffnen a.de | a.de | start.de |
| öffnen b.de | b.de | start.de, a.de |
| Zurück | a.de | start.de |
| öffnen c.de | c.de | start.de, a.de |
| Zurück | a.de | start.de |
| Zurück | start.de | leer |
Erwartungshorizont zu Aufgabe b)
„Zurück“ führt immer zur zuletzt besuchten Seite. Das entspricht dem LIFO-Prinzip: Die zuletzt abgelegte Seite wird zuerst entnommen. Zugriff auf andere Positionen ist nicht nötig.
Erwartungshorizont zu Aufgabe c)
zurueck()
Einlass beim Schulkonzert
AFB II–IIIBeim Schulkonzert stehen Gäste in einer Schlange q vom Inhaltstyp Gast. Die Klasse Gast bietet istVIP(): Wahrheitswert. VIP-Gäste sollen vorgezogen werden, ohne dass sich die Reihenfolge innerhalb der VIPs oder innerhalb der übrigen Gäste ändert.
- Entwerfen Sie ein Struktogramm für
vipsNachVorn(q: Queue vom Inhaltstyp Gast). Nutzen Sie nur die Operationen der Schlange und zwei Hilfsschlangen. - Stellen Sie den Ablauf für die Schlange G1, V1, G2, V2 (V = VIP) dar, indem Sie den Inhalt der drei Schlangen nach jeder Schleife angeben.
- Beurteilen Sie, ob eine dynamische Reihung diese Aufgabe einfacher lösen würde.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
vipsNachVorn(q: Queue vom Inhaltstyp Gast)
Erwartungshorizont zu Aufgabe b)
Nach Schleife 1: q leer, v = V1, V2, n = G1, G2. Nach Schleife 2: q = V1, V2, v leer. Nach Schleife 3: q = V1, V2, G1, G2, n leer.
Erwartungshorizont zu Aufgabe c)
Mit einer DynArray könnte man VIPs in einem Durchlauf nach vorn verschieben (delete + insertAt an der nächsten VIP-Position). Das ist kürzer zu schreiben, aber fehleranfälliger (Indizes verschieben sich) und aufwendiger, weil jedes Einfügen vorne viele Elemente verschiebt. Die Lösung mit Schlangen bleibt beim FIFO-Prinzip und ist gut prüfbar. Begründetes Urteil erwartet.
