Jewiki unterstützen. Jewiki, die größte Online-Enzy­klo­pädie zum Judentum.

Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ...

Vielen Dank für Ihr Engagement! (→ Spendenkonten)

How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida

Prozedur (Programmierung)

Aus Jewiki
Zur Navigation springen Zur Suche springen

Eine Prozedur ist ein Begriff aus der Programmierung von Computersystemen. Im Allgemeinen versteht man darunter eine Variante zum Begriff „Unterprogramm“: Die Anweisungen einer Prozedur können über ihre Benennung aufgerufen und dadurch mehrfach verwendet werden.


Terminologie und Details unterschiedlich

Je nach Programmiersprache und Programmierparadigma gibt es Unterschiede in der Definition des Begriffs Prozedur und zur Abgrenzung zum Begriff der Funktion.

FORTRAN77 beispielsweise fasst unter procedures Funktionen und prozedurale Unterprogramme (subroutines) zusammen.[1] In der Terminologie des C-Standards ist jedwedes Unterprogramm eine Funktion, unabhängig davon, ob ein Wert zurückgeliefert wird.[2] In der objektorientierten Programmierung werden beide Konzepte oft unter dem Sammelbegriff Methode zusammengefasst.

Nach [3][4] liefert eine Prozedur im Unterschied zur Funktion, die genau einen Rückgabewert als direktes Ergebnis liefert, keinen, einen oder mehrere Rückgabewert(e), aber nicht als direktes Ergebnis.

Im Allgemeinen kann eine Prozedur Aufrufparameter besitzen und auch die Werte von Variablen ändern bzw. dort Ergebnisse abstellen, beispielsweise einen Antwortcode. Man unterscheidet hier zwischen lokalen (nur innerhalb der Prozedur gültigen und von außen nicht beeinflussbaren) und globalen (außerhalb der Prozedur deklarierten) Variablen. Das Ändern globaler Variablen innerhalb einer Prozedur kann die Übersichtlichkeit des Programms beeinträchtigen und die Fehlersuche erschweren.

Ebenfalls sprachenabhängig können Prozeduren wie Funktionen in Programmbibliotheken zusammengestellt werden. Hierdurch besteht die Möglichkeit, eine Prozedur aus separaten Programmmodulen oder auch aus anderen Programmen heraus aufzurufen.

Abweichende Bedeutungen: In COBOL sind Prozeduren lediglich die in der ‚Procedure Division‘ formulierten, durch ‚Paragraphen‘ benennbaren Anweisungen (Befehle), unabhängig davon, ob sie als Unterroutine verwendet werden oder nicht. Auch in PL/I bezeichnet man die im Befehlsteil des Quelltextes enthaltenen – prozedural (= ‚fortschreitend‘) zu verarbeitenden – Anweisungen als „Prozeduren“.

Beispiele

Die folgenden Beispiele definieren jeweils eine Prozedur zum Zeichnen einer Linie mit anzahl Punkten.

Pascal

In der Programmiersprache Pascal, die Prozeduren explizit als Sprachelement verwendet, gibt eine Prozedur im Gegensatz zu einer Funktion definitionsgemäß keinen Wert zurück:

Beispiel einer Prozedur in Pascal:

  PROCEDURE Punkte_zeichnen(Anzahl:Integer);
  VAR
    i:Integer;
  BEGIN
    FOR i := 1 TO Anzahl DO
    BEGIN
      Write('.');
    END;
  END;

Beispiel eines Prozeduraufrufs in Pascal:

  Punkte_zeichnen(5);

BASIC

Realisierung einer Prozedur in einer modernen BASIC-Variante (Subroutine ohne Rückgabewert):

  Public Sub Punkte_zeichnen(anzahl As Integer)
    For i As Integer = 1 To anzahl
      Debug.print (".")
    Next i
  End Sub

Beispiel eines Methodenaufrufes in Basic:

  Call Punkte_zeichnen(5)

C

Realisierung einer Prozedur in C. Das Schlüsselwort void legt fest, dass die Funktion keinen Rückgabewert liefert:

  void Punkte_zeichnen(int anzahl) {
    for (int i = 0; i < anzahl; i++) {
      putchar('.');
    }
  }

Beispiel eines Funktionsaufrufs in C:

  Punkte_zeichnen(5);

Java

Realisierung einer Prozedur in Java (Methode ohne Rückgabewert):

public class Beispiel
{
  public static void punkteZeichnen (int anzahl) {
    for (int i = 0; i < anzahl; i++) {
      System.out.print (".");
    }
  }
}

Beispiel eines Methodenaufrufs in Java:

  Beispiel.punkteZeichnen(5);

Einzelnachweise

  1. FORTRAN77-Standard, Kap. 15. Abgerufen am 20. September 2010 (english).
  2. C99-Standard. (PDF; 3,8 MB) Abgerufen am 12. September 2010 (english, nicht-normatives Arbeitsdokument).
  3. Prozeduren-Funktionen-Methoden. (309 kB) Abgerufen am 20. September 2010 (PDF, Skript auf www.gdv.informatik.uni-frankfurt.de).
  4. Prozedurale Abstraktion, Funktionen. Abgerufen am 20. September 2010 (auf www.uni-koeln.de).
Dieser Artikel basiert ursprünglich auf dem Artikel Prozedur (Programmierung) aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar.