Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Strukturierte Programmierung

Zudem verlangt die strukturierte Programmierung auf der untersten Ebene die Beschränkung auf lediglich drei Kontrollstrukturen: Sequenz (hintereinander …

Inhalt3 Abschnitte
  1. 1. Grundprinzip und Kontrollstrukturen
  2. 2. Entwicklung und Bedeutung
  3. 3. Strukturierte Programmiersprachen

Grundprinzip und Kontrollstrukturen

Strukturierte Programmierung ist ein programmiersprachenübergreifendes Programmierparadigma aus den 1960er Jahren, also aus der Zeit vor der Softwarekrise. Es beschreibt, wie Programme übersichtlich und nachvollziehbar aufgebaut werden. Ein Programm wird baumartig in Teilprogramme, meist Prozeduren genannt, zerlegt. Damit enthält strukturierte Programmierung zugleich das Paradigma der prozeduralen Programmierung.

Auf der untersten Ebene soll ein strukturiertes Programm nur drei grundlegende Kontrollstrukturen verwenden:

  • Sequenz: Programmanweisungen werden hintereinander ausgeführt.
  • Auswahl oder Selektion: Eine Verzweigung entscheidet abhängig von einer Bedingung, welcher Programmteil ausgeführt wird.
  • Wiederholung oder Iteration: Eine Schleife führt einen Programmteil mehrfach aus.

Diese drei Strukturen können in Programmen kombiniert und ineinander verschachtelt werden. Sie werden unter anderem mit Nassi-Shneiderman-Diagrammen und Programmablaufplänen dargestellt.

Entwicklung und Bedeutung

Ein wichtiger Wendepunkt war eine Veröffentlichung von Corrado Böhm und seinem Studenten Giuseppe Jacopini aus dem Jahr 1966. Im Satz von Böhm und Jacopini zeigten sie, dass Programme auf die drei grundlegenden Kontrollstrukturen Sequenz, Auswahl und Wiederholung beschränkt werden können. Ebenfalls großen Einfluss hatte Edsger W. Dijkstras Aufsatz „Go To Statement Considered Harmful“ von 1968. Niklaus Wirth war mit dem Entwurf der Programmiersprache Pascal ein weiterer Wegbereiter.

Die bekannteste praktische Konsequenz ist die Vermeidung oder, abhängig von der Programmiersprache, der eingeschränkte und standardisierte Einsatz der Sprunganweisung GOTO. Häufige und unübersichtliche Sprünge können zu sogenanntem „Spaghetticode“ führen.

Durch Teilprogramme mit lokaler Sichtbarkeit von Identifikatoren und durch klar begrenzte Kontrollstrukturen lassen sich Codewiederholungen vermeiden. Das erleichtert die Suche nach Programmfehlern, macht Programme kürzer und übersichtlicher und vereinfacht dadurch die Wartung von Software.

Strukturierte Programmierung ist heute in fast allen Bereichen der professionellen Softwareentwicklung selbstverständlich. Neuere Programmierparadigmen wie generative, aspektorientierte und objektorientierte Programmierung bauen auf ihr auf und erweitern oder ergänzen sie.

Strukturierte Programmiersprachen

Strukturierte Programmierung ist prinzipiell in allen Programmiersprachen möglich, sogar in Assembler. Für ihre Umsetzung ist jedoch meist eine prozedurale Sprache vorteilhaft. Mit der zunehmenden Verbreitung des Paradigmas wurden Programmiersprachen entwickelt, die strukturierte Programmierung gezielt unterstützen und Elemente, die diesem Stil widersprechen, weitgehend beseitigen.

Zu den Sprachen, die strukturierte Programmierung unterstützen, gehören:

  • Ada und Algol
  • C und C++ sowie C#
  • COBOL ab COBOL 85
  • Fortran ab Fortran 77
  • Java und Python
  • Pascal, Modula-2, Oberon und Component Pascal
  • Visual Basic
  • Go

Weiterlesen

Programmiersprache Bei deklarativen Programmiersprachen ist der Ausführungsalgorithmus schon vorab festgelegt und wird nicht im Quelltext ausformuliert/beschrieben, sondern es … Programmierparadigma Grundlegend für den Entwurf von Programmiersprachen sind die Paradigmen der imperativen und der deklarativen Programmierung. Beim letzteren sind als wichtige … Kontrollstruktur Kontrollstrukturen sind in der Informatik die Vorgabe, in welcher Reihenfolge die Handlungsschritte eines Algorithmus abgearbeitet werden. Schleife (Programmierung) Eine Schleife (auch „Wiederholung“ oder englisch loop) ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den … Edsger W. Dijkstra Unter seinen Beiträgen zur Informatik finden sich der Dijkstra-Algorithmus zur Berechnung eines kürzesten Weges in einem Graphen (1959 in einem dreiseitigen … Niklaus Wirth Dabei erweiterte er auch die formale Sprache Backus-Naur-Form (BNF), die zur Notation der Syntax von Algol 60 eingesetzt wurde, zur Erweiterten Backus-Naur … Pascal (Programmiersprache) Besonderheiten · Sehr hohe Prozesssicherheit · Keine nullterminierten Zeichenketten · Strikte Trennung zwischen Programm, Funktionen und Prozeduren · Deklarationen. Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Objektorientierte Programmierung Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin … Programmablaufplan Ein Programmablaufplan (PAP) ist ein Ablaufdiagramm für ein Computerprogramm, das auch als Flussdiagramm (engl. flowchart) oder Programmstrukturplan … Assemblersprache Eine Assemblersprache, kurz auch Assembler genannt (von englisch to assemble ‚zusammenfügen'), ist eine Programmiersprache, die auf den Befehlsvorrat eines … C (Programmiersprache) C ist eine imperative und prozedurale Programmiersprache, die der Informatiker Dennis Ritchie in den frühen 1970er Jahren an den Bell Laboratories entwickelte.