Verzweigung (Programmierung)

Verzweigung (Programmierung)

Eine Bedingte Anweisung ist in der Programmierung ein Programmabschnitt, der nur unter einer bestimmten Bedingung ausgeführt wird. Eine Verzweigung legt fest, welcher von zwei (oder mehr) Programmabschnitten, abhängig von einer (oder mehreren) Bedingungen, ausgeführt wird.

Bedingte Anweisungen und Verzweigungen bilden, zusammen mit den Schleifen, die Kontrollstrukturen der Programmiersprachen. Sie gehören zu den wichtigsten Bestandteilen der Programmierung, da durch sie ein Programm auf unterschiedliche Zustände und Eingaben reagieren kann.

Inhaltsverzeichnis

Definition

Bedingte Anweisung

Eine bedingte Anweisung besteht aus einer Bedingung und einem Codeabschnitt, der wiederum aus einer oder mehreren Anweisungen besteht. Wenn bei der Programmausführung die bedingte Anweisung erreicht wird, dann wird erst die Bedingung ausgewertet, und wenn sie zutrifft (und nur dann) wird anschließend der Codeabschnitt ausgeführt. Danach wird in jedem Fall die Programmausführung mit den auf die bedingte Anweisung folgenden Anweisungen fortgesetzt. In Pseudocode geschrieben:

wenn Bedingung dann
  Anweisung(en)
ende

Beispiele: in vielen Programmiersprachen mit C-ähnlicher Syntax (z. B. Java), werden bedingte Anweisungen folgendermaßen realisiert:

if (Temperatur < 20) {
  HeizungEinschalten();
  zweiMinutenWarten();
  HeizungAusschalten();
}

In SQL gibt es etwa folgendes Konstrukt:

DELETE FROM tabelle WHERE tabelle.id=42;

Dies entspricht einer Schleife, die über die Einträge in einer Tabelle geht, und in der für jeden Tabelleneintrag eine Bedingte Anweisung ausgeführt wird: alle Einträge, für die die Bedingung „id = 42“ zutrifft, werden gelöscht.

Verzweigung

Eine Verzweigung (auch Auswahl oder Selektion genannt) besteht aus einer Bedingung und zwei Codeabschnitten. Wieder wird erst die Bedingung ausgewertet, und wenn sie zutrifft, wird anschließend der erste Codeabschnitt ausgeführt, anderenfalls wird der zweite Codeabschnitt ausgeführt:

wenn Bedingung dann
  Anweisung(en)
sonst
  Anweisung(en)
ende

Beispiel in C:

if (Temperatur < 20)
  HeizungEinschalten();
else
  HeizungAusschalten();

Mehrfache Verzweigung

In vielen Programmiersprachen gibt es auch mehrfache Verzweigungen, auch Fallunterscheidungen genannt. Dabei sind zwei Formen zu unterscheiden: entweder bestimmt das Ergebnis eines Ausdrucks, welcher von mehreren Codeabschnitten ausgeführt wird (und ob überhaupt einer davon ausgeführt wird), oder es gibt mehrere Bedingungen, denen jeweils ein Codeabschnitt zugeordnet ist. In beiden Formen kann ein else-Teil vorhanden sein (ein weiterer Codeabschnitt).

Erste Form

Der Ausdruck wird ausgewertet und mit den Wertangaben (hier Wert1 bis Wert3) verglichen. Bei Übereinstimmung werden die Anweisungen nach der Wertangabe ausgeführt:

falls Ausdruck gleich
   Wert1: Anweisung(en)
   Wert2: Anweisung(en)
   Wert3: Anweisung(en)
   sonst: Anweisung(en)
ende

Beispiel in C:

switch (zahl) {
   case 0: v = 1; break; // 'break' ist hier nötig, damit nicht auch die..
   case 1: v = 2; break; // ..folgenden Anweisungen ausgeführt werden (C-Spezialität)
   case 2: v = 5; break;
   default: v = 10;      // der else-Teil
}

Die genaue Semantik eines solchen Konstrukts hängt stark von der jeweiligen Programmiersprache ab. So ist z. B. der else-Teil nicht immer erlaubt, und manchmal muss er sogar vorhanden sein. Manchmal schreibt die Sprachdefinition auch vor, dass es zu einem Laufzeitfehler kommt, falls der else-Teil fehlt und der Ausdruck keinen der angegebenen Werte annimmt.

Zweite Form

Die Bedingungen werden der Reihe nach ausgewertet, solange bis eine davon zutrifft. Dann wird der zu dieser Bedingung gehörende Codeabschnitt ausgeführt und die Behandlung der mehrfachen Verzweigung ist damit beendet. Wenn keine der Bedingungen zutrifft, wird der else-Teil ausgeführt, falls er vorhanden ist:

wenn Bedingung dann
  Anweisung(en)
sonst wenn Bedingung2 dann
  Anweisung(en)
sonst
  Anweisung(en)
ende

Beispiel für die zweite Form in PHP:

if ($wert == 1) { 
  ErsteFunktion();
}
elseif ($wert == 2) { 
  ZweiteFunktion();
}
else { 
  AndereFunktion();
}

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

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

  • Verzweigung — Eine Verzweigung ist in der Botanik die Bildung von Gabelungen der Sprossachse in der abstrakten Algebra ein Begriff im Zusammenhang mit Erweiterungen bewerteter Körper auf, siehe Verzweigung (Algebra) in der Theorie der Differentialgleichungen… …   Deutsch Wikipedia

  • Bedingte Anweisung und Verzweigung — Eine Bedingte Anweisung ist in der Programmierung ein Programmabschnitt, der nur unter einer bestimmten Bedingung ausgeführt wird. Eine Verzweigung legt fest, welcher von zwei (oder mehr) Programmabschnitten, abhängig von einer (oder mehreren)… …   Deutsch Wikipedia

  • Strukturierte Programmierung — ist ein programmiersprachenübergreifendes Programmierparadigma, das Anfang der 1970er Jahre auch aufgrund der Softwarekrise populär wurde. Es beinhaltet zum einen die baumartige Zerlegung eines Programms in Teilprogramme (Prozeduren) und enthält… …   Deutsch Wikipedia

  • Ganzzahlige Programmierung — Die Ganzzahlige lineare Optimierung (auch ganzzahlige Optimierung) ist ein Teilgebiet der angewandten Mathematik. Wie die Lineare Optimierung beschäftigt sie sich mit der Optimierung linearer Zielfunktionen über einer Menge, die durch lineare… …   Deutsch Wikipedia

  • Ganzzahlige lineare Programmierung — Die Ganzzahlige lineare Optimierung (auch ganzzahlige Optimierung) ist ein Teilgebiet der angewandten Mathematik. Wie die Lineare Optimierung beschäftigt sie sich mit der Optimierung linearer Zielfunktionen über einer Menge, die durch lineare… …   Deutsch Wikipedia

  • Kontrollanweisung — Kontrollstrukturen (Steuerkonstrukte) werden in imperativen Programmiersprachen verwendet, um den Ablauf eines Computerprogramms zu steuern. Eine Kontrollstruktur gehört entweder zur Gruppe der Verzweigungen oder der Schleifen. Meist wird ihre… …   Deutsch Wikipedia

  • Strukturierte Programmiersprache — Strukturierte Programmierung ist ein programmiersprachenübergreifendes Programmierparadigma, das Anfang der 1970er Jahre auch aufgrund der Softwarekrise populär wurde. Es beinhaltet zum einen die baumartige Zerlegung eines Programms in… …   Deutsch Wikipedia

  • Generation language — Quelltext eines Programms in der objektorientierten Programmiersprache Ruby. Eine Programmiersprache ist eine Notation für Computerprogramme; sie dient sowohl dazu, diese während und nach ihrer Entwicklung (Programmierung) darzustellen als auch… …   Deutsch Wikipedia

  • PL SQL — PL/SQL Paradigmen: prozedural Erscheinungsjahr: 1991 Entwickler: Oracle Aktuelle Version: 10.2  (2005) Typisierung …   Deutsch Wikipedia

  • Programmable Logic Controller — Rack mit einer Speicherprogrammierbaren Steuerung Eine Speicherprogrammierbare Steuerung (SPS, engl. Programmable Logic Controller, PLC) ist eine Baugruppe, die zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird. In der Regel… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”