Entwürfe

Algorithmus (alternatives Beispiel)

Wenn wir ein Lösungsverfahren schrittweise formulieren, geben wir eine Folge eindeutiger, elementarer Handlungsanweisungen an. Eine solche eindeutige Handlungsvorschrift aus endlich vielen, wohldefinierten Einzelschritten wird als Algorithmus bezeichnet.

Soll zum Beispiel eine Nuss zum Essen vorbereitet werden, kann die entsprechende Handlungsfolge so aussehen:

  • Nimm eine Nuss aus der Tüte
  • Knacke die Nuss
  • Lege den Kern in die Schüssel
  • Wirf die Schale in den Mülleimer

Dabei gelangen wir oft in die Situation, Anweisungen zu formulieren, die in Wiederholung ausgeführt werden müssen, bis eine bestimmte Bedingung erfüllt ist:

  • Wiederhole bis die Tüte leer ist:
    • Nimm eine Nuss aus der Tüte
    • Knacke die Nuss
    • Lege den Kern in die Schüssel
    • Wirf die Schale in den Mülleimer

Die Sequenz der vier Anweisungen “nimm”, “knacke”, “lege”, “wirf” wird hier also wiederholt ausgeführt, bis die Bedingung “Tüte ist leer?” erfüllt ist.

Außerdem gibt es Situationen, in denen eine Fallunterscheidung getroffen werden muss, die Ausführung einer oder mehrerer Anweisungen zu einem Zeitpunkt also von einer Bedingung abhängt – Falls A dann mache dies, anderenfalls mache jenes:

  • Wiederhole bis die Tüte leer ist:
    • Nimm eine Nuss aus der Tüte
    • Knacke die Nuss
    • Falls der Kern verdorben ist:
      • Wirf den Kern in den Mülleimer
    • Anderenfalls:
      • Lege den Kern in die Schüssel
    • Wirf die Schale in den Mülleimer

Hier wird in jeder Wiederholung nach der Anweisung “knacke” überprüft, ob die Bedingung “Kern ist verdorben?” erfüllt ist und je nach Ergebnis entweder die Anweisung “wirf” oder die Anweisung “lege” ausgeführt.