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: <, <=, <>, >=, >
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