Prozesse in der Informatik
Die Informatik ist die Wissenschaft vom Computer (engl.: Computer Science). Beim Einsatz von Computern zur Bearbeitung gewisser Problemstellungen spielt der Prozessgedanke ebenfalls eine wichtige Rolle. In gewissem Sinne kann ein Computerprogramm als ein (automatisierter) Prozess aufgefasst werden. Jedes Computerprogramm besteht aus einer Folge von Befehlen, die von einem Prozessor - in der Regel dem Zentralprozessor (engl.: Central Processing Unit; CPU) - in einer festgelegten Reihenfolge abgearbeitet werden.
Für die Beschreibung eines bestimmten Vorgehens zur Bearbeitung von Aufgaben wird in der Informatik üblicherweise der Begriff des Algorithmus verwendet. Dabei wird unter einem Algorithmus folgendes verstanden:
Ein Algorithmus ist eine präzise, endliche Beschreibung eines allgemeinen Verfahrens unter Verwendung ausführbarer elementarer (Verarbeitungs-) Schritte. (Bauer/Goos (1982), S. 47)
Ein Vergleich mit den oben angegebenen Definitionen für Prozesse zeigt die grosse Ähnlichkeit dieser Begriffe, wenn auch jeweils unterschiedliche Aspekte betont werden. So nimmt es nicht Wunder, dass mit Hinblick auf die Verarbeitung durch einen Computer Eigenschaften wie die Präzision, die Ausführbarkeit und die Verwendung elementarer Schritte besonders betont werden.
Computer-Programme können als konkrete Ausgestaltung eines Algorithmus mit den Mitteln einer bestimmten Programmiersprache verstanden werden. Bezüglich der Ablauflogik in Programmen lassen sich grundsätzlich drei Strukturen unterscheiden:
- die Sequenz
- die Selektion
- und die Iteration.
Die Sequenz ist die grundlegendste Ablaufstruktur. Sie besagt, dass Befehle nacheinander in der Reihenfolge ihrer Notation abgearbeitet werden.
a = 0; a = a + 1;
Dieser Programmteil stellt eine Sequenz von zwei Befehlen dar. Es handelt sich jeweils um Zuweisungsoperationen: Zuerst wird der Variablen a der Wert 0 zugewiesen, dann wird der Wert von a um 1 erhöht. Die beiden Befehle werden durch ein spezielles Zeichen, dem Semikolon, voneinander abgetrennt.
Die Selektion erlaubt eine Fallunterscheidung. Sie besagt, dass bestimmte Befehle nur in Abhängigkeit von einer definierten Bedingung bearbeitet werden.
if n >= 4 then b = true else b = false;
Dieser Programmteil stellt eine Fallunterscheidung dar, an die jeweils ein bestimmter Befehl geknüpft ist. Die Bedingung der Fallunterscheidung ist, dass der Wert der Variablen n mindestens den Wert 4 haben muss. Ist diese Bedingung erfüllt, so wird der Variablen b der Wert "wahr" (true) zugewiesen. Ist die Bedingung nicht erfüllt, so wird der Variablen b der Wert "falsch" (false) zugewiesen.
Die Iteration erlaubt die Wiederholung von Befehlen. Sie besagt, dass bestimmte Befehle in Abhängigkeit von einer definierten Bedingung erneut bearbeitet werden.
while i < 10 do i = i + 1;
Dieser Programmteil stellt eine bedingte Wiederholung dar. Im Bedingungsteil wird überprüft, ob die Variable i einen geringeren Wert als 10 aufweist. Wenn dies der Fall ist, dann wird der Wert der Variablen i um 1 erhöht und die Bedingung erneut geprüft.
Mit Hilfe dieser relativ wenigen Grundkonstrukte ist es möglich, komplexe Aufgaben der Datenverarbeitung im Rahmen eines Programms durch eine Menge von Befehlen abzubilden, die von einem Computer prinzipiell automatisiert abgearbeitet werden.
Obwohl im Zusammenhang mit der Nutzung von Computern sehr häufig von einer automatisierten Datenverarbeitung gesprochen wird, ist dieser Begriff bei modernen Anwendungen kritisch zu hinterfragen. In früheren Zeiten wurden Computerprogramme vor allem im sogenannten Stapelbetrieb verwendet. Alle von einem Programm benötigen Daten wurden vorbereitet und etwa in Dateien zur Verfügung gestellt. Dann wurde das Programm gestartet und es lief prinzipiell ohne weitere Eingriffe bis zu seinem Ende. Die Ergebnisse der Datenverarbeitung wurden wiederum in Dateien und/oder Ausdrucken zur Verfügung gestellt. Dies entspricht im Rahmen der zu bearbeitenden Aufgabenstellung einer automatisierten Bearbeitung. Moderne Anwendungen sind in der Regel interaktiv, d.h. sie erwarten während ihres Ablaufes Dateneingaben sowie Steuerbefehle von menschlichen Benutzern. In diesem Fall sind Programme nur noch bedingt automatisch, da bestimmte Schritte die Mitwirkung von Menschen verlangen. Praktisch kann man dabei von einem arbeitsteiligen Zusammenwirken von Mensch und Maschine zur Bearbeitung einer Aufgabenstellung sprechen.