Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
88 KAPITEL 9. AUSWAHLANWEISUNGEN<br />
void sicheres_nimm()<br />
{<br />
if (korn_da())<br />
{<br />
nimm();<br />
}<br />
}<br />
void sicheres_gib()<br />
{<br />
if (!maul_leer())<br />
{<br />
gib();<br />
}<br />
}<br />
9.6 Alternativanweisung<br />
Die bedingte Anweisung ermoglicht die optionale Ausfuhrung einer Anweisung unter einer bestimmten<br />
Bedingung. In diesem Abschnitt wird die bedingte Anweisung durch die Alternativanweisung<br />
{ auch Fallunterscheidung oder Verzweigung genannt { erweitert. Bei der Alternativanweisung<br />
konnen Sie nicht nur angegeben, da eine bestimmte Anweisung nur bedingt ausgefuhrt<br />
werden soll, sondern Sie konnen auch eine alternative Anweisung ausfuhren lassen, wenn die<br />
Bedingung nicht erfullt ist.<br />
9.6.1 Syntax<br />
Die Alternativanweisung ist eine bedingte Anweisung mit einem angehangten sogenannten else-<br />
Teil. Dieser besteht aus dem Schlusselwort else und einer Anweisung { im allgemeinen eine<br />
Blockanweisung. Die Anweisung einer Alternativanweisung, die ausgefuhrt wird, wenn der boolesche<br />
Ausdruck den Wert true liefert, wird im folgenden auch true-Anweisung und die Anweisung<br />
des else-Teils dementsprechend false-Anweisung genannt. Die genaue Syntax der Alternativanweisung<br />
konnen Sie Abbildung 9.9 entnehmen. Die Alternativanweisung ist wie die bedingte<br />
Anweisung eine Auswahlanweisung. Deshalb wird in Abbildung 9.9 das Syntaxdiagramm " Auswahlanweisung\<br />
aus Abbildung 9.7 erweitert.<br />
9.6.2 Semantik<br />
Wird eine Alternativanweisung ausgefuhrt, dann wird zunachst der Wert der Bedingung (boolescher<br />
Ausdruck) ermittelt. Ist die Bedingung erfullt, d.h. liefert der boolesche Ausdruck den<br />
Wert true, dann wird die true-Anweisung ausgefuhrt; liefert der boolesche Ausdruck den Wert<br />
false, dann wird die false-Anweisung { nicht aber die true-Anweisung { ausgefuhrt.