Verzweigungen

Wofür benötigt man Verzweigungen im Programm?

Beispiele für Situationen, in denen die Antwort auf eine entsprechende Frage jeweils wahr oder falsch, true oder false, ja oder nein lautet. Ein Programm kann solche Funktionen jeweils über eine Verzweigung (Fallunterscheidung) steuern.
  1. Wenn die Temperatur unter 19 Grad fällt, dann wird die Heizung eingeschaltet - ansonsten ist die Heizung aus.
    Frage: Temperatur in Grad Celsius kleiner als 19 Grad?
    Antwort: Ja/Nein
  2. Wenn die Ampel rot ist, dann müssen die Autos mit Autopilot anhalten - ansonsten dürfen sie fahren. Ein Programm steuert diese Funktion.
    Frage: Ist die Ampel rot?
    Antwort: Ja/Nein
  3. Ein Rauchsensor stellt fest, ob jemand in der Nichtraucherkneipe raucht und reagiert entsprechend mit Geheul.
    Frage: Raucht jemand?
    Antwort: Ja/Nein
  4. Wenn der linke Knopf gedrückt wurde, dann öffnet sich die Tür - ansonsten wird ein Wassereimer über den Besucher ausgekippt.
    Frage: Wurde der linke Knopf gedrückt?
    Antwort: Ja/Nein
  5. Wenn eine Zahl X größer ist als eine Zahl Y dann ... ansonsten ...
    Frage: Ist die Zahl X größer als die Zahl Y?
    Antwort: Ja/Nein
  6. Wenn es eine Dönerbude um die Ecke gibt, dann essen wir heute Döner, ansonsten gibt es Currywurst. Eine App stellt fest, ob es eine solche Bude gibt.
    Frage: Ist eine Dönerbude um die Ecke?
    Antwort: Ja/Nein
  7. Wenn der Himmel blau ist, dann sollte man nach draussen gehen, ansonsten kann man in der Bude weiterzocken. Eine Schönwetterapp gibt ein entsprechendes Signal.
    Frage: Ist draussen schönes Wetter und der Himmel blau?
    Antwort: Ja/Nein
Dies sind ein paar Beispiele, welche im Computerprogramm mit Verzweigungsanweisungen realisiert werden.

Wie programmiert man Verzweigungen?

Verzweigungen im Programm sehen immer wie folgt aus. Die abgebildete Syntax ist daher auswendig zu lernen!
if(  ...  )
{
  // Anweisungsblock 1
}
else
{
  // Anweisungsblock 2
}
Anstelle der drei Punkte stehen zwischen den runden Klammern die programmierten Fragestellungen, z.B. Vergleiche wie a==b.
  • Wenn das Ergebnis z.B. true ist, dann wird der Anweisungsblock 1 ausgeführt.
  • Wenn das Ergebnis z.B. false ist, dann wird der Anweisungsblock 2 ausgeführt.

Vielleicht verstehen Sie die folgende Erläuterung des gleichen Sachverhalts besser? Die folgende Darstellung ist identisch mit der obigen Darstellung.
if(  das Ergebnis eines Vergleichs an dieser Stelle true ist  )
{
   // dann wird dieser Quelltext ausgeführt
}
else
{
   // und ansonsten dieser Quelltext
}
Die oben genannten Fragestellungen kann man auch als so genannten Pseudocode formulieren. Pseudocode ist nicht lauffähig, d.h. das Programm kann damit nicht ausgeführt werden. Aber Sie können anhand des Pseudocodes bereits erkennen, wie der nächste Schritt in der Programmierung aussehen wird. Der Pseudocode für die letzten beiden Fragestellungen sieht z.B. wie folgt aus:
1.
if( ist eine Dönerbude um die Ecke? )
{
  Ausgabe: "Dann kauf 'nen Döner"
}
else
{
  Ausgabe: "Eine Currywurst tut's auch!"
}
 
2.
if( ist der Himmel blau? )
{
  Ausgabe: "Dann ist schönes Wetter und Du solltest raus gehen!"
}
else
{
  Ausgabe: "Dann bleib mal drinnen und zock noch 'ne Runde!"
}
 
 

Auswahl zwischen mehreren Ergebnissen

Sie haben vielleicht bereits gemerkt, dass es manchmal auch den Wunsch gibt, zwischen mehr als nur zwei Lösungen zu wählen.

Beispiel 1: Sie möchten den Text zu den Bedeutungen der Schulnoten ausgeben.
Bei Wikipedia finden Sie folgende Tabelle:
Zahl
Note
Punkte
Beschreibung
1
sehr gut
15–13
wenn die Leistung den Anforderungen in besonderem Maße entspricht.
2
gut
12–10
wenn die Leistung den Anforderungen voll entspricht.
3
befriedigend
9–7
wenn die Leistung im Allgemeinen den Anforderungen entspricht.
4
ausreichend
6–4
wenn die Leistung zwar Mängel aufweist, aber im Ganzen den Anforderungen noch entspricht.
5
mangelhaft
3–1
wenn die Leistung den Anforderungen nicht entspricht, jedoch erkennen lässt, dass die notwendigen Grundkenntnisse vorhanden sind und die Mängel in absehbarer Zeit behoben werden können.
6
ungenügend
0
wenn die Leistung den Anforderungen nicht entspricht und selbst die Grundkenntnisse so lückenhaft sind, dass die Mängel in absehbarer Zeit nicht behoben werden können.
Eine Arbeit wird auch bei nicht erbrachter Leistung mit ungenügend benotet.

Beispiel 2: ...

Wie programmiert man eine Mehrfachauswahl?

Eine Mehrfachauswahl im Programm sieht immer wie folgt aus. Die abgebildete Syntax sollte man daher auswendig lernen!
switch(  x  )
{
  case 1:
  {
     // Hier steht die Anweisung für den Fall,
     // dass die Variable x den Wert 1 enthält
     break;
  }
  case 2:
  {
     // Hier steht die Anweisung für den Fall,
     // dass die Variable x den Wert 1 enthält
     break;
  }
  case 3:
  {
     // Hier steht die Anweisung für den Fall,
     // dass die Variable x den Wert 1 enthält
     break;
  }
 
  // usw......
 
  default:
  {
     // Hier steht die Anweisung für den Fall, dass keiner
     // der zuvor geprüften Werte mit x übereinstimmt.
  }
}