Kleines Nachschlagewerk Informatik
Einfache Verzweigungen
Worum geht es?
Oftmals muss der Programmablauf verzweigt werden. Ist eine Bedingung eingetreten (Spielfigur hat Feindkontakt), dann wird der eine Programmteil ausgeführt (Figur kämpft), andernfalls wird nichts oder etwas anderes getan (Spielfigur schläft).
Verzweigungen
Eine Verzweigung hat immer dieses Muster:

      Wenn Bedingung erfüllt dann
          Mache etwas
            
Weiterhin bieten fast alle Sprachen Alternativen an:

      Wenn Bedingung erfüllt dann
          Mache etwas
      sonst
          Mache etwas anderes
            
Bedingungen können Vergleiche von Variablen, Tests der Umgebung in Kara o.a. sein.
Zweimal if ist nicht if-else
Will man, wenn eine Bedingung wahr ist, das eine und andernfalls das andere machen, so bietet sich ein if-else- bzw. wenn-sonst-Block an. Verdeutlicht wird dies an einem Treffer auf eine Spielfigur, wobei der Schaden größer sein kann als die noch zur Verfügung stehende Lebensenergie.

      wenn schaden < energie dann
          // Nochmal Glück gehabt, nur Schaden abziehen
          energie = energie - schaden;
      sonst
          // Objekt wurde zerstört
          ... hier folgt der Explosionscode ...
            
Schreibt man jedoch zweimal if nacheinander, wird erst Energie abgezogen und danach noch ein zweites Mal getestet. Die Spielfigur wird somit zerstört, obwohl noch Energie da war.

      wenn schaden < energie dann
          // Nochmal Glück gehabt, nur Schaden abziehen
          energie = energie - schaden;
    
      wenn schaden >= energie dann
          // Objekt wurde zerstört
          ... hier folgt der Explosionscode ...
            
Java
Wenn a kleiner 3 ist, dann tue etwas.

      if (a<3)
      {
          // .. Hier steht dann der Code ..
      }
            
Wenn a < 3 ist, tue etwas. Sonst mache etwas anderes

      if (a < 3)
      {
          // ... der Code, falls a < 3
      }
      else
      {
          // Hier steht der Code falls a nicht kleiner 3
      }
            
Wenn a kleiner 3 ist, mache das eine, wenn a größer 3 ist das andere und wenn a gleich 3 ist, wieder etwas anderes.

      if (a < 3)
      {
          // ...
      }
      else if (a > 3)
      {
          // ...
      }
      else
      {
          // hier bleibt nur noch a == 3 übrig
      }
            
Steht in den Blöcken nur ein Befehl, kann man die geschweiften Klammern weglassen. Es ergeht hiermit der dringende Rat, geschweifte Klammern IMMER zu schreiben und damit die Blöcke zu kapseln.
TI-82
Wenn A kleiner 3 ist, dann tue etwas.

      If A<3
      Then
      .. Hier steht dann der Code ..
      End
            
Wenn A < 3 ist, tue etwas. Sonst mache etwas anderes

      If A<3
      Then
      ... der Code, falls a < 3
      Else
      ... Hier steht der Code falls a nicht kleiner 3
      End
            
Wenn a kleiner 3 ist, mache das eine, wenn a größer 3 ist das andere und wenn a gleich 3 ist, wieder etwas anderes.

      If A<3
      Then
      ... der Code
      Else
      If A>3
      Then
      ... Code für A>3
      Else
      ... hier bleibt nur noch a == 3 übrig
      End
      End
            
Scratch
Für einfache Verzweigungen gibt es einen Block ...





... und für Verzweigungen mit Alternative ebenso.





Möchte man mehrere Bedingungen testen, dann kann man die Verzweigungen verschachteln.



Die if-Schleife
Es gehört zu den großen Mysterien der Informatik, warum Schüler immer von einer if-Schleife reden, obwohl es sich doch um eine Verzweigung handelt. Dies ist ein Rätsel und bis heute ungeklärt.

Es wird darum gebeten, jedesmal, wenn der Ausdruck if-Scheife fällt, für 10 Sekunden zu schweigen und die Arbeit einzustellen (Böse Zungen behaupten, manche Informatik-Kurse hätten daraufhin ihre Arbeit völlig einstellen müssen).