Fachkonzept - Problem/Algorithmus/Programm
Problembeschreibung
Vor jeder Problembearbeitung sollte das zu lösende Problem möglichst klar beschrieben werden. Wir benutzen hier ein Verfahren zur Problembeschreibung, das in vielen Bereichen der Informatik angewandt wird. Wir beschreiben ein Problem mit Hilfe der Zustände (Welt vorher, Welt nachher), die das betrachtete System (in unserem Fall das Raumschiff Argo im Weltraum) vor und nach der Problembearbeitung einnehmen soll.
Welt vorher Welt nachherDie zu bearbeitenden Probleme sind oft allgemein in dem Sinne, dass viele konkrete Problemsituationen möglich sind. Für das oben dargestellte Beispiel haben wir viele Anordnungen von Asteroidenfeldern kennengelernt und mussten ein Programm entwickeln, dass alle Problemsituationen (also verschiedene Ausgangssituationen/-zustände) verarbeiten kann.
Fachkonzept - Algorithmus
In der Informatik versucht man diese Probleme automatisiert zu lösen. Dazu formuliert man zunächst eine Verarbeitungsvorschrift, deren schrittweise Abarbeitung / Verarbeitung das gegebene Problem löst.
1. Beispiel einer textuellen Verarbeitungsvorschrift
Solange Argo nicht auf einem Power-up steht, soll sie geradeaus fliegen. Trifft sie dabei auf einen oder mehrere Asteroiden, so soll sie diese umfliegen.
2. Beispiel einer halbformalen (textuellen) Verarbeitungsvorschrift
SOLANGE nicht auf einem Power-up: WENN vor einem Asteroid: umfliege den Asteroid SONST: Feld weiterfliegen Power-up aufheben
3. Beispiel einer Verarbeitungsvorschrift als Struktogramm
Eine Verarbeitungsvorschrift zur Lösung eines Problems wird Algorithmus genannt. Dieser ist so präzise formuliert, dass er (zumindest im Prinzip) auch von einer Maschine abgearbeitet werden kann.
Fachkonzept - Programm
Algorithmen dienen dazu, eine Ablauflogik eindeutig zu beschreiben. Wie du gesehen hast, kann man Algorithmen auf unterschiedliche Weise darstellen. Obwohl die oben dargestellen Abläufe klar beschrieben wurden, kann sie die Argo dennoch nicht ausführen. Dazu muss der Algorithmus in eine Sprache übersetzt werden, die das Ausführsystem Spacebug versteht.
Algorithmen, die in einer Programmiersprache verfasst sind, heißen Programme.