Algorithmus: Verarbeitungsvorschrift, die aus einer endlichen Folge von eindeutig ausführbaren Anweisungen besteht, mit der man eine Vielzahl gleichartiger Aufgaben lösen kann. Probleme werden als Agorithmus formuliert, um vom Computer bearbeitet und gelöst werden zu können.
Herkunft des Begiffes: Buch "Hisab al'schabr wal mukábala" - das "Buch vom Hinüberschaffen und vom Zusammenfassen", verfasst von Muhamad ibn Musa Al-Chwarizmi (787 - um 850)
Eigenschaften von Algorithmen:
Allgemeingültigkeit - Alg. ist auf alle Aufgaben des gleichen Typs anwendbar.
Ausführbarkeit - Jede Anweisung ist für den Ausführenden (Prozessor) verständlich und ausführbar.
Eindeutigkeit - Reihenfolge der abzuarbeitenden Anweisungen ist nicht wilkürlich.
Endlichkeit - Beschreibung der Anweisungen in einem endlichen Text
Terminiertheit - Prozess wird nach endlich vielen Schritten abgebrochen, er terminiert. Ausnahme: Steueralgorithmen wie z. Bsp. das Betriebssystem Windows
Determiniertheit - Wenn der jeweilige Arbeitsschritt abgeschlossen ist, ist der nächste ebenfalls eindeutig bestimmt.
Darstellungsformen: halbverbal (Umgangssprache vermeiden), Struktogramm (Nassi-Shneiderman-Diagramm), Progammablaufplan (PAP), Programm in einer Programmiersprache (z. Bsp. in Delphi)
Algorithmenstrukturen:
Folge (auch Sequenz genannt) von zwei oder mehreren Anweisungen, die hintereinander ausgeführt werden
Auswahl (auch Verzweigung genannt) von genau einer Anweisung / Folge aus mehreren Anweisungen / Folgen in Abhängigkeit von einer Bedingung
- einseitig
- zweiseitig
- mehrseitig
Wiederholung (auch Zyklus / Schleife / Iteration genannt) einer Anweisung / Folge in Abhängigkeit von einer Bedingung
- Zählschleife (FOR)
- Schleife mit End-/Abbruchbedingung (REPEAT UNTIL)
- Schleife mit Anfangsbedingung (WHILE)
AB halbverbale Darstellung / Struktogramm (an Beispielen Telefonnumern / Würfel)
Übersicht ![]() |
Beachten Sie auch die Angaben zum Struktogramm im Tafelwerk!
Struktogramm erstellen: Übung zum ggT ![]() Delphiprogramm ![]() |
Programm zur Erstellung von Struktogrammen (Java)