Notation von Algorithmen

Algorithmen bilden das Herzstück der Informatik – sie beschreiben Schritt für Schritt, wie ein Problem gelöst oder eine Aufgabe automatisiert werden kann. Damit diese Abläufe nicht nur für Computer, sondern auch für Menschen verständlich und nachvollziehbar bleiben, braucht es geeignete Darstellungsformen. Zwei der wichtigsten Methoden sind Pseudocode und die grafische Notation.

Während Pseudocode eine textbasierte, an Programmiersprachen angelehnte Beschreibung liefert, die sich leicht lesen und anpassen lässt, bietet die grafische Notation eine visuelle Darstellung, die Zusammenhänge und Abläufe auf einen Blick verdeutlicht. Beide Ansätze haben ihre Stärken und ergänzen sich in der Praxis – sei es beim Lehren, Dokumentieren oder Planen komplexer Systeme.

💡Wiederholung: Denke daran, dass ein Algorithmus eine endliche Abfolge von durchführbaren Befehlen, die Ein- in Ausgabedaten umwandeln, ist.

Grafische Notation (Programmablaufpläne)

Eine anschauliche Möglichkeit, den Ablauf eines Algorithmus darzustellen, sind Programmablaufpläne. In solchen Diagrammen wird der Ablauf Schritt für Schritt visualisiert:

  • Rechtecke stehen für auszuführende Befehle.
  • Abgerundete Rechtecke markieren den Start- und Endpunkt.
  • Eingekreiste Bezeichner dienen als Referenzen, wenn man im Text auf bestimmte Befehle zurückgreifen möchte.
  • Kommentare, eingeleitet durch Schrägstriche, erleichtern das Verständnis, sind aber nicht Teil der eigentlichen Ausführung.
  • Parallelogramme kennzeichnen Ein- und Ausgaben, wobei die genaue Spezifikation der Eingaben und Ausgaben in einem begleitenden Beschreibungstext erfolgt.

01 Programmablaufplan

Beispielhafter Ausschnitt aus Programmablaufplan zur Wetterbewertung. Quelle: Technik-Kiste.de

💡Hinweis: zu Verzweigungen wie im Beispiel findet du später im Beitrag mehr.

In der Regel werden Programmablaufpläne von oben nach unten und von links nach rechts gezeichnet. Entscheidend ist jedoch nicht die räumliche Anordnung, sondern die Pfeilverbindungen, die den Ablauf eindeutig festlegen.

Der große Vorteil dieser grafischen Notation liegt in ihrer Intuitivität: Schon auf den ersten Blick lässt sich der grobe Ablauf nachvollziehen, wodurch die Grundidee eines Algorithmus sehr gut vermittelt wird. Bei komplexeren Algorithmen stößt diese Darstellungsform allerdings an ihre Grenzen, da die Diagramme schnell unübersichtlich und umfangreich werden können.

 

Pseudocode

Der Begriff Pseudocode deutet es bereits an: Er sieht echtem Programmiercode ähnlich, gehört aber keiner konkreten Programmiersprache an. Stattdessen dient er als leicht verständliche, textbasierte Beschreibung eines Algorithmus.

  • Ein Algorithmus wird zeilenweise notiert, wobei jede Zeile einen Befehl enthält.
  • Die Befehle werden von oben nach unten abgearbeitet.
  • Nummerierte Zeilen erleichtern es, in begleitenden Texten auf bestimmte Stellen zu verweisen.
  • Kommentare beginnen mit // und helfen beim Verständnis, ohne Teil der Ausführung zu sein.
  • Zu Beginn werden Eingaben und Ausgaben des Algorithmus festgelegt. Die Rückgabe erfolgt mit dem Schlüsselwort Return.

Im Unterschied zur grafischen Notation, die Daten oft in natürlicher Sprache beschreibt, arbeitet Pseudocode mit Variablen. Diese lassen sich wie beschriftete Pakete vorstellen: In ihnen werden Werte abgelegt, die später wieder abgerufen werden können.

Die Zuweisung erfolgt mit dem Operator ‚ := ‘. Dabei wird der Wert rechts vom Operator in die Variable links davon gespeichert. Steht rechts ein Ausdruck oder ein Befehl, so wird zunächst dessen Ergebnis berechnet und anschließend in der Variable abgelegt.

Ein einfaches Beispiel zeigt die Addition zweier Zahlen:

Eingabe: Zwei Zahlen n und m

Ausgabe: Die Summe der zwei Zahlen als Ergebnis

01  ergebnis := n + m

02  Return ergebnis

Pseudocode ist in der Regel kompakter als Ablaufdiagramme und ermöglicht eine sehr präzise Formulierung. Für das schnelle Verständnis des groben Ablaufs eignet sich jedoch oft die grafische Notation besser.

 

Schleifen

Oft müssen in einem Algorithmus bestimmte Befehle mehrfach ausgeführt werden. Anstatt dieselben Anweisungen immer wieder hinzuschreiben, nutzen wir Schleifen. Eine Schleife wiederholt einen oder mehrere Befehle – jede Wiederholung wird Iteration genannt.

Die Anzahl der Iterationen kann entweder:

  • fest vorgegeben sein (z.  B. „wiederhole 5 Mal“), oder
  • von einer Bedingung abhängen (z. B.  „wiederhole solange eine Bedingung erfüllt ist“).

Im Pseudocode wird eine Schleife mit dem Schlüsselwort Wiederhole eingeleitet. Dahinter folgt entweder die Anzahl der Wiederholungen oder die Bedingung. Die Anweisungen, die innerhalb der Schleife ausgeführt werden sollen, stehen eingerückt in den folgenden Zeilen. Diesen eingerückten Bereich nennt man Schleifenkörper.

Da Schleifen selbst Befehle sind, können sie auch verschachtelt werden – also eine Schleife innerhalb einer anderen.

 

Beispiel 1: Wiederholung mit Bedingung

Ein einfacher Algorithmus, der so lange Schritte zählt, bis ein Ziel erreicht ist:

Eingabe: Zielposition z

Ausgabe: Anzahl der Schritte

01  schritte := 0

02  Wiederhole solange aktuellePosition < z

03      aktuellePosition := aktuellePosition + 1

04      schritte := schritte + 1

05  Return schritte

Hier wird die Schleife so lange ausgeführt, bis die aktuelle Position das Ziel erreicht hat.

 

Beispiel 2: Schleife mit fester Anzahl an Wiederholungen

Ein Algorithmus, der fünfmal eine Nachricht ausgibt:

Eingabe: Nachricht text

Ausgabe: Ausgabe der Nachricht 5 Mal

01  Wiederhole 5 Mal

02      Gib text aus

 

Beispiel 3: Schleife über ein Zahlenintervall

Schleifen können auch über ein Intervall laufen. Dabei wird eine Laufvariable verwendet, die bei jeder Iteration einen neuen Wert annimmt.

Eingabe: Ganze Zahl n

Ausgabe: Produkt der Zahlen von 1 bis n

01  produkt := 1

02  Wiederhole für alle i in 1,…,n

03      produkt := produkt * i

04  Return produkt

In diesem Beispiel berechnet der Algorithmus das Fakultätsergebnis von . Die Laufvariable i durchläuft alle Werte von 1 bis .

 

Summenformeln

In der Informatik und Mathematik ist man oft „schreibfaul“ – lange Ausdrücke werden durch kompakte Notationen ersetzt. Besonders bei Summen und Produkten hilft eine einheitliche Symbolik, die Formeln kürzer und leichter verständlich zu machen.

Anstatt alle Summanden explizit aufzuschreiben, verwendet man Punkte (…) als Platzhalter:

0 + 1 + … + 8 + 9 = 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9

Diese Schreibweise zeigt, dass die Zwischenglieder nach einem klaren Muster ergänzt werden können.

Wenn die obere Grenze nicht feststeht, schreibt man:

0+1+… +(n-1)+n

  • Für n = 5 ergibt sich die Summe 0+1+2+3+4+5=15.
  • Für n = -1 spricht man von einer leeren Summe, deren Wert per Definition 0 ist

Um Summen kompakter darzustellen, nutzt man den griechischen Buchstaben Sigma:

03 SummenformelSigmaDarstellung einer kompakten Summe durch Sigma. Quelle: Technik-Kiste.de

Das Summenzeichen funktioniert wie eine Schleife:

  • Die Variable i startet bei 0.
  • Sie läuft bis n.
  • Alle Werte werden addiert.

Statt nur i zu summieren, kann man auch komplexere Ausdrücke verwenden, z. B.:

04 SummenformelKomplexerSummenformel mit komplexerem Ausdruck. Quelle: Technik-Kiste.de

Analog zur Summe gibt es die Produktnotation mit dem griechischen Buchstaben Pi:

05 ProduktnotationProduktnotation mit dem griechischen Buchstaben Pi. Quelle: Technik-Kiste.de

Falls der Wert von i größer als n ist, dann spricht man vom leeren Produkt, das per Definition den Wert 1 hat.

💡Merke:

  • Punkte (…) ersetzen lange Summenfolgen.
  • Leere Summen ergeben 0, leere Produkte ergeben 1.
  • Sigma und Pi sind die Standardnotationen für Summen und Produkte.
  • Beide lassen sich wie Schleifen verstehen, die über eine Indexvariable laufen.

 

Verzweigungen

Wie an einer Kreuzung, an der man je nach Situation einen anderen Weg einschlägt, ermöglichen Verzweigungen in Algorithmen die Auswahl zwischen alternativen Befehlen. Statt alle Anweisungen nacheinander auszuführen, wird nur derjenige Teil des Algorithmus bearbeitet, dessen Bedingung erfüllt ist.

 

Grafische Notation

In Programmablaufplänen wird eine Verzweigung mit einer Raute dargestellt.

  • In der Raute steht die Bedingung als Frage (z. B. „Ist x > 0?“).
  • Von der Raute gehen Pfeile ab, die mit den möglichen Antworten (z. B. „Ja“ / „Nein“) beschriftet sind.
  • Je nach Ergebnis wird der entsprechende Zweig des Algorithmus ausgeführt.

Auf diese Weise lassen sich auch Schleifen darstellen, da eine Bedingung wiederholt geprüft werden kann.

💡Hinweis: oben hast du bereits zwei Verzweigungen im Programmablaufplan gesehen.

 

Pseudocode

Im Pseudocode wird eine Verzweigung mit dem Schlüsselwort Falls eingeleitet.

  • Die Anweisungen, die bei erfüllter Bedingung ausgeführt werden sollen, stehen eingerückt darunter.
  • Optional kann ein Sonst-Block folgen, der ausgeführt wird, wenn die Bedingung nicht zutrifft.
  • Verzweigungen können auch verschachtelt werden, also ineinander geschachtelt auftreten.

 

Beispiel 1: Einfache Verzweigung

Eingabe: Zahl x

Ausgabe: Textausgabe

01  Falls x > 0 dann

02      Gib "x ist positiv" aus

03 Sonst

04      Gib "x ist nicht positiv" aus

 

Beispiel 2: Verschachtelte Verzweigung

Eingabe: Zahl n

Ausgabe: Klassifikation der Zahl

01  Falls n = 0 dann

02      Gib "n ist null" aus

03 Sonst

04      Falls n < 0 dann

05          Gib "n ist negativ" aus

06      Sonst

07          Gib "n ist positiv" aus

 

Funktionen

Komplexe Abläufe lassen sich oft in kleinere, wiederverwendbare Teile zerlegen. Dafür nutzen wir Funktionen. Eine Funktion ist im Grunde nichts anderes als ein Algorithmus mit einem eigenen Namen. Dieser Name kann dann im Hauptalgorithmus wie ein Befehl verwendet werden.

Der Vorteil:

  • Wiederholte Abläufe müssen nur einmal beschrieben werden.
  • Der Hauptalgorithmus bleibt übersichtlich und leichter verständlich.
  • Statt vieler technischer Details genügt ein entsprechender Funktionsname.

 

Grafischen Notation

In Programmablaufplänen wird ein Funktionsaufruf durch ein Rechteck mit doppelten senkrechten Rändern dargestellt.

  • Innerhalb des Rechtecks steht der Funktionsname.
  • Eingaben und Ausgaben werden wie gewohnt durch Parallelogramme dargestellt.
  • Der eigentliche Ablauf der Funktion wird an anderer Stelle separat beschrieben.

 

Beispiel:

Ein Ablaufplan für einen Roboter könnte die Funktion GeheEinenSchrittVorwärts() enthalten. Im Hauptdiagramm erscheint nur der Funktionsaufruf, während die Details (Motorsteuerung, Sensorabfrage usw.) in einem eigenen Unterdiagramm grafisch erklärt werden.

02 FunktionBeispiel Programmablauf das die Funktion „GeheEinenSchrittVorwärts()“ enthält. Quelle: Technik-Kiste.de

 

Funktionen im Pseudocode

Im Pseudocode wird eine Funktion wie ein Algorithmus beschrieben, jedoch mit einem eigenen Namen.

  • Eingaben und Ausgaben (bzw. Vor- und Nachbedingungen) werden definiert.
  • Der Funktionsname kann im Hauptalgorithmus als Befehl aufgerufen werden.
  • Der Aufruf erfolgt mit runden Klammern, in denen die Eingabewerte stehen. Auch wenn keine Eingaben nötig sind, werden die Klammern geschrieben.

 

Beispiel:

Funktion summe(a, b)

    Eingabe: Zwei Zahlen a und b

    Ausgabe: Die Summe der beiden Zahlen

    01  ergebnis := a + b

    02  Return ergebnis

 

Beispiel eines Funktionsaufrufs im Hauptalgorithmus:

Eingabe: Zwei Zahlen x und y

Ausgabe: Summe von x und y

01  result := summe(x, y)

02  Gib result aus

 

Beispiel ohne Eingaben:

Funktion Begrüßung()

    Gib "Hallo, willkommen im Programm!" aus


 

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Image

Umfrage

📢 Deine Meinung zählt!

Wir überlegen, einen Technik‑Kiste Newsletter zu starten – mit spannenden Technik‑Tipps, exklusiven Artikeln und Updates direkt in dein Postfach.

Damit wir genau das liefern, was dich interessiert, brauchen wir dein Feedback:

👉 Sag uns in unserer kurzen Umfrage, ob du dir so einen Newsletter wünschst und welche Inhalte dir am wichtigsten sind.

Deine Vorteile:

  • Mitreden, wie der Newsletter gestaltet wird
  • Exklusive Infos vor allen anderen
  • Keine Werbung, nur relevanter Technik‑Content

Jetzt mitmachen – es dauert nur 1 Minute!