Prozedurale Programmierung

4 min 2 Abschnitte
Was du nach diesem Konzept kannst 3
  1. Du bist in der Lage, das Konzept der prozeduralen Programmierung zu erklären ,

    indem die Strukturierung von Programmen als Sequenz von Anweisungen, die in Prozeduren (Funktionen) organisiert sind, und die Manipulation eines gemeinsamen Zustands (Variablen) beschrieben wird.

  2. Du bist in der Lage, den Kontrollfluss in prozeduralen Programmen zu interpretieren ,

    indem analysiert wird, wie Sequenzen, Verzweigungen und Schleifen in Kombination mit Prozeduraufrufen den Ablauf eines Programms bestimmen.

  3. Du bist in der Lage, die Begriffe Prozedur und Funktion im Kontext der prozeduralen Programmierung zu differenzieren ,

    indem erläutert wird, dass Prozeduren typischerweise Aktionen ausführen (Seiteneffekte), während Funktionen Werte berechnen und zurückgeben, auch wenn diese Unterscheidung in modernen Sprachen oft syntaktisch verschwimmt.

Was zeichnet die prozedurale Programmierung aus?

Programme als strukturierte Befehlsketten

Stell dir vor, du schreibst ein detailliertes Kochrezept. Der Computer arbeitet dieses Rezept Schritt für Schritt von oben nach unten ab. Genau das ist der Kern der prozeduralen Programmierung. Ein Programm besteht aus einer Sequenz von Anweisungen, die der Maschine exakt vorgeben, was sie tun soll.

Um zu verhindern, dass dieses "Rezept" bei komplexer Software zu einem unleserlichen, tausende Zeilen langen Text wird, wendest du das dir bereits bekannte DRY-Prinzip (Don't Repeat Yourself) an: Du fasst wiederkehrende oder logisch zusammenhängende Anweisungsblöcke zu benannten Einheiten zusammen. Diese Einheiten nennt man Prozeduren (oder Unterprogramme). Das Hauptprogramm ruft diese Prozeduren dann an den benötigten Stellen lediglich auf. Das strukturiert den Code, macht ihn wiederverwendbar und erleichtert die Fehlersuche.

Der gemeinsame Zustand (Shared State)

Ein weiteres zentrales Merkmal dieses Paradigmas ist die Manipulation eines gemeinsamen Zustands (Shared State). Das bedeutet, dass Daten in Form von Variablen im Hauptspeicher gehalten werden und verschiedene Prozeduren auf diese Variablen zugreifen, sie lesen und verändern können.

Beispiel: In einem Kassensystem gibt es eine globale Variable kassenbestand. Die Prozedur artikel_verkaufen() erhöht diesen Wert, während die Prozedur storno_buchen() ihn verringert. Beide manipulieren denselben Zustand.

Dieser Ansatz ist für den Computer sehr effizient, birgt aber Risiken: Wenn viele Prozeduren unkontrolliert denselben Zustand verändern, entstehen schnell unerwartete Fehler, sogenannte Seiteneffekte (Side Effects). Bei der Fehlersuche musst du dann oft mühsam nachvollziehen, welche Prozedur den Zustand wann und wie verändert hat.

Prozedurale Programmierung — dec-software-engineering-programming-basics-programming-paradigms-procedural-programming_page1.svg

Wie wird der Kontrollfluss in prozeduralen Programmen gesteuert?

Die Bausteine des Kontrollflusses

Der Kontrollfluss legt fest, in welcher exakten Reihenfolge die Anweisungen deines Programms ausgeführt werden – ganz ähnlich wie der Pfad in einem UML-Aktivitätsdiagramm, das du bereits kennst. In der prozeduralen Programmierung kombinierst du dafür vier grundlegende Bausteine, um die Logik zu steuern:

  1. Sequenz: Die Standard-Ausführung. Anweisungen werden strikt nacheinander (Zeile für Zeile) abgearbeitet.
  2. Verzweigung (Selektion): Mit if/else-Bedingungen gabelt sich der Weg, und das Programm reagiert dynamisch auf verschiedene Situationen (z. B. "Wenn der Warenkorb leer ist, zeige eine Warnung").
  3. Schleife (Iteration): Mit for- oder while-Schleifen werden Anweisungsblöcke wiederholt, solange eine bestimmte Bedingung erfüllt ist.
  4. Prozeduraufruf: Das Programm springt an eine andere Stelle im Code, führt die dortige Prozedur aus und kehrt danach exakt an die Ursprungsstelle zurück, um mit der nächsten Anweisung weiterzumachen.

Prozedur oder Funktion: Wo liegt der Unterschied?

In modernen Programmiersprachen wie Python oder JavaScript verschwimmt die Syntax oft (man nutzt z. B. immer das Schlüsselwort def oder function). Konzeptionell gibt es in der prozeduralen Programmierung jedoch eine klare Trennung, die dir hilft, sauberen Code nach dem Single Responsibility Principle (SRP) zu schreiben:

  • Funktionen verhalten sich wie mathematische Formeln. Sie nehmen Eingabewerte (Parameter) entgegen, berechnen daraus einen neuen Wert und geben ein Ergebnis zurück (Return-Wert). Sie verändern idealerweise keinen gemeinsamen Zustand. Beispiel: berechne_mehrwertsteuer(preis) liefert nur eine Zahl zurück.
  • Prozeduren hingegen führen eine konkrete Aktion aus und geben in der Regel keinen Wert zurück (in Sprachen wie Java oder C++ oft mit dem Rückgabetyp void gekennzeichnet). Ihr Zweck ist es, den Zustand des Programms oder der Umgebung zu verändern (ein Seiteneffekt). Beispiel: daten_in_datenbank_speichern() oder drucke_rechnung().
Prozedurale Programmierung — dec-software-engineering-programming-basics-programming-paradigms-procedural-programming_page2.svg

Teste dein Wissen

Du erklärst einer neuen Auszubildenden die prozedurale Programmierung. Welcher Vergleich beschreibt den grundlegenden Ablauf am treffendsten?

Bereit für mehr?

Thema verstanden?

Teste dein Wissen interaktiv in unserer App. 7 Tage kostenlos, dann nur 5 € im Monat.