Verzweigung (Programmierung)
aus Wikipedia, der freien Enzyklopädie
Verzweigungen bilden mit den Schleifen in Programmiersprachen die Kontrollstrukturen.
Aufgrund einer Bedingung wird der Programmfluss (die Abfolge der Ausführung der Befehle) verzweigt. Im Gegensatz zu Schleifen, die den Programmablauf nach oben zurückführen, geht der Ablauf bei einer Verzweigung immer über einen von mehreren Wegen weiter nach unten. Synonyme für Verzweigungen sind Auswahl und Selektion.
Prinzipiell unterscheidet man drei Arten der Verzweigung:
- einseitige Auswahl
- zweiseitige Auswahl
- mehrseitige Auswahl (Fallunterscheidung)
Realisiert sind die ein- und zweiseitige Verzweigung in Programmiersprachen meist mehr oder weniger wie folgt:
IF <bedingung> THEN <Aktionsfolge> ELSE <AlternativeAktionsfolge> ENDIF
Die mehrfache Verzweigung mit
CASE <aVariable> aValue1: <AktionsfolgeA> aValue2: <AktionsfolgeB> ... OTHERWISE: <Aktionsfolge> END
[Bearbeiten] Beispiele
[Bearbeiten] Steuerberechnung in einem fiktiven Land
[Bearbeiten] In Pascal
program Steuer; uses CRT; (* ReadKey-Funktion *) var Einkommen: Double; (* Zu verst. Einkommen *) Steuer : Double; (* Zu bezahlende Steuer *) Splitting: Boolean; (* Familienstand *) Kinder : Byte; (* Anzahl der Kinder *) begin write ('Ihr Einkommen: '); (* Eingabe des Einkommens *) readln(Einkommen); write ('Splittingtarif [J/ ] '); (* Splittingtarif? *) Splitting := UpCase(ReadKey) = 'J'; write ('Kinderzahl '); (* Anzahl Kinder einlesen *) readln(Kinder); if Splitting (* einseitige Auswahl *) then Einkommen := Einkommen / 2; if Einkommen < 5000 (* zweiseitige Auswahl *) then Steuer := 0 else if Einkommen < 10000 (* zweiseitige Auswahl *) then Steuer := (Einkommen - 3000) * 0.3 else Steuer := (Einkommen - 7000) * 0.5; if Splitting (* einseitige Auswahl *) then Steuer := Steuer * 2; case Kinder of (* Mehrseitige Auswahl *) 1: Steuer := Steuer - 100; 2: Steuer := Steuer - 150; 3: Steuer := Steuer - 225 else Steuer := Steuer - 300 end; writeln('Ihre Steuer betraegt ', Steuer:10:2, ' Euro') end.
Der Hauptartikel Kontrollstruktur enthält weitere Angaben.