MINT lernen

Abituraufgaben: Bausteine eines Algorithmus

Zwei Abituraufgaben zu Algorithmen und ihren Bausteinen — mit Hinweisen und Erwartungshorizont.

Dein Fortschritt:
0 / 0 Aufgaben
1

Der Getränkeautomat

AFB I–II

Ein Getränkeautomat nimmt nacheinander Münzen an, bis der Preis eines Getränks von 1,80 € erreicht oder überschritten ist. Anschließend gibt er das Getränk aus und — falls zu viel eingeworfen wurde — das Wechselgeld. Die folgende Beschreibung stammt aus der Bedienungsanleitung:

„Werfen Sie Münzen ein. Der Automat addiert die Beträge. Ist der Preis erreicht, erhalten Sie Ihr Getränk und gegebenenfalls Wechselgeld.“

  1. Beschreiben Sie, welche Eingaben der Automat verarbeitet und welche Ausgaben er erzeugt.
  2. Stellen Sie den Ablauf als Algorithmus in Pseudocode dar. Verwenden Sie dabei eine Wiederholung und eine Verzweigung.
  3. Begründen Sie, dass Ihr Algorithmus terminiert, sofern nur Münzen mit positivem Wert eingeworfen werden.

Hinweise

Hinweis zu Aufgabe a)
Eingaben sind alles, was von außen kommt; Ausgaben alles, was der Automat abgibt.
Hinweis zu Aufgabe b)
Welche Variable sammelt den eingeworfenen Betrag? Was muss vor der Schleife feststehen, was wird wiederholt, und wann wird entschieden, ob es Wechselgeld gibt?
Hinweis zu Aufgabe c)
Was passiert mit dem eingeworfenen Betrag bei jedem Durchlauf — und wie verhält er sich zur Grenze 1,80 €?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Eingaben: die Werte der eingeworfenen Münzen (nacheinander), ggf. die Getränkewahl. Ausgaben: das Getränk und — wenn der eingeworfene Betrag größer als 1,80 € ist — Wechselgeld in Höhe der Differenz.

Erwartungshorizont zu Aufgabe b)
Pseudocode
betrag ← 0
solange betrag < 1,80 wiederhole
  Eingabe: muenze
  betrag ← betrag + muenze
ende solange
Ausgabe: Getränk
wenn betrag > 1,80 dann
  Ausgabe: Wechselgeld betrag − 1,80
ende wenn

Initialisierung vor der Schleife, Summieren im Rumpf, einseitige Verzweigung nach der Schleife.

Erwartungshorizont zu Aufgabe c)

Jede Münze hat einen Wert von mindestens 0,01 €. Bei jedem Durchlauf wächst betrag also um mindestens 0,01 €. Nach höchstens 180 Durchläufen ist betrag ≥ 1,80, die Bedingung der Schleife ist falsch und der Algorithmus endet. Die Anweisungen danach werden je genau einmal ausgeführt.

2

Die Warteschlange im Freizeitpark

AFB II–III

Ein Freizeitpark lässt Besucher in Gruppen in eine Achterbahn. Ein Wagen fasst 6 Personen. Ein Mitarbeiter arbeitet nach folgendem Algorithmus, bis die Schlange leer ist:

Pseudocode
wartende ← Eingabe
fahrten ← 0
solange wartende > 0 wiederhole
  wenn wartende ≥ 6 dann
    wartende ← wartende − 6
  sonst
    wartende ← 0
  ende wenn
  fahrten ← fahrten + 1
ende solange
Ausgabe: fahrten
  1. Analysieren Sie, was der Algorithmus berechnet, und geben Sie die Ausgabe für 20 wartende Personen an.
  2. Erweitern Sie den Algorithmus so, dass zusätzlich die Anzahl leerer Plätze in allen Fahrten zusammen ausgegeben wird.
  3. Beurteilen Sie, ob der Algorithmus auch für die Eingabe 0 und für eine negative Eingabe sinnvoll arbeitet.

Hinweise

Hinweis zu Aufgabe a)
Spiele den Algorithmus mit 20 durch: Wie verändert sich wartende Durchlauf für Durchlauf?
Hinweis zu Aufgabe b)
Leere Plätze entstehen nur in der letzten, nicht vollen Fahrt — in welchem Zweig der Verzweigung?
Hinweis zu Aufgabe c)
Prüfe, wie oft die Schleife bei 0 läuft. Was ist bei −3 los — und ist eine solche Eingabe überhaupt zulässig?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)

Der Algorithmus berechnet, wie viele Fahrten nötig sind, bis alle Wartenden gefahren sind (Division durch 6, aufgerundet). Für 20: wartende 20 → 14 → 8 → 2 → 0, also 4 Fahrten.

Erwartungshorizont zu Aufgabe b)

Vor der Schleife leer ← 0. Im sonst-Zweig vor wartende ← 0: leer ← leer + (6 − wartende). Nach der Schleife zusätzlich Ausgabe: leer. Für 20 Personen ergibt sich 6 − 2 = 4 leere Plätze.

Erwartungshorizont zu Aufgabe c)

Eingabe 0: Die Bedingung ist sofort falsch, ausgegeben wird 0 Fahrten — sinnvoll. Negative Eingabe: Ebenfalls 0 Fahrten, der Algorithmus terminiert also. Eine negative Anzahl von Personen ist aber fachlich unsinnig; sinnvoll wäre eine Prüfung der Eingabe mit einer Fehlermeldung. Urteil: korrekt für alle zulässigen Eingaben (ganze Zahlen ≥ 0), die Behandlung unzulässiger Eingaben fehlt.