Algorithmen 2 - Darstellung von Algorithmen

Es gibt unterschiedliche Möglichkeiten, Algorithmen darzustellen. Die Alltagsalgorithmen haben wir zum Teil in Umgangssprache formuliert. Auf der Seite haben wir einen Algortihmus zum Spielen des Memory-Spiels in Umgangssprache aufgeschrieben.
Die beiden folgenden Abbildungen zeigen zwei weitere Möglichkeiten, diesen Algorithmus darzustellen.


Die beiden Abildungen zeigen zwei Möglichkeiten, Algorithmen grafisch darzustellen. Die linke Darstellung nennt man Programmablaufplan oder Flussdiagramm. Flussdiagramme werden schon lange zur Darstellung von Algorithmen verwendet. Das rechte Diagramm heißt Struktogramm oder, benannt nach seinen Erfindern, Nassi-Shneiderman-Diagramm.
Ein Programmablaufplan besteht aus folgenden Bausteinen:
Sequenz | Schleife | Verzweigung |
---|---|---|
![]() |
![]() |
![]() |
Ein Struktogramm besteht aus folgenden Bausteinen:
Sequenz | Iteration | Selektion |
---|---|---|
![]() |
![]() |
![]() |
![]() |
a. Niki läuft bis zur Mauer und legt auf leeren Feldern einen Gegenstand ab und hebt den Gegenstand von nicht leeren Feldern auf.
b. c. |
Textbasierte Programmiersprachen
Bereits seit einigen Jahrzehnten gibt es Lehr- und Schulbücher, in denen die Grundlagen der Programmierung mithilfe der Programmierung eines einfachen Roboters vermittelt werden, der nur wenige Anweisungen ausführen kann.
Die Namen waren unterschiedlich. Die Roboter hießen zum Beispiel Karel, Karol, Niki oder Hamster. Die Programmierung erfolgte zunächst in Programmiersprachen, die aus Textanweisungen bestanden. Bereits 1988 erschien beim Klett-Verlag ein Informatiklehrbuch für die Oberstufe des Gymnasiums mit Niki, dem Roboter, der in der damals in Schulen üblichen Programmiersprache Pascal programmiert wurde. Später erhielt der Roboter seine Anweisungen zum Beiuspiel in den Programmiersprachen Java oder Python. Erst später wurden sogenannte "visuelle Programmiersprachen" erfunden, mit denen die Programme wie in diesem Buch durch hintereinander- und ineinanderschieben von Blöcken geschrieben wurden. Diese haben den Vorteil, dass die Programme kaum Schreibfehler enthalten.
In den folgenden Videos seht ihr, Karel the robot und Niki dieselbe Aufgabe erledigen. Karel ist in Python programmiert, einer textbasierten Programmiersprache, die ihr vielleicht später lernt, Niki wie üblich mit den bekannten Blöcken
Bei Karel heißen die Gegenstände beeper, außerdem kann sich Karel nur nach links drehen. Mit diesen Informationen versteht ihr vielleicht auch das Python-Programm, wenn ihr es mit dem Niki-Programm vergleicht.
Mit textbasierten Programmiersprachen ist es viel schwieriger zu programmieren, aber es lassen sich sehr komplexe Anwendungen erstellen.