Arrays und Datenstrukturen
Arrays and Data Structures
Ein Array (eindimensionales Feld) verwaltet viele gleichartige Werte unter einem Namen, einzeln erreichbar über einen Index; durchlaufen wird es mit einer Zählschleife, dazu Einfügen, Entfernen und Suchen. Zwei dokumentierte Hürden stehen im Zentrum (Qian & Lehman 2017): die Null-Indizierung — das erste Element hat Index 0, ein Feld der Länge n endet bei n−1 (die klassische Um-eins-daneben-Falle) — und Referenzen: Eine Array-Variable hält einen Verweis, und eine Zuweisung kopiert diesen Verweis, nicht die Elemente.
Voraussetzungen (1)
Ermöglicht (2)
Ein Programm soll die 25 Testergebnisse einer Klasse unter einem Namen speichern. Welche Deklaration nutzt dafür ein Array (Feld)?
Der ___ eines Array-Elements gibt seine Position im Array an. In den meisten Programmiersprachen beginnt er bei 0.
Ein Array kann Elemente unterschiedlicher Datentypen speichern (z. B. gleichzeitig Zahlen und Texte).
Was gibt die Eigenschaft 'Länge' eines Arrays an?
Objekte können in Arrays gespeichert werden (z. B. ein Array von Schueler-Objekten).
Im UML-Klassendiagramm wird die Klasse Schueler als Rechteck mit drei Bereichen gezeichnet. Was steht im mittleren Bereich?
Gegeben: Konto a = new Konto(); Konto b = a; b.einzahlen(50);. Welchen Kontostand liefert a.getStand() danach?
Wenn man in einem Programm ein Objekt über eine ___ anspricht, arbeitet man nicht mit einer Kopie, sondern mit dem Original.
Um ein Element in der Mitte eines Arrays einzufügen, müssen alle nachfolgenden Elemente verschoben werden.
In der Klasse Konto ist das Attribut kontostand private, die Methode einzahlen(int betrag) ist public. Welcher Zugriff von außen funktioniert?
Das Array noten hat die Länge 8. Welche for-Schleife besucht jedes Element genau einmal und stürzt nicht ab?
Eine Klasse kann als ___ für ein Objekt verwendet werden — z. B. kann eine Variable des Typs 'Schueler' ein Schueler-Objekt referenzieren.
Was passiert bei einem Zugriff auf arr[5] in einem Array der Länge 5?
Beim ___ von Elementen aus einem Array müssen ggf. nachfolgende Elemente nach vorne verschoben werden, um Lücken zu füllen.
Eine Schule hat viele Lehrer (1:n). Welches Attribut passt dafür in die Klasse Schule?
In welcher Codezeile kommuniziert das Objekt verleih mit dem Objekt rad1 (schickt ihm eine Nachricht)?