Definition: Ein Algorithmus ist eine Handlungsvorschrift zur Lösung eines Problems. Algorithmen bestehen aus einzelnen Schritten, die linear beziehnungsweise mithilfe von unterschiedlichen logischen Strukturen abgearbeitet werden. Ein Algorithmus kann als Text, als Rechenweg oder als Computerprogramm formuliert werden.

Definition: Ein Algorithmus ist eine Handlungsvorschrift zur Lösung eines Problems. Algorithmen bestehen aus einzelnen Schritten, die linear beziehnungsweise mithilfe von unterschiedlichen logischen Strukturen abgearbeitet werden. Ein Algorithmus kann als Text, als Rechenweg oder als Computerprogramm formuliert werden.

Der Algorithmusbegriff ist ein der grundlegenden Konzepte in der Informatik. Vereinfacht kann ein Algorithmus mit einem Kochrezept verglichen werden. Stellen Sie sich vor, sie möchten Nudeln kochen und haben aber nie zuvor Nudeln gekocht. Wir versuchen die Vorgehensweise zu beschrieben.

a)     Beispiel „Nudeln kochen!“

Schritt 1: Nehmen Sie einen Topf.

Reicht diese Anweisung? Wissen Sie, wie groß der Topf sein sollte, kann ein Keramiktopf benutzt werden, ist die Farbe oder Durchmesser wichtig?

Sie merken, dass die Angaben zum Topf etwas genauer formuliert werden sollten.

Schritt 1: Nehmen Sie einen runden, metallischen Topf mit einem Deckel mit einem Volumen von ca. 3L.

Was passiert, wenn Sie die Reihenfolge der Anweisungen vertauschen? Sind Sie sicher, dass Sie jetzt Nudeln auch wirklich kochen können?

 

b)     Beispiel „Figur zeichnen“

Lesen Sie die folgenden Anweisungen vor. Die beiden anderen zeichnen auf dem Blatt Papier das beschriebene Bild genau nach den Anweisungen von Ihnen.  Dabei zeigen sie die Bilder erstmal nicht. Wenn sie fertig sind, vergleichen Sie alle zusammen die Bilder.

Zeichnen Sie ein Quadrat mit der Seitenlänge 5 cm. Zeichnen Sie ein gleichschenkliges Dreieck mit einer Höhe von 3 cm. Zeichnen Sie zwei Kreise jeweils mit den Radien von 1 cm und 2 cm.

Welche Angaben werden benötigt, damit ein Bild wie folgend aussieht?

Sie haben vielleicht schon festgestellt, dass eine Anweisung unterschiedlich genau formuliert werden kann. Im Beispiel mit dem Kochrezept müssen die Anweisungen sehr genau formuliert. Außerdem ist die Reihenfolge wichtig. Im zweiten Beispiel haben Sie festgestellt, dass an sich genaue Anweisungen in der richtigen Reihenfolge nicht unbedingt dazu führen, dass ein gleiches Ergebnis erzielt werden kann. So war im Kochrezept klar, dass Nudeln zubereitet werden müssen und in der Aufgabe 2 die Problemstellung an sich gefehlt hat, so dass die genauen Anweisungen insgesamt keinen Sinn ergeben.

Ein Algorithmus beinhaltet nämlich alle drei Komponenten:

  • Führt zur Lösung eines Problems: zielführend
  • Besteht aus einer genau festgelegten Abfolge von Schritten: angeordnet
  • Die Anweisungen sind präzise formuliert: genau

Wichtig ist, dass jeder Schritt auch tatsächlich ausführbar ist. Ausführbarkeit bedeutet, dass Sie die Vorgehensweise verstehen und umsetzen können – nach einem Rezept in einer unbekannten Fremdsprache oder mit unbekannten Begriffen können Sie nicht kochen. Dementsprechend müssen die Programme in einer Programmiersprache formuliert werden, also in einer für Computer verständlichen Form. Ein Programm ist eine Verschriftlichung des Algorithmus.

Die Notwendigkeit eines „algorithmischen“ Denkens in Informatik ergibt sich aus zwei Bedingungen:

  1. Technische Bedingung: Ein Computer ist im Grunde nichts Anderes als eine Rechenmaschine, die Multiplikations- und Additionsschritte im Prozessor ausführt. Der Computer arbeitet nach der mathematischen Logik und führt die vorgegebenen Anweisungen durch. Eine unstrukturierte oder gar in sich unschlüssige Vorgehensweise führt zu Fehlfunktionen. Dem Computer müssen alle Anweisungsschritte eindeutig mitgeteilt werden.
  2. Problemorientierte Bedingung: Ein Programm dient der automatisierten Lösung eines Problems. Lösbare Probleme lassen sich in Algorithmen umwandeln und anschließend in einen Programmablauf überführen. Jedes der folgenden Probleme gleicher Art wird nach dem gleichen Algorithmus gelöst.