MINT lernen

Bausteine eines Algorithmus

Pfandautomat, Navi oder Kochrezept — alle folgen einem Algorithmus, und jeder davon ist aus nur drei Bausteinen gebaut.

1

Was ist ein Algorithmus?

  • Algorithmus:endliche Folge eindeutiger, ausführbarer Anweisungen, die ein Problem löst.
  • EVA:aus einer Eingabe wird durch Verarbeitung eine Ausgabe.
  • Endlich:die Beschreibung hat endlich viele Schritte.
  • Eindeutig:nach jedem Schritt ist klar, welcher als Nächstes kommt — ohne Rückfrage.
  • Ausführbar:jeder Schritt kann von der Maschine tatsächlich ausgeführt werden.
  • Terminiert:er hält nach endlich vielen Schritten an.
  • Allgemein:er löst eine ganze Klasse von Aufgaben, z. B. jeden Pfandbetrag — nicht nur einen.
2

Drei Bausteine genügen

  • Sequenz:Anweisungen werden nacheinander ausgeführt, genau in der notierten Reihenfolge.
  • Verzweigung:eine Bedingung entscheidet, welcher Zweig ausgeführt wird: einseitig (nur „wahr“) oder zweiseitig („wahr“/„falsch“).
  • Wiederholung:ein Block läuft mehrfach — solange eine Bedingung gilt oder eine feste Anzahl lang.
  • Bedingung:ein Ausdruck, der wahr oder falsch ist, z. B. summe > 10.
  • Schachtelung:Bausteine dürfen ineinanderstehen: eine Verzweigung in einer Schleife, eine Schleife in einer Verzweigung.

Bringe die Karten in die Reihenfolge, in der der Pfandautomat arbeitet: ziehen — oder Karte mit Leertaste aufnehmen, mit den Pfeiltasten verschieben, mit Leertaste ablegen. Die Einrückung verrät, was innerhalb der Schleife steht.

Der Pfandautomat

Karten des Pfandautomaten
Struktogramm

Halte fest: Schon ein einfacher Automat braucht alle drei Bausteine — die Reihenfolge der Karten ist die Sequenz, der Schleifenkopf die Wiederholung, „wenn … dann … sonst“ die Verzweigung.

Merke

Grundbausteine: Jeder Algorithmus lässt sich aus Sequenz, Verzweigung und Wiederholung zusammensetzen.

3

Allgemeine Hinweise

Eindeutig heißt: ohne Nachfragen

„Etwas Salz dazugeben“ ist kein Algorithmusschritt. Jede Anweisung muss so genau sein, dass eine Maschine sie ohne Rückfrage ausführen kann.

Jede Schleife braucht ein Ende

Ändert sich im Schleifenrumpf nichts an der Bedingung, läuft die Schleife endlos — der Algorithmus terminiert dann nicht.

Erst in Worten, dann im Code

Schreibe die Schritte zuerst umgangssprachlich auf und markiere, wo entschieden und wo wiederholt wird. Das Übersetzen in eine Programmiersprache ist danach Handwerk.

Videos