MINT lernen

Probe-Klausur

Eine komplette Probe-Klausur über das ganze Kapitel: 90 Minuten, 50 Punkte in drei Anforderungsbereichen — mit Erwartungshorizont und Notenschema.

Punkte0 / 50
Note—
Bearbeitet0 / 0
Bearbeitungszeit90 Minuten
AFB I

Wissen und Reproduzieren

15 Punkte
A1
Grundbegriffe
AFB I 4 Punkte

Kreuzen Sie alle zutreffenden Aussagen an. Jede falsch gewählte Aussage hebt eine richtige auf.

Welche Aussagen sind richtig? (mehrere Antworten richtig) 4 P
Lösung anzeigen (nach Auswerten freigeschaltet)

Richtig sind: endlich viele eindeutige Schritte; Aufbau aus Sequenz, Verzweigung, Wiederholung; kopfgesteuerte Schleife ggf. null Durchläufe; x ← x + 1 überschreibt x — je 1 P. Falsch: „ein paar Mal“ ist nicht eindeutig; lokale Variablen entstehen bei jedem Aufruf neu; Java vergleicht Zeichenketten mit equals, == vergleicht nur die Referenzen. (4 P)

A2
Ausdrücke auswerten
AFB I 11 Punkte

Bestimmen Sie den Wert der folgenden Ausdrücke. Schreiben Sie Kommazahlen mit Komma, negative Zahlen mit Minuszeichen.

a) Pseudocode, ganzzahlig: 1 P
b) Pseudocode: 1 P
c) Pseudocode, kleinster positiver Rest: 2 P
d) Java: 1 P
e) Java mit int-Werten: 2 P
f) Python: 1 P
g) Java, ASCII-Wert: 1 P
h) Java: 1 P
i) Java: 1 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) 47 = 7 · 6 + 5, Ganzzahldivision: 7 (1 P)

b) Rest: 5 (1 P)

c) −23 = (−5) · 5 + 2, der kleinste positive Rest ist 2 (Probe: −25 + 2 = −23) (2 P)

d) Java schneidet zur 0 hin ab: −23 / 5 = −4, Rest −23 − (−20) = −3 (1 P)

e) von links: 9 / 4 = 2 (ganzzahlig), 2 * 4 = 8 — nicht 9 (2 P)

f) in Python ist / nie ganzzahlig: 2,25 (1 P)

g) 'K' ist der 11. Großbuchstabe: 65 + 10 = 75 (1 P)

h) das Leerzeichen zählt mit: 9 (1 P)

i) der Cast schneidet ab, statt zu runden: 7 (1 P)

AFB II

Zusammenhänge herstellen

25 Punkte
A3
Tracetabelle
AFB II 6 Punkte

Gegeben ist der folgende Algorithmus. Erstellen Sie eine Tracetabelle und bestimmen Sie damit:

Pseudocode
x ← 45
z ← 0
e ← 0
solange x > 0 wiederhole
  wenn x mod 2 = 1 dann
    e ← e + 1
  ende wenn
  x ← x / 2
  z ← z + 1
ende solange
Ausgabe: z, e
a) Wie oft wird der Schleifenrumpf ausgeführt? 2 P
b) Welchen Wert hat x nach dem dritten Durchlauf? 2 P
c) Welcher Wert wird für e ausgegeben? 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)
Durchlaufx mod 2 = 1?xze
Start–4500
1ja2211
2nein1121
3ja532
4ja243
5nein153
6ja064

a) x wird so lange halbiert, bis 0 erreicht ist: 45 → 22 → 11 → 5 → 2 → 1 → 0, also 6 Durchläufe (2 P)

b) nach dem dritten Durchlauf: 5 (2 P)

c) e zählt die ungeraden Zwischenwerte 45, 11, 5, 1: 4. Der Algorithmus bestimmt die Anzahl der Binärstellen (z) und der Einsen (e) von 45 = 101101₂. (2 P)

A4
Operationen aufrufen
AFB II 6 Punkte

Gegeben ist die Operation teile:

Pseudocode
Operation teile(a, b)
  wenn a mod b = 0 dann
    zurück a / b
  sonst
    zurück a + b
  ende wenn

Bestimmen Sie die Rückgabewerte der folgenden Aufrufe.

a) Aufruf mit 24 und 6: 2 P
b) Argumente vertauscht: 2 P
c) Verschachtelter Aufruf: 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) a ← 24, b ← 6; 24 mod 6 = 0 ⇒ zurück 24 / 6 = 4 (2 P)

b) a ← 6, b ← 24; 6 mod 24 = 6 ≠ 0 ⇒ zurück 6 + 24 = 30 — die Reihenfolge der Argumente entscheidet (2 P)

c) innen zuerst: teile(35, 7) = 5; dann teile(5, 3): 5 mod 3 = 2 ≠ 0 ⇒ 5 + 3 = 8 (2 P)

A5
Lokale und globale Variablen
AFB II 6 Punkte

Betrachten Sie das folgende Java-Programm.

Java
static int stand = 10;

static int buchen(int betrag) {
    int stand = betrag * 2;
    return stand + 1;
}

static void aufladen(int betrag) {
    stand = stand + betrag;
}

public static void main(String[] args) {
    int r = buchen(4);
    aufladen(r);
    aufladen(3);
    System.out.println(stand);
}
a) Welchen Wert hat r nach dem Aufruf von buchen(4)? 2 P
b) Welcher Wert wird am Ende ausgegeben? 2 P
c) Welche Aussagen sind richtig? (mehrere Antworten richtig) 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) in buchen verdeckt die lokale Variable stand die globale: lokal 4 · 2 = 8, zurück 8 + 1 = 9 (2 P)

b) die globale Variable ist noch 10; aufladen(9) ⇒ 19, aufladen(3) ⇒ 22 (2 P)

c) richtig: betrag ist jeweils ein Parameter (lokal); die lokale Variable verschwindet mit dem Ende von buchen. Falsch: buchen ändert nur die lokale Kopie; mit int stand entstünde auch in aufladen eine neue lokale Variable — die Zeile ließe sich so nicht einmal übersetzen, weil die neue lokale Variable rechts noch nicht initialisiert ist. (2 P)

A6
Zeichenketten verarbeiten
AFB II 7 Punkte

Gegeben ist der folgende Algorithmus. Die Positionen einer Zeichenkette beginnen bei 0.

Pseudocode
s ← "Mississippi"
z ← 0
für i von 1 bis länge(s) − 1 wiederhole
  wenn s[i] = s[i − 1] dann
    z ← z + 1
  ende wenn
ende für
Ausgabe: z
a) Länge der Zeichenkette: 1 P
b) Welcher Wert wird ausgegeben? 2 P
c) Java: An welcher Position beginnt "sip"? 2 P
d) Java: Bestimmen Sie (int) s.charAt(4) - (int) s.charAt(0). 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) M-i-s-s-i-s-s-i-p-p-i: 11 Zeichen, Positionen 0 bis 10 (1 P)

b) der Algorithmus zählt gleiche Nachbarzeichen: „ss“ (2/3), „ss“ (5/6), „pp“ (8/9) ⇒ 3 (2 P)

c) s[6] = 's', s[7] = 'i', s[8] = 'p' ⇒ 6 (bei Position 3 steht „sis“) (2 P)

d) s[4] = 'i' (105), s[0] = 'M' (77) ⇒ 105 − 77 = 28 (2 P)

AFB III

Verallgemeinern und beurteilen

10 Punkte
A7
Korrektheit beurteilen
AFB III 5 Punkte

Die Operation stellen soll für jede natürliche Zahl n ≥ 0 die Anzahl ihrer Ziffern zurückgeben.

Pseudocode
Operation stellen(n)
  z ← 0
  solange n > 0 wiederhole
    n ← n / 10
    z ← z + 1
  ende solange
  zurück z
a) Bestimmen Sie den Rückgabewert: 1 P
b) Für genau eine zulässige Eingabe liefert die Operation ein falsches Ergebnis. Geben Sie diese Eingabe an. 2 P
c) Welche Aussagen sind richtig? (mehrere Antworten richtig) 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) 40705 → 4070 → 407 → 40 → 4 → 0: 5 Durchläufe (1 P)

b) n = 0: Die Schleife läuft nicht, zurückgegeben wird 0 — die Zahl 0 hat aber eine Ziffer. Für jedes n ≥ 1 stimmt das Ergebnis. (2 P)

c) richtig: n / 10 < n für n > 0 und n bleibt ≥ 0 (Terminierung); die fußgesteuerte Schleife liefert bei n = 0 genau einen Durchlauf, für n ≥ 1 ist die Bedingung anfangs ohnehin wahr. Falsch: Tests zeigen nur Fehler, nie Korrektheit; die beiden Zeilen im Rumpf sind voneinander unabhängig. (2 P)

A8
Zufallszahlen beurteilen
AFB III 5 Punkte

Ein Spiel erzeugt eine Zufallszahl mit der Java-Anweisung

Java
int w = (int) (Math.random() * 20) + 5;
a) Welcher Wert ist der kleinstmögliche? 1 P
b) Welcher Wert ist der größtmögliche? 1 P
c) Wie viele verschiedene Werte sind möglich? 1 P
d) Welche Ausdrücke liefern jede ganze Zahl von 10 bis 30 (beide einschließlich) gleich wahrscheinlich? (mehrere Antworten richtig) 2 P
Lösung anzeigen (nach Auswerten freigeschaltet)

a) Math.random() kann 0 liefern: (int) 0 + 5 = 5 (1 P)

b) Math.random() * 20 ist stets kleiner als 20, abgeschnitten höchstens 19: 19 + 5 = 24 (1 P)

c) 5 bis 24: 20 Werte (1 P)

d) von 10 bis 30 gibt es 30 − 10 + 1 = 21 Werte, also Faktor 21 und Verschiebung um 10; randint schließt beide Grenzen ein. Faktor 20 lässt die 30 aus, Faktor 30 reicht bis 39, randint(10, 31) bis 31. (2 P)

Ergebnis

Erreicht
0 / 50
Prozent
0 %
Note
—
AufgabeThemaPunkte

Notenschema

PunkteNoteNotenpunkteBeurteilung
50 – 46 P115–13sehr gut
45 – 40 P212–10gut
39 – 30 P39–7befriedigend
29 – 22 P46–4ausreichend
21 – 12 P53–1mangelhaft
11 – 0 P60ungenügend