MINT üben

Statische Reihungen

Zwei Aufgaben im Stil des Abiturs — Fächer einer Paketstation und Sitzplätze im Fernbus.

Dein Fortschritt:
0 / 0 Aufgaben
1

Eine Paketstation verwalten

AFB I–II

Eine Paketstation hat zwölf Fächer, die für die Kundschaft mit den Nummern 1 bis 12 beschriftet sind. Die Steuerung speichert in einer Reihung belegt mit 12 Wahrheitswerten, ob ein Fach belegt ist. Das Fach mit dem Schild 1 gehört zum Index 0.

Beim Start werden folgende Anweisungen ausgeführt:

boolean[] belegt = new boolean[12];
belegt[4] = true;
belegt[11] = true;
Paketstation am Bahnhof (Vorderansicht)
123456789101112Schild = Fachnummer für die Kundschaft (1 bis 12) · orange = belegt
Im Programm: boolean[] belegt mit 12 Elementen
  1. Beschreiben Sie, welchen Zustand die Reihung nach diesen drei Anweisungen hat und welche Fächer (Schildnummern) belegt sind.
  2. Anschließend werden belegt[0] = true;, belegt[4] = false; und belegt[7] = belegt[11]; ausgeführt. Stellen Sie den Inhalt der Reihung danach als Kästchenfolge mit Indizes dar.
  3. Ein Kollege schreibt für das Fach mit dem Schild 12 die Anweisung belegt[12] = true;. Erläutern Sie, was beim Ausführen passiert, und geben Sie allgemein an, wie man aus einer Schildnummer nr den Index erhält.
  4. Implementieren Sie eine Methode boolean istFrei(boolean[] belegt, int nr), die für eine Schildnummer nr zurückgibt, ob das Fach frei ist. Für ungültige Nummern (kleiner als 1 oder größer als die Anzahl der Fächer) soll false zurückgegeben werden.

Hinweise

Hinweis zu Aufgabe a)
Welchen Standardwert haben die Plätze einer boolean-Reihung nach new?
Hinweis zu Aufgabe b)
Arbeiten Sie die drei Anweisungen der Reihe nach ab; die dritte liest einen Wert und schreibt ihn an einen anderen Platz.
Hinweis zu Aufgabe c)
Vergleichen Sie Schildnummer und Index an Fach 1 und an Fach 12.Erläutern: nachvollziehbar und verständlich machen, mit Beispiel.
Hinweis zu Aufgabe d)
Zuerst die ungültigen Nummern abfangen, dann belegt[nr - 1] auswerten. „Frei“ ist das Gegenteil von „belegt“.