Algorithmen mit Verzweigungen

Einführungsbeispiel

Nach der Dreiecksungleichung ist im Dreieck die Summe der Länge zweier Seiten  stets größer der Länge der dritten Seite.

Ist diese Bedingung erfüllt, kann ein Dreieck konstruiert werden.

Struktogramm

Die Auswahlanweisung oder Verzweigung ermöglicht es, von zwei zur Auswahl stehenden Anweisungsfolgen genau eine auszuführen. Die Ausführung hängt von der Bedingung ab, ob diese erfüllt ist oder nicht.

Die Anweisungsfolge umfasst dabei leere Anweisungen, eine Anweisung sowie mehrere Anweisungen, die durch BEGIN und END zu einem Ganzem geklammerte Anweisung.

Syntax

einseitige Auswahl:        IF <Bedingung> THEN <Anweisung>

zweiseitige Auswahl:       IF <Bedingung> THEN <Anweisung> ELSE <Anweisung>    

Bedingung:        <Ausdruck_1> <Vergleichsoperator> <Ausdruck_2>

Vergleichsoperatoren:        <,  <=,  <>,  >=, >

Quelltext

program Dreieck; {Dreiecksungleichung} 

uses crt;

var a,b,c  :  real; 

begin 

    clrscr;

    gotoxy(20,3), write('Dreiecksungleichung');

    gotoxy(15,6);Write('a = '); ReadLn(a); 

    gotoxy(15,8);Write('b = '); ReadLn(b); 

    gotoxy(15,10);Write('c = '); ReadLn(c); 

        if (a>b+c) and (b>a+c) and (c>a+b) then 

            begin

            gotoxy(15,14);Write('a,b, und c bilden ein Dreieck')

            end else {+++kein Semikolon+++}

            begin 

            gotoxy(15,14);Write('a,b, und c bilden kein Dreieck'); 

            end;

    readln;

end.

weiteres Beispiel: Lösen einer quadratischen Gleichung