Imperative Programmierung


Imperative Programmierung

Imperative Programmierung ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Abfolge von Anweisungen, die den Status des Programmes verändern. Im Gegensatz dazu wird unter dem deklarativen Programmierparadigma beschrieben, was berechnet werden soll, aber nicht wie. Die imperative Programmierung ist das bekannteste Programmierparadigma. Es liegt zum Beispiel dem Entwurf von Fortran, Pascal und C zugrunde.

Inhaltsverzeichnis

Details

Der Programmstatus besteht aus allen Speicherzellen, auf die das Programm Zugriff hat, inklusive der deklarierten Variablen, den Prozessorregistern und dem Programmzähler. Der Programmzähler gibt die Position in der Anweisungsfolge an, mit der die Programmausführung nach der aktuellen Anweisung fortgesetzt werden soll.

Beispiele für imperative Anweisungen sind eine Schleifenanweisung (bedingt wird der Programmzähler verändert) oder die Speicherung eines konstanten Wertes in einer Variablen.

Das abstrakte Ausführungsmodell, das dem imperativen Paradigma zugrunde liegt, ist nah verwandt mit der Ausführung von Maschinencode auf einem konkreten Computer, der die vorherrschende Von-Neumann-Architektur implementiert. Es existieren beispielsweise bedingte und unbedingte Sprunganweisungen, mit denen Schleifen realisiert werden können. Der Status des Rechners setzt sich aus dem Arbeitsspeicherinhalt und den Registerinhalten zusammen.

Beispiel

Ausgabe der Quadratzahlen von ungeraden Zahlen von 3 bis 11.

Imperativ

Imperative Version in C:

int i;
for (i=3; i<12; i=i+2) {
  int q = i * i;
  printf("%d\n", q);
}

Deklarativ

Deklarative Version in Haskell

show $ [ i*i | i <- [3..11], odd i ]

Geschichte

Die 1957 entwickelte Programmiersprache Fortran implementiert wie die zuvor verwendeten Assemblersprachen das imperative Paradigma. LISP, 1958 erschienen, ist ein Beispiel für eine deklarative Sprache, bei der der Computer selbst einen Handlungsablauf zur Berechnung konstruieren muss.

Abgrenzung

Der Begriff der prozeduralen Programmierung wird oft synonym gebraucht, setzt aber die Verwendung von Prozeduren voraus, was nicht für jede imperative Programmiersprache gelten muss. Beispielsweise kennen ältere BASIC-Varianten keine Prozeduren.

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.

Einige imperative Programmiersprachen wie z. B. C++ und Java bieten neben prozeduralen Merkmalen auch zusätzliche Sprachmittel, um explizit die objektorientierte Programmierung zu unterstützen.

Literatur

  • Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation. 4. Auflage. Prentice Hall, 2000, ISBN 978-0-130-276780.
  • Robert W. Sebesta: Concepts of Programming Languages. 9. Auflage. Addison Wesley, 2009, ISBN 978-0-136-07347-5.

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • imperative Programmierung — imperative Programmierung,   die Programmiermethode, die eine Berechnung als Folge von Zustandsänderungen von Variablen betrachtet. Ein Programm besteht demnach aus einer Folge von Befehlen an den Computer, wie z. B. »Schreibe in die Variable x… …   Universal-Lexikon

  • Imperative Programmiersprache — Imperative Programmierung ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Folge von Anweisungen, die den Status des Programms verändern. Im Gegensatz dazu wird unter dem deklarativen… …   Deutsch Wikipedia

  • Imperative Sprachen — Imperative Programmierung ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Folge von Anweisungen, die den Status des Programms verändern. Im Gegensatz dazu wird unter dem deklarativen… …   Deutsch Wikipedia

  • Programmierung — Gehirnwäsche; Konditionierung; Manipulation; Engineeringarbeit; Softwareentwicklung; Implementation * * * Pro|gram|mie|rung 〈f. 20〉 das Programmieren * * * Pro|gram|mie|rung, die; , en: das Programmieren …   Universal-Lexikon

  • Funktionionale Programmierung — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Funktionale Programmierung ist ein Programmierparadigma. Programme… …   Deutsch Wikipedia

  • Funktionale Programmierung — ist ein Programmierstil, bei dem Programme ausschließlich aus Funktionen bestehen. Dadurch werden die aus der imperativen Programmierung bekannten Nebenwirkungen vermieden. Die funktionale Programmierung entspringt der akademischen Forschung. In… …   Deutsch Wikipedia

  • Regelbasierte Programmierung — Logische Programmierung (Prädikative Programmierung) ist ein Programmierparadigma, das auf der mathematischen Logik beruht. Anders als bei der imperativen Programmierung besteht ein Logik Programm nicht aus einer Folge von Anweisungen, sondern… …   Deutsch Wikipedia

  • prozedurale Programmierung — prozedurale Programmierung,   eine Programmiertechnik, bei der ein Programm mit Prozeduren, Funktionen und Schleifen strukturiert wird. Insbesondere wird bei der prozeduralen Programmierung auf Sprünge verzichtet. Manche Programmiersprachen… …   Universal-Lexikon

  • Methode (Programmierung) — Der Begriff Methode (Eng. method oder member function, zu deutsch auch Mitgliedsfunktion) wird in der Programmierung allgemein als Sammelbegriff sowie auch synonym unter anderem für Funktionen und Prozeduren verwendet. Speziell in der… …   Deutsch Wikipedia

  • Anweisung (Programmierung) — Als Anweisung (engl. statement) bezeichnet man in der Informatik, dort im Bereich der Programmierung, ein zentrales Element vieler imperativer Programmiersprachen. Die Programme derartiger Sprachen setzen sich primär aus einer oder mehreren… …   Deutsch Wikipedia