<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Prozedurale_Programmierung</id>
	<title>Prozedurale Programmierung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Prozedurale_Programmierung"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Prozedurale_Programmierung&amp;action=history"/>
	<updated>2026-05-24T23:41:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Prozedurale_Programmierung&amp;diff=67910&amp;oldid=prev</id>
		<title>imported&gt;Rosenfalter: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Prozedurale_Programmierung&amp;diff=67910&amp;oldid=prev"/>
		<updated>2024-12-04T19:23:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Prozedurale Programmierung&amp;#039;&amp;#039;&amp;#039; ist ein [[Programmierparadigma]], nach dem [[Computerprogramm]]e entwickelt werden können. Die Bezeichnung ist nicht eindeutig; in der Literatur wird sie für verschiedene Bedeutungen verwendet:&lt;br /&gt;
&lt;br /&gt;
* als Erweiterung des [[Imperative Programmierung|imperativen Paradigmas]] um den Ansatz, [[Algorithmus|Algorithmen]] in überschaubare Teile zu zerlegen, die anhand einer definierten [[Schnittstelle]] aufrufbar sind.&amp;lt;ref name=&amp;quot;KOP&amp;quot;&amp;gt;{{Literatur|Titel=Konzepte Objektorientierter Programmierung|TitelErg=Mit einer Einführung in Java|Autor=Arnd Poetzsch-Heffter|Verlag=Springer|Ort=Berlin|Reihe=eXamen.press|Seiten=10-12|Jahr=2009|ISBN=978-3-540-89470-4|Online={{Google Buch|BuchID=jXCk1pAFGqoC|Seite=PA10}}}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* innerhalb des imperativen Paradigmas als Gegenstück zur [[Objektorientierte Programmierung|objektorientierten Programmierung]]&amp;lt;ref name=&amp;quot;VI&amp;quot;&amp;gt;{{Literatur|Autor=Heinrich Müller, Frank Weichert|Titel=Vorkurs Informatik|TitelErg=Der Einstieg ins Informatikstudium|Verlag=Vieweg+Teubner|Ort=Wiesbaden|Seiten=208|Jahr=2011|ISBN=978-3-8348-0959-9|Online={{Google Buch|BuchID=PA3w_JugxvUC|Seite=PA208}}}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vereinzelt wird &amp;#039;&amp;#039;prozedurale Programmierung&amp;#039;&amp;#039; auch als Synonym zur imperativen Programmierung an sich&amp;lt;ref&amp;gt;Wolfgang Lassmann: &amp;#039;&amp;#039;Wirtschaftsinformatik&amp;#039;&amp;#039;. Gabler Verlag, 2006, ISBN 978-3-409-12725-7, Seite 256, [https://books.google.de/books?id=EolXv84vuwsC&amp;amp;pg=PA256&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Axel Kilian: &amp;#039;&amp;#039;Programmieren mit Wolfram Mathematica&amp;#039;&amp;#039;. Springer, 2009, ISBN 978-3-642-04671-1, Seite 66, [https://books.google.de/books?id=pHJ6tZtIfH0C&amp;amp;pg=PA66&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt; oder zur &amp;#039;&amp;#039;[[strukturierte Programmierung|strukturierten Programmierung]]&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;Hans Benker: &amp;#039;&amp;#039;Ingenieurmathematik kompakt – Problemlösungen mit MATLAB&amp;#039;&amp;#039;. Springer, 2010, ISBN 978-3-642-05452-5, Seite 59, [https://books.google.de/books?id=o6I_-pKgy7QC&amp;amp;pg=PA59&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt; verstanden.&lt;br /&gt;
&lt;br /&gt;
== Zerlegung in Teilprobleme ==&lt;br /&gt;
Die prozedurale Programmierung ergänzt das imperative Konzept aufeinander folgender Befehle um den Ansatz, einen Algorithmus in überschaubare Teile zu zerlegen. Je nach Programmiersprache werden diese Teile [[Unterprogramm]], [[Routine (Programmierung)|Routine]], [[Prozedur (Programmierung)|Prozedur]] oder [[Funktion (Programmierung)|Funktion]] genannt. Es lassen sich [[Parameter (Informatik)|Parameter]] übergeben und Ergebnisse zurückgeben. Durch [[Lokale Variable|lokale]] und [[globale Variable]]n kann die „Sichtbarkeit“ der Variablen gesteuert werden: Während lokale Variablen nur innerhalb einer Prozedur bekannt sind, sind globale Variablen im ganzen Computerprogramm bekannt. Zusammen mit den [[Kontrollstruktur]]en der [[Strukturierte Programmierung|strukturierten Programmierung]] ist die prozedurale Programmierung ein Mittel zur Herstellung der Übersichtlichkeit.&amp;lt;ref&amp;gt;[[Peter Henning (Physiker)|Peter A. Henning]], Holger Vogelsang: &amp;#039;&amp;#039;Taschenbuch Programmiersprachen&amp;#039;&amp;#039;. Hanser Verlag, 2007, ISBN 978-3-446-40744-2, Seite 34, [https://books.google.de/books?id=94qcnBzwr3YC&amp;amp;pg=PA34&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Sebastian Kübeck: &amp;#039;&amp;#039;Software-Sanierung&amp;#039;&amp;#039;. Verlag Hüthig Jehle Rehm, 2009, ISBN 978-3-8266-5072-7, Seite 29, [https://books.google.de/books?id=TjsIEq6U_f4C&amp;amp;pg=PA29&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt; Neben der Übersichtlichkeit können so [[Codewiederholung]]en vermieden werden. Die [[modulare Programmierung]] hat einen ähnlichen Zweck, aber auf einer höheren Ebene: Größere Computerprogramme sollen hierbei in einzelnen Modulen entwickelt, getrennt kompiliert und getestet werden können oder es sollen fertige [[Programmbibliothek]]en eingebunden werden.&amp;lt;ref&amp;gt;[[Peter Henning (Physiker)|Peter A. Henning]], Holger Vogelsang: &amp;#039;&amp;#039;Taschenbuch Programmiersprachen&amp;#039;&amp;#039;. Hanser Verlag, 2007, ISBN 978-3-446-40744-2, Seite 51, [https://books.google.de/books?id=94qcnBzwr3YC&amp;amp;pg=PA51&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispielsweise verfügte [[Fortran]] in der ersten Version (um 1960) nicht über den prozeduralen Ansatz trotz anderer Konzepte zur strukturierten Programmierung; der prozedurale Ansatz wurde in einer späteren Version eingebaut.&lt;br /&gt;
&lt;br /&gt;
== Imperative, nicht objektorientierte Programmierung ==&lt;br /&gt;
Die zweite Bedeutung ist als Sammelbegriff für die Programmierart, die bis in die 1990er Jahre lange vorherrschte, bis die [[objektorientierte Programmierung]] als Weiterentwicklung praxistauglich eingeführt wurde. Synonym wird auch von der „klassischen“ oder „traditionellen Programmierung“ gesprochen.&amp;lt;ref&amp;gt;Ulla Kirch, Peter Prinz: &amp;#039;&amp;#039;C++ – Lernen und professionell anwenden&amp;#039;&amp;#039;. Verlag Hüthig Jehle Rehm, 2010, ISBN 978-3-8266-9143-0, Seite 25, [https://books.google.de/books?id=Ecb4dUZtmMEC&amp;amp;pg=PA25&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konzepte der prozeduralen Programmierung bilden die Basis für die objektorientierte Programmierung.&amp;lt;ref&amp;gt;[[Helmut Balzert]]: &amp;#039;&amp;#039; Java:Objektorientiert programmieren&amp;#039;&amp;#039;. Verlag W3l, 2010, ISBN 978-3-86834-013-6, Seite V, [https://books.google.de/books?id=ER2RMWeFeawC&amp;amp;pg=PT5&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt; Seitdem gelten die prozedurale Programmierung und die objektorientierte Programmierung als zwei Hauptströmungen innerhalb der imperativen Programmierung.&amp;lt;ref&amp;gt;Kurt Badertscher, Johannes Scheuring: &amp;#039;&amp;#039;Wirtschaftsinformatik Grundlagen&amp;#039;&amp;#039;. Compendio Bildungsmedien, 2006, ISBN 978-3-7155-9271-8, Seite 126, [https://books.google.de/books?id=XQbz8Eu_u1gC&amp;amp;pg=PA126&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt; [[Hybridsprache]]n unterstützen beide Konzepte.&lt;br /&gt;
&lt;br /&gt;
Die prozedurale Art der Entwicklung war –&amp;amp;nbsp;bedingt durch den Sprachumfang früher Programmiersprachen&amp;amp;nbsp;– die klassische Art des Programmierens. Doch sind auch bestimmende Eigenschaften der prozeduralen Entwicklung teilweise noch in neueren Programmiersprachen anwendbar.&lt;br /&gt;
&lt;br /&gt;
Merkmale dieser Art des Programmierens sind:&lt;br /&gt;
* [[Imperative Programmierung|Imperativer Ansatz]]: Folge von definierten Zustandsübergängen, bei denen festgelegt ist, wie diese Zustände verändert werden sollen. Diese zusammengesetzten Anweisungen können endlich (Programm endet selbstständig) oder auch unendlich sein (Programm wartet auf Ereignisse).&amp;lt;ref name=&amp;quot;KOP&amp;quot; /&amp;gt;&lt;br /&gt;
* Kontrollstrukturen (z.&amp;amp;nbsp;B. Sequenz, Schleife, Verzweigung) zur Steuerung der Befehlsausführung.&lt;br /&gt;
* Aufrufen von Unterprogrammen und das Durchleiten und die Rückgabe von Parameterwerten (Konzept der Abstraktion bzw. prozedurale Programmierung im engeren Sinne). Dabei entsteht eine Hierarchie von Funktionen, die jeweils sequentiell abgearbeitet werden. Die Gruppierung und Hierarchie kann beliebigen logischen Prinzipien entsprechen. Der Startpunkt des Programms liegt in der Hauptprozedur – von der aus die Teilfunktionen aufgerufen werden.&amp;lt;ref name=&amp;quot;KOP&amp;quot; /&amp;gt;&lt;br /&gt;
* Datenwerte werden als benannte Variablen definiert und über ihre Namen angesprochen.&amp;lt;ref name=&amp;quot;KOP&amp;quot; /&amp;gt;&lt;br /&gt;
* Diesen Variablen sind Datentypen zugeordnet, die jeweils nur bestimmte Instruktionen erlauben.&amp;lt;ref name=&amp;quot;KOP&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der hauptsächliche Unterschied zwischen prozeduraler und objektorientierter Programmierung ist die Beziehung zwischen Daten und Funktionen. Während bei der objektorientierten Programmierung Daten und Funktionen, die auf diese Daten angewandt werden können, in [[Objekt (Programmierung)|Objekten]] zusammengefasst werden, haben bei der prozeduralen Programmierung Daten und Funktionen keinen Zusammenhalt.&amp;lt;ref&amp;gt;Christian Silberbauer: &amp;#039;&amp;#039;Einstieg in Java und OOP&amp;#039;&amp;#039;. Springer, 2009, ISBN 978-3-540-78615-3, Seite 130, [https://books.google.de/books?id=4_bMofrIPsQC&amp;amp;pg=PA130&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Entwicklung prozeduraler Programmiersprachen und -techniken basiert auf der [[Von-Neumann-Architektur]], die mit den [[Assemblersprache]]n begann und in den [[Höhere Programmiersprache|Hochsprachen]] ihre Weiterentwicklung fand. Während beim prozeduralen Ansatz der [[Programmcode]] dem späteren Ablauf auf Hardwareebene ähnlich ist und diesen grundsätzlich festlegt, abstrahiert der objektorientierte Ansatz&amp;lt;!--das könnte klarer sein--&amp;gt;. Somit wird die prozedurale Programmierung als eine Abstraktionsstufe zwischen Assembler und objektorientierter Programmierung betrachtet.&amp;lt;ref&amp;gt;Oliver Alt: &amp;#039;&amp;#039;Car Multimedia Systeme Modell-basiert testen mit [[SysML]]&amp;#039;&amp;#039;. Vieweg + Teubner, 2009, ISBN 978-3-8348-0761-8, Seite 44, [https://books.google.de/books?id=T668-HFD93gC&amp;amp;pg=PA44&amp;amp;hl=de books.google.de]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fortran]], [[COBOL]], [[ALGOL]], [[C (Programmiersprache)|C]] und [[Pascal (Programmiersprache)|Pascal]] sind eine Auswahl prozeduraler [[Programmiersprache]]n.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierparadigma]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rosenfalter</name></author>
	</entry>
</feed>