Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo liebe Community,

ich versuche gerade herauszufiltern, was die konkreten Unterschiede zwischen der prozeduralen und strukturierten Programmierung sind.

Ich habe schon ein wenig gegoogelt aber irgendwie verwirrt mich das mehr.

Soweit ich das verstanden habe, unterteilen beide Programmierparadigmen die Programme in kleinere Teile bzw Teilprobleme.

Bei Wikipedia steht auch, dass die strukturierte Programmierung das Paradigma der prozeduralen enthält. Baut als quasi darauf auf.

Aber was kommt bei der Strukturierten dann noch hinzu? Ich kann mir das nicht beispielhaft vorstellen.

Strukturierte Programmierung ist ein programmiersprachenübergreifendes Programmierparadigma, das Anfang der 1970er Jahre auch aufgrund der Softwarekrise populär wurde. Es beinhaltet zum einen die baumartige Zerlegung eines Programms in Teilprogramme (Prozeduren) und enthält somit das Paradigma der prozeduralen Programmierung. Zudem verlangt die strukturierte Programmierung auf der untersten Ebene die Beschränkung auf lediglich drei Kontrollstrukturen:

* Sequenz (hintereinander auszuführende Programmanweisungen)

* Auswahl (Verzweigung)

* Wiederholung (Schleifen)

Heißt das konkret, dass es bei der prozeduralen Programmierung keine ifs und while/fors gibt (Verzweigung und Schleifen)?

Aber wieso steht dort nichts von Funktionen? Bei welchem Paradigma gibt es diese?

Wäre lieb wenn jemand dort den Überblick hätte und mir weiterhelfen könnte.

Also ich bin jetzt kein Fachmann, aber für mich liest sich das so, dass der generelle Ansatz der prozeduralen Programmierung, ersteinmal nur heißt, dass man ein Problem modularisiert betrachtet; e.g. einen vereinfachten Cola-Automaten:

Ein Ansatz (der aber nicht unbedingt "prozedural" wäre), wäre es jetzt quasi alles in eine einzige main-Funktion zu schreiben. Die Übergänge von einem Zustand in einen anderen erfolgen durch einen unbedingten Sprung - in Assembler etwa mittels JMP oder in C mittels goto.

Prozedurale Programmierung würde dann zwischen den unterschiedlichen Zuständen genauer differenzieren, so dass quasi jeder Zustand durch eine Prozedur gekennzeichnet wäre:


for(;
{
WarteAufGeldEingang();
PrüfeGeldEingang();
GebeWareAus();
WennNötigGebeWechselGeld();
}
[/PHP]

Das obige Beispiel dürfte grob gesehen sowohl prozedural, als auch strukturiert durchgehen (einen Automaten würde man anders programmieren, aber für's Beispiel taugt's *g*).

Der wesentliche Unterschied, wenn ich das recht verstanden habe, liegt jetzt darin, dass man bspw. darauf verzichtet mittels [i]goto[/i] bspw. im Fehlerfall komplett aus dem Kontext herauszuspringen und an irgendeiner, quasi x-beliebigen Stelle im Programm weiterzumachen.

Als unbedingter Sprung erlaubt ist nachwievor [i]break;[/i]. Warum? Weil ein break lediglich den Kontext der aktuellen Schleife verlässt und in die übergeordnete Struktur zurückwechselt, bzw. bei einem switch-Statement wird die Fallunterscheidung verlassen.

Eine abgemilderte Form des "goto" im Fehlerfall sind die [i]Exceptions[/i]. Zwar wird auch der aktuelle Kontext verlassen; allerdings ist dies äußerst kontrolliert möglich - Fehlerobjekte können geworfen werden; es kommt zum sog. [i]Stack-Unwinding[/i] etc.

Strukturierte Programmierung ist nichts anderes als konsequent angewandte (prozedurale) Programmierung unter Vermeidung von Gotos und Reduktion der elementaren Prozeduren auf kleine bzw. kleinste Kontrollstrukturen/Vorgänge, quasi eine Art Vorläufer des [i]Single Responsibility Principle[/i].

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.