MINT lernen

Algorithmen analysieren

Was berechnet dieser Algorithmus eigentlich — und hält er überhaupt an? Systematisches Analysieren beantwortet beides, ohne den Code auszuführen.

1

Was leistet der Algorithmus?

  • Analysieren:Zweck, Eingaben, Ausgaben und die Rolle jeder Variablen herausarbeiten — ohne den Code auszuführen.
  • Zähler:zählt Durchläufe oder Treffer: z ← z + 1
  • Akkumulator:sammelt ein Ergebnis auf: s ← s + x oder p ← p · x
  • Merker:speichert den bisher besten Wert, z. B. das Maximum, oder einen Zustand (wahr/falsch).
  • Durchläufe:aus Startwert, Abbruchbedingung und Schrittweite der Schleifenvariable bestimmen.
  • Vorgehen:mit kleinen Beispielwerten durchspielen, dann verallgemeinern: „Der Algorithmus berechnet …“.
2

Terminiert er — und ist er korrekt?

  • Terminierung:jede Schleife endet: die Bedingungsvariable nähert sich in jedem Durchlauf dem Abbruch.
  • Falle:die Variable springt über den Abbruchwert hinweg (≠ statt >) oder ändert sich gar nicht.
  • Korrektheit:für jede zulässige Eingabe kommt das gewünschte Ergebnis heraus.
  • Randfälle:mit 0, 1, negativen Zahlen, gleichen Werten und leeren Eingaben testen.
  • Gegenbeispiel:ein einziges genügt, um zu zeigen, dass ein Algorithmus falsch ist.

Lies das Struktogramm, tippe rechts deine Antwort an und starte dann mit ▶ den Ablauf. Die aktive Anweisung leuchtet auf, der Speicher zeigt die Werte.

Erst tippen, dann laufen lassen

Fall 1 von 5
Deine Vorhersage

Speicher

VariableWert

Schleifendurchläufe: –

Halte fest: Wer die Werte der Schleifenvariable Durchlauf für Durchlauf verfolgt, sieht Ergebnis, Anzahl der Durchläufe — und ob die Schleife überhaupt endet.

Merke

Korrekt ist ein Algorithmus, wenn er für jede zulässige Eingabe terminiert und das gewünschte Ergebnis liefert.

3

Allgemeine Hinweise

Ein Test ist kein Beweis

Drei erfolgreiche Tests zeigen nur, dass der Algorithmus für diese Eingaben funktioniert. Randfälle können ihn trotzdem scheitern lassen.

< oder ≤ — ein Durchlauf Unterschied

Ob die Bedingung i < n oder i ≤ n lautet, entscheidet über einen Schleifendurchlauf mehr oder weniger — ein Klassiker in Klausuren.

Rollen notieren

Schreibe neben jede Variable ihre Rolle (Zähler, Summe, Merker). Dann lässt sich der Zweck des Algorithmus meist in einem Satz formulieren.

Videos