www.wikidata.de-de.nina.az
Imperative Programmierung lateinisch imperare anordnen befehlen ist ein Programmierparadigma nach dem ein Programm aus einer Folge von Anweisungen besteht die vorgeben in welcher Reihenfolge was vom Computer getan werden soll 1 Die imperative Programmierung ist das am langsten bekannte Programmierparadigma Bedingt durch den Sprachumfang fruherer Programmiersprachen war diese Vorgehensweise ehemals die klassische Art des Programmierens Sie liegt dem Entwurf vieler Programmiersprachen zum Beispiel ALGOL BASIC Fortran Pascal Ada PL I Cobol C und allen Assemblersprachen zugrunde 1 Abweichende Bezeichnungen In der Literatur wird dieses Entwicklungskonzept zum Teil auch imperativ prozedural algorithmisch 2 oder auch zustandsorientiert 3 genannt Auch die Bezeichnung prozedurale Programmierung wird zum Teil synonym verwendet was jedoch abweichend auch mit Verwendung von Prozeduren definiert wird Inhaltsverzeichnis 1 Details 2 Abgrenzung 3 Beispiel 4 Literatur 5 EinzelnachweiseDetails BearbeitenBestimmende Merkmale fur diese Art des Programmierens sind 4 5 Im Quellcode wird festgelegt was in welcher Reihenfolge und wie zu tun ist First do this and next do that 4 schrittweises Fortschreiten der Befehle viewed as sequence of things to be done 5 dargestellt als Folge von Anweisungen Zur Steuerung der Befehlsausfuhrung verwendet der Entwickler Kontrollstrukturen z B Sequenz Schleife bedingte Verzweigung Das dem imperativen Paradigma zugrunde liegende abstrakte Ausfuhrungsmodell ist eng angelehnt an die Ausfuhrung von Maschinencode auf Computern die nach der Von Neumann Architektur implementiert sind Es existieren beispielsweise bedingte und unbedingte Sprunganweisungen Der Status des Rechners bzw des Programms ergibt sich aus dem Inhalt von Datenfeldern im Arbeitsspeicher und dem Zustand von Systemvariablen z B Register Befehlszahler Die Hardware Implementierung fast aller Computer ist imperativ Nahezu die gesamte Computerhardware ist fur die Ausfuhrung von Maschinensprache ausgelegt die dem Computer eigen ist und im imperativen Stil geschrieben ist Aus dieser einfachen Perspektive wird der Programmstatus durch den Inhalt des Speichers definiert und die Anweisungen sind Anweisungen in der nativen Programmiersprache des Computers Ubergeordnete imperative Sprachen verwenden Variablen und komplexere Aussagen folgen jedoch immer noch demselben Paradigma Rezepte und Prozess Checklisten sind zwar keine Computerprogramme aber auch bekannte Konzepte deren Stil der imperativen Programmierung ahnelt Jeder Schritt ist eine Anweisung und die physische Welt halt den Zustand Da die Grundideen der imperativen Programmierung sowohl konzeptionell vertraut als auch direkt in der Hardware enthalten sind sind die meisten Computersprachen im imperativen Stil Zuweisungen fuhren im imperativen Paradigma eine Operation fur Informationen im Speicher durch und speichern die Ergebnisse zur spateren Verwendung im Speicher Hohere imperative Sprachen ermoglichen daruber hinaus die Auswertung komplexer Ausdrucke die aus einer Kombination von arithmetischen Operationen und Funktionsauswertungen bestehen konnen sowie die Zuordnung des resultierenden Werts zum Speicher Durch Schleifenanweisungen while Schleifen do while Schleifen und for Schleifen kann eine Folge von Anweisungen mehrmals ausgefuhrt werden Schleifen konnen entweder die Anweisungen ausfuhren die sie vordefiniert enthalten oder sie konnen sie wiederholt ausfuhren bis sich einige Bedingungen andern Bedingte Verzweigungsanweisungen ermoglichen die Ausfuhrung einer Folge von Anweisungen nur wenn eine Bedingung erfullt ist Andernfalls werden die Anweisungen ubersprungen und die Ausfuhrungssequenz wird ab der darauf folgenden Anweisung fortgesetzt Unbedingte Verzweigungsanweisungen ermoglichen die Ubertragung einer Ausfuhrungssequenz auf einen anderen Teil eines Programms Dazu gehoren die Sprunganweisung switch und das Unterprogramm die Unterroutine oder der Prozeduraufruf der normalerweise nach dem Aufruf zur nachsten Anweisung zuruckkehrt Zu Beginn der Entwicklung hoherer Programmiersprachen ermoglichte die Einfuhrung des Blocks die Erstellung von Programmen in denen eine Gruppe von Anweisungen und Deklarationen so behandelt werden konnte als waren sie eine Anweisung Dies ermoglichte neben der Einfuhrung von Unterprogrammen komplexe Strukturen durch hierarchische Zerlegung in einfachere prozedurale Strukturen auszudrucken Viele imperative Programmiersprachen sind Abstraktionen der Assemblersprache 6 Abgrenzung BearbeitenAls Gegenentwurf zur imperativen Programmierung gilt das Paradigma Deklarative Programmierung Bei der Deklarativen Programmierung wird vom Entwickler im Quellcode definiert was das Programm machen soll aber nicht wie Die meisten Programmiersprachen darunter auch objektorientierte Sprachen wie C Visual Basic NET C und Java unterstutzen in erster Linie auch die imperative Programmierung 2 Das Prinzip der Datenkapselung information hiding wird in imperativen Sprachen oft dadurch umgesetzt dass Prozeduren die eine logische Einheit bilden in Modulen oder Paketen zusammengefasst werden Nicht massgeblich fur die Einstufung als imperativ ist die Tatsache dass bei der physischen Ausfuhrung von Computerprogrammen im Prozessor die einzelnen Befehle des Maschinencodes Befehl fur Befehl ausgefuhrt werden denn dies ist unabhangig vom praktizierten Paradigma immer so Vielmehr setzt imperativ voraus dass ein Entwickler Code erstellt der detailliert die Schritte beschreibt die der Computer zur Erfullung der Aufgabe ausfuhren muss 2 Deklarativ erstellte Anweisungen etwa werden von ubergeordneten oder eingebundenen Systemkomponenten und nur basierend auf dem Quellcode in ausfuhrbare Maschinenbefehle umgeformt Beispiel SQL Kommandos Komponenten der Systemsoftware des Datenbankmanagementsystems interpretieren sie erzeugen daraus Maschinencode und lassen diesen ausfuhren Beispiel BearbeitenAusgabe der Quadratzahlen ungerader Zahlen von 3 bis 11 Imperative Programmierung Beispiel in der Programmiersprache C for int i 3 i lt 12 i 2 printf d n i i Funktionale Programmierung Beispiel in der Programmiersprache Haskell mapM print i 2 i lt 3 5 11 Literatur BearbeitenTerrence W Pratt Marvin V Zelkowitz Programming Languages Design and Implementation 4 Auflage Prentice Hall 2000 ISBN 978 0 13 027678 0 Robert W Sebesta Concepts of Programming Languages 9 Auflage Addison Wesley 2009 ISBN 978 0 13 607347 5 Einzelnachweise Bearbeiten a b Bohm Jungkunz Grundkurs IT Berufe Vieweg Verlag books google de a b c Microsoft Library MSDN Goos Vorlesungen uber Informatik books google co uk a b Java and Object Oriented Programming Paradigm books google com a b Programming Paradigms and Methodology books google com Bruce Eckel Thinking in Java Pearson Education 2006 ISBN 978 0 13 187248 6 S 24 google com Abgerufen von https de wikipedia org w index php title Imperative Programmierung amp oldid 230184285