Dein Fortschritt:
0 / 0 Aufgaben
1
Übungsaufgaben
Dreißig Aufgaben von den Operationen der Prüfungsvorgaben (AFB I) bis zur Abschätzung des Aufwands (AFB III). Jede Übung meldet sofort zurück.
A1
Länge und Index im Vergleich
AFB IEine DynArray d ist anfangs leer. Berechne in jeder Zeile beide Größen und setze das passende Zeichen.
Setze zwischen die beiden Angaben das passende Zeichen: Klick schaltet ? → < → = → > weiter. Mit der Tastatur: Tab zum Feld, dann <, = oder >.
Länge nach 5 ×
append und 2 × deleteLänge nach 4 × appendletzter gültiger Index bei Länge 9Länge von 8 Elementen
Länge nach 6 ×
append und 3 × setItemLänge nach 7 × append und 2 × deleteZahl der gültigen Indizes bei Länge 7größter gültiger Index bei Länge 7
Länge nach 4 ×
insertAt und 4 × deleteLänge einer leeren Reihungappend und insertAt verlängern um 1, delete verkürzt um 1, setItem ändert die Länge nicht: 5 − 2 = 3 gegen 4; 6 gegen 7 − 2 = 5; 4 − 4 = 0 gegen 0. Bei Länge n ist der letzte Index n − 1 (9 − 1 = 8), und es gibt n gültige Indizes: 7 gegen 6.
Zähle bei jeder Seite mit: plus 1 für append und insertAt, minus 1 für delete, setItem zählt nicht.
Der letzte gültige Index ist immer um 1 kleiner als die Länge, denn die Zählung beginnt bei 0.
A2
Gültige Aufrufe
AFB IDas Bild zeigt die DynArray d. Jeder Aufruf der Tabelle wird auf diesem Zustand ausgeführt. Ein Aufruf mit ungültigem Index bricht ab und lässt d unverändert.
Lies am Bild ab, ob der Index jeweils gültig ist, und gib die Länge von d danach an.
Setze für jede Zeile die Ausgänge: Klick auf ein Feld schaltet ? → Zustand 1 → Zustand 2 … weiter. Tastatur: Enter/Leertaste schaltet, Pfeiltasten wandern durch die Tabelle.
| Aufruf | Index gültig | Länge danach |
|---|---|---|
| getItem(5) | ||
| getItem(6) | ||
| delete(5) | ||
| insertAt(2, 7) | ||
| setItem(7, 1) | ||
| setItem(0, 9) |
Das Bild hat 6 Elemente, gültig sind die Indizes 0 bis 5. getItem(5) und setItem(0, 9) ändern die Länge nicht (6), delete(5) macht 5 daraus, insertAt(2, 7) macht 7. getItem(6) und setItem(7, 1) haben ungültige Indizes: Die Länge bleibt 6.
Zähle die Felder im Bild: Welcher Index ist der letzte, der noch belegt ist?
Nur append, insertAt und delete ändern die Länge. Bei ungültigem Index wird nichts ausgeführt.
A3
Die Playlist wird umgebaut
AFB IIDas Bild zeigt eine Playlist p (DynArray von Titeln) vor diesem Programmstück:
p.delete(1); p.insertAt(3, "Beat"); p.setItem(0, p.getItem(2));
Interpretiere das Programmstück am Bild und klicke nacheinander die gefragten Titel an.
Klicke die gesuchte Stelle an. Mit der Tastatur: Tab oder Pfeiltasten zum Wandern, Enter zum Auswählen.
delete(1) entfernt Jazz: Rock, Pop, Soul, Folk. insertAt(3, "Beat") schiebt Folk nach hinten: Rock, Pop, Soul, Beat, Folk. setItem(0, p.getItem(2)) ersetzt Rock durch Soul: Soul, Pop, Soul, Beat, Folk. Folk steht an Index 4, Pop an Index 1, Soul doppelt.
Führe die drei Zeilen nacheinander aus und notiere dir nach jeder Zeile die ganze Playlist mit ihren Indizes.
Nach delete(1) und insertAt(3, …) hat sich die Reihenfolge verschoben. setItem überschreibt nur einen Platz, es verschiebt nichts.
