MINT lernen

Übung — AFB I (Reproduzieren)

Zehn Grundaufgaben zum ganzen Kapitel — von Index und Länge über Suchen und Sortieren von Hand bis zu Vergleichszahl und Speicher.

Dein Fortschritt:
0 / 0 Aufgaben
1

Aufgabenblock — AFB I

Zehn Standardaufgaben zum Reproduzieren aus dem ganzen Kapitel: Index und Länge, Durchläufe, Tabellen, Suchen und Sortieren von Hand, Vergleiche zählen und Speicher ablesen. Das sind die sicheren Punkte in jeder Klausur.

A1
Länge und letzter Index
AFB I

Ein Fitness-Tracker legt für die Tageshöchstwerte einer Woche double[] puls = new double[7]; an. Geben Sie den größten gültigen Index und den Wert von puls.length an.

Index ab 0: Eine Reihung der Länge \(n\) hat die Indizes 0 bis \(n - 1\).
Lösung anzeigen
Länge 7 → Indizes 0 … 6. → 6 und 7
A2
Summe und Zählen
AFB I

Ein Durchlauf wertet int[] w = {4, 11, 7, 2, 9}; aus: s summiert alle Werte, z zählt die Werte größer als 5. Berechnen Sie die Endwerte.

Akkumulatoren: Summe und Zähler beginnen bei 0; „größer als 5“ ist echt größer.
Lösung anzeigen
4 + 11 + 7 + 2 + 9 = 33; größer als 5 sind 11, 7, 9. → 33 und 3
A3
Eine Tabelle im Kino
AFB I

Ein Kinosaal wird als boolean[][] sitz = new boolean[12][20]; gespeichert (Reihe, Platz). Nennen Sie sitz.length, sitz[0].length und die Zahl aller Plätze.

Erst Zeile, dann Spalte: m.length zählt die Zeilen, m[0].length die Spalten.
Lösung anzeigen
12 Reihen zu je 20 Plätzen: 12 · 20 = 240. → 12, 20 und 240
A4
Lineare Suche
AFB I

Gegeben ist int[] c = {8, 3, 12, 3, 5};. Wenden Sie die lineare Suche an: Welchen Index liefert lineareSuche(c, 3), und wie viele Vergleiche braucht lineareSuche(c, 7)?

Erster Treffer: Die Suche bricht beim ersten Vorkommen ab; fehlt der Wert, werden alle Elemente verglichen.
Lösung anzeigen
Die erste 3 steht an Index 1. 7 fehlt: alle 5 Elemente werden verglichen, Rückgabe −1. → 1 und 5
A5
Binäre Suche von Hand
AFB I

Die sortierte Reihung

wird mit der binären Suche nach 44 durchsucht. Stellen Sie den Ablauf in einer Tracetabelle dar und geben Sie die erste Mitte, den Rückgabewert und die Zahl der Vergleiche ein.

Mitte: (links + rechts) / 2 ganzzahlig; danach links ← mitte + 1 oder rechts ← mitte − 1.
Lösung anzeigen
mitte = (0 + 8) / 2 = 4, r[4] = 30 < 44 → links = 5; mitte = (5 + 8) / 2 = 6, r[6] = 44 → Treffer. → 4, 6 und 2
A6
Ein Durchlauf Selectionsort
AFB I

Die Reihung {29, 13, 41, 8, 22} wird aufsteigend mit Selectionsort sortiert. Bestimmen Sie nach dem ersten Durchlauf den Index, an dem das Minimum stand, und den Wert an Index 3.

Selectionsort: Das Minimum des unsortierten Rests wird mit dem ersten Element des Rests getauscht.
Lösung anzeigen
Minimum 8 an Index 3; Tausch mit 29 → {8, 13, 41, 29, 22}. → 3 und 29
A7
Insertionsort zählen
AFB I

Die Reihung {12, 5, 17, 9} wird mit Insertionsort sortiert. Ermitteln Sie die Gesamtzahl der Vergleiche und der Verschiebungen.

Einfügen: Das nächste Element wird mit den Elementen links davon verglichen, bis ein kleineres oder der Anfang erreicht ist; größere rücken nach rechts.
Lösung anzeigen
Einfügen von 5: 1 Vergleich, 1 Verschiebung. 17: 1 Vergleich. 9: mit 17, 12, 5 verglichen, 17 und 12 verschoben. Summe 5 Vergleiche, 3 Verschiebungen. → 5 und 3
A8
Ein Durchlauf Bubblesort
AFB I

Auf {6, 2, 9, 4} wird ein Durchlauf von Bubblesort ausgeführt (aufsteigend). Beschreiben Sie den Durchlauf und geben Sie die Zahl der Vertauschungen und den Wert an Index 2 danach ein.

Bubblesort: Benachbarte Elemente werden verglichen und getauscht, wenn das linke größer ist; das Größte wandert nach hinten.
Lösung anzeigen
(6, 2) tauschen → 2 6 9 4; (6, 9) bleibt; (9, 4) tauschen → 2 6 4 9. → 2 und 4
A9
Vergleiche zählen
AFB I

Fassen Sie die Vergleichszahlen zusammen: Selectionsort für \(n = 8\) Elemente und die binäre Suche im ungünstigsten Fall für \(n = 100\).

Formeln: Selectionsort \(\frac{n(n-1)}{2}\); binäre Suche \(\lfloor\log_2 n\rfloor + 1\).
Lösung anzeigen
\(\frac{8 \cdot 7}{2} = 28\); \(2^6 = 64 \le 100 < 128\) → 6 + 1 = 7. → 28 und 7
A10
Speicher einer Reihung
AFB I

Lesen Sie an den Deklarationen den Speicherbedarf der Elemente in Byte ab (int 4 Byte, double 8 Byte): new int[250] und new double[10][50].

Speicher: Anzahl der Elemente · Byte je Element.
Lösung anzeigen
250 · 4 = 1000 Byte; 10 · 50 · 8 = 4000 Byte. → 1000 und 4000