3. Kontrollstrukturen

Eine Kontrollstruktur überprüft immer eine Bedingung und handelt stets nach dieser. Um Dir das Prinzip von Kontrollstrukturen zu zeigen, schreiben wir ein kleines Programm, bei dem ein Wert, einer Variable, zwingend über null sein muss. Ansonsten wird uns ausgegeben, dass der Wert über null sein soll. Eine Kontrollstruktur hat immer einen „if“ und einen „else“ Teil. Der „if“ Teil wird immer dann ausgeführt, wenn die Bedingung stimmt. Falls diese nicht zutreffen sollte, wird automatisch der „else“ Teil ausgeführt. Dabei ist der „else“ Teil immer die logische Konsequenz, die als letzte Möglichkeit gilt.  

var zahl = 10
if zahl > 0{
    print("Vielen Dank")
} else{     print("Zahl muss über null sein") }


Wie du siehst, habe ich eine Variable gebildet, deren Wert 10 ist. Mit „if“ habe ich die Bedingung gestellt, dass der Wert der Variable zahl grösser als 0 sein muss. Hier ist wichtig zu wissen, dass wir den Wert 0 nicht mehr im Zahlenbereich sehen und somit der tiefst mögliche Wert 1 sein kann. Falls wir den Wert 0 ebenfalls im Zahlenbereich möchten, schreiben wir: 

if zahl >= 0


Damit sagen wir, dass „zahl“ grösser oder gleich 0 sein muss.

Nach der Bedingung kommt die Folge, die in geschweifte Klammern geschrieben wird. In unserem Fall, ist das die Konsolenausgabe „Zahl muss über null sein“. Nun kommt der, schon erwähnte, „else“ Teil, den wir genauso in geschweifte Klammern schreiben. In diesen habe ich die einzig mögliche logische Konsequenz gepackt. Nämlich, die Konsolenausgabe „Zahl muss über null sein“.

Eine Kontrollstruktur muss nicht immer nur aus einer einzigen Bedingung bestehen. Wollen wir z.B. untersuchen, ob zwei Zahlen grösser, kleiner oder gleich die andere ist, brauchen wir zwei Bedingungen. Dafür können wir „else if“ verwenden. Damit sagen wir, dass die folgende Bedingung überprüft werden soll, falls die erste nicht zugetroffen hat.

var zahl1 = 30
var zahl2 = 30

if zahl1 > zahl2{
    print("Zahl1 ist grösser")
}
else if zahl1 < zahl2{
    print("Zahl2 ist grösser")
} else if zahl1 == zahl2{     print("Zahlen sind gleich gross") }


Du siehst schon, bei Kontrollstrukturen dreht sich alles um Bedingungen. In der Programmierung gibt es verschiedenste Möglichkeiten, Tatbestände zu prüfen. Es gibt allerdings immer wieder Situationen, in denen man für eine Folge, mehrere Bedingungen erfüllen muss. Ein konkretes Beispiel dafür, ist, dass eine Zahl in einem Bestimmten Zahlenbereich sein muss z.B zwischen 1 und 10. Du wirst schnell merken, dass du dafür mehrere Bedingungen brauchst. Im folgenden Beispiel siehst du eine Kontrollstruktur, die zwei Bedingungen beinhaltet. Diese wurden mittels „&&“ miteinander verknüpft. Die Konsolenausgabe, „die Zahl ist im Zahlenbereich“ wird nur ausgeführt, wenn beide Bedingungen erfüllt sind. Das heißt, die Zahl muss grösser als 0, aber gleichzeitig auch kleiner als 11 sein. 

if zahl > 0 && zahl < 11{
    print("Ist im Zahlenbereich")
}
else{
    print("Muss im Zahlenbereich sein")
}


Jetzt gehen wir eine Stufe weiter. Wir möchten eine Kontrollstruktur, die zusätzlich zu unserer bestehenden, aus dem letzten Beispiel, einen zweiten Zahlenbereich akzeptiert. Sie soll sowohl

1-10 als auch 100-110 annehmen. Allerdings sollen nicht beide erfüllt werden, das wäre ohnehin nicht möglich. Die Zahl darf sich also entweder im einen, oder anderen Zahlenbereich befinden. Das blau markierte Wort „oder“ ist für das Verständnis dieser Variante sehr wichtig, denn genau wie in der deutschen Sprache, verhält sich auch das Zeichen „||“ (alt + /), wie dieses.  

var zahl = 10

if zahl > 0 && zahl < 11 || zahl > 99 && zahl < 111{
    print("Ist im Zahlenbereich")
}
else{
    print("Muss im Zahlenbereich sein")
}

 

3.2 switch-case

Eine Kontrollstruktur muss nicht zwingend aus einem if und einem else Teil bestehen. Unter Umständen kann es nützlich sein, die sogenannte switch-case Kontrollstruktur zu verwenden. Sie ist besonders dann hilfreich, wenn wir eine bestimmte Anzahl an Ausgängen bereits kennen und eine dieser garantiert eintreffen sollte. Im folgenden Beispiel untersuchen wir eine Person nach ihrer Funktion in einer Unternehmung. Switch-case ist so aufgebaut, dass wir zunächst die zu untersuchenden Werte definieren. In unserem Fall die Variabel name. Anschließend definieren wir die möglichen Ausgangsfälle, oder auch cases. In unserer Unternehmung arbeiten vier Personen, zwei davon als Berater. Dementsprechenden benötigen wir drei cases, wobei ein case gleich bei zwei Mitarbeitern zutrifft. Bei zwei oder mehreren Fällen die bei einem case zutreffen, trennt man diese mit einem Komma ab. Um die Folge zu definieren, setzen wir ein Doppelpunkt hinter das case. Eine Besonderheit beim switch-case ist der default. Er ist quasi wie ein Auffangbecken für alles was nicht zutrifft. Anders als bei der if-else Kontrollstruktur, ist diese keine logische Konsequenz aus einem Ausschlussverfahren, sondern für all das zuständig was uns nicht weiter interessiert. In unserem Beispiel fängt der default alle Personen auf, die nicht in unserer Unternehmung arbeiten.

var name = "Jonas"

switch name{
case "Ralf":
    print("Kassierer")
case "Tom",
    "Jonas":
    print("Berater")
case "Andrea":
    print("Logistiker")
default:
    print("Die Person ist kein Mitarbeiter")
}


Stelle uns deine Frage


Julien Rösch


 

Amazon

 

E-Book

 

Gefällt dir CodeStarter?