Grundlagen: Reihungen, Suchen, Verfahren
15 PunkteWissen abrufen und Verfahren von Hand ausführen; Zwischenschritte auf dem Konzeptpapier notieren. Empfohlene Zeit: etwa 20 Minuten.
Eine Wetterstation speichert sechs Messwerte:
double[] t = {12.5, 14.0, 9.5, 11.0, 13.5, 10.0};Geben Sie an:
t.length 1 Pt[t.length / 2] 1 Pnew double[6] vor der ersten Zuweisung belegt? 1 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) 6 (1 P) b) 5 (1 P) c) t.length / 2 = 3, t[3] = 11.0 (1 P) d) 0.0 (1 P).
Die Abfahrtszeiten eines Busses (Minuten nach 6 Uhr) sind aufsteigend gespeichert:
Wenden Sie die binäre Suche an.
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) (0 + 10) / 2 = 5 (1 P) b) 31 < 50 → links = 6; mitte 8 mit 50: Rückgabe 8 (1 P) c) 2 (1 P) d) Mitten 5 (31), 2 (14), 3 (19), 4 (25), danach links = 4 > rechts = 3: 4 Vergleiche (2 P).
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Lineare Suche – unsortiert möglich; binäre Suche – halbiert; Selectionsort – Minimum nach vorn; Insertionsort – Einfügen; Bubblesort – Nachbarn tauschen; Markierungsreihung – Platz je Wert (je 1 P).
Analysieren: Zählen, Sortieren, Laufzeit, Speicher
29 PunkteProgramme analysieren, Operationen zählen, Laufzeiten und Speicher abschätzen. Empfohlene Zeit: etwa 45 Minuten.
int z = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
if (a[j] > a[i]) {
z++;
}
}
}Analysieren Sie das Programm für eine Reihung a der Länge \(n\).
a[j] > a[i] finden für \(n = 5\) statt? 2 Pz für a = {4, 2, 5, 1, 3}? 2 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) \(0 + 1 + 2 + 3 + 4 = 10\) (2 P) b) \(\frac{100 \cdot 99}{2} = 4950\) (2 P) c) z zählt die falsch stehenden Paare: (4,2), (4,1), (4,3), (2,1), (5,1), (5,3) — 6 (2 P) d) \(O(n^2)\) (1 P).
Die Reihung {7, 3, 9, 2, 6} wird mit Insertionsort aufsteigend sortiert. Ermitteln Sie:
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: Einfügen von 3: 1 Vergleich, 1 Verschiebung; 9: 1 Vergleich; 2: 3 Vergleiche, 3 Verschiebungen; 6: 3 Vergleiche (9, 7, 3), 2 Verschiebungen. a) 8 (2 P) b) 6 (2 P) c) stabil und in-place (2 P).
Schätzen Sie ab bzw. bestimmen Sie:
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) Faktor 3 bei \(n\) → Faktor 9: 13,5 s (2 P) b) 20 (1 P) c) \(2^3 = 8\) s (2 P) d) \(O(n^2)\) — \(n^2\) wächst schneller als \(n \log n\) (1 P) e) \(50n \le n^2 \Leftrightarrow n \ge 50\) (2 P).
Berechnen Sie den Speicherbedarf der Elemente in Byte (boolean 1, int 4, double 8 Byte):
new double[500][400] 2 Pnew int[300_000] 2 Pnew boolean[10_000_000] 1 PLösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) \(500 \cdot 400 \cdot 8 = 1\,600\,000\) (2 P) b) \(300\,000 \cdot 4 = 1\,200\,000\) (2 P) c) \(10^7\) (1 P) d) Selectionsort, lineare Suche, Insertionsort — Kopie \(O(n)\), Markierungsreihung \(O(W)\) (3 P).
Beurteilen: Effizienz in Anwendungen
16 PunkteStrategien vergleichen und begründet entscheiden. Empfohlene Zeit: etwa 25 Minuten.
Ein Sportverein speichert 3000 Anmeldenummern unsortiert. Suchen erfolgen linear oder nach einmaligem Sortieren mit Selectionsort binär (ungünstigster Fall, \(\lfloor\log_2 3000\rfloor + 1 = 12\)).
Beurteilen Sie die Strategien.
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) \(3000k > \frac{3000 \cdot 2999}{2} + 12k = 4\,498\,500 + 12k \Leftrightarrow k > 1505{,}5\): ab 1506 Suchen (3 P) b) 800 Suchen zwischen zwei Änderungen liegen unter 1506 — Sortieren lohnt nicht (2 P) c) Etwa 24 000 Suchen je Monat, weit über 1506: einmal sortieren und binär suchen (3 P).
Algorithmus A braucht \(50 \cdot n \cdot \log_2 n\), Algorithmus B \(n^2\) Schritte.
Vergleichen Sie die Algorithmen.
Lösung anzeigen (nach Auswerten freigeschaltet)
Erwartungshorizont: a) \(50 \cdot 256 \cdot 8 = 102\,400\) (2 P) b) \(256^2 = 65\,536\) (1 P) c) A: \(50 \cdot 4096 \cdot 12 = 2\,457\,600\), B: \(16\,777\,216\) — A (2 P) d) A gewinnt für große \(n\); bei 256 ist B schneller; A liegt auch in \(O(n^2)\), weil O eine obere Schranke ist. Konstante Faktoren ändern die Klasse nicht (3 P).
Ergebnis
| Aufgabe | Thema | Punkte |
|---|
Punkteverteilung
| Aufgabe | Thema | Teil | AFB | Punkte |
|---|---|---|---|---|
| A1 | Temperaturmessung | Teil A | AFB I | 4 |
| A2 | Binäre Suche im Fahrplan | Teil A | AFB I | 5 |
| A3 | Verfahren und ihre Idee | Teil A | AFB I | 6 |
| A4 | Paare zählen | Teil B | AFB II | 7 |
| A5 | Insertionsort verfolgen | Teil B | AFB II | 6 |
| A6 | Laufzeiten abschätzen | Teil B | AFB II | 8 |
| A7 | Speicher | Teil B | AFB II | 8 |
| A8 | Das Anmeldesystem | Teil C | AFB III | 8 |
| A9 | Zwei Algorithmen | Teil C | AFB III | 8 |
| Summe (AFB I: 15 P · AFB II: 29 P · AFB III: 16 P) | 60 | |||
Notenschema (Notenpunkte der Oberstufe)
| Punkte | Notenpunkte | Beurteilung |
|---|---|---|
| 57 – 60 P | 15 | sehr gut + |
| 54 – 56 P | 14 | sehr gut |
| 51 – 53 P | 13 | sehr gut − |
| 48 – 50 P | 12 | gut + |
| 45 – 47 P | 11 | gut |
| 42 – 44 P | 10 | gut − |
| 39 – 41 P | 9 | befriedigend + |
| 36 – 38 P | 8 | befriedigend |
| 33 – 35 P | 7 | befriedigend − |
| 30 – 32 P | 6 | ausreichend + |
| 27 – 29 P | 5 | ausreichend |
| 24 – 26 P | 4 | ausreichend − |
| 20 – 23 P | 3 | mangelhaft + |
| 16 – 19 P | 2 | mangelhaft |
| 12 – 15 P | 1 | mangelhaft − |
| 0 – 11 P | 0 | ungenügend |
