Grundstrukturen

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Sequenz

Abfolge von AnweisungenSeq.png


Zählschleife

Das wiederholte Aufschreiben von Code ist sehr mühsam. Außerdem sind die so entstandenen Programme nicht sehr flexibel.

Eine übliche allgemeine Notation einer for-Schleife sieht z.B. wie folgt aus: Zaehl.png

for (var i = startwert; i < obergrenze; i++) {
   ...
}

Anstelle von ... werden die Anweisungen eingesetzt, die wiederholt werden sollen.

Die Anweisung i++ ist eine Abkürzung für die Anweisung i=i+1.

Eine for-Schleife durchläuft mehrere Iterationen. In jeder Iteration werden alle Anweisungen zwischen den Klammern {...} ausgeführt.

Für das oben gezeigte Muster gilt:

  1. Vor der ersten Iteration erhält i den Wert startwert. Das ist die Anfangszuweisung.
  2. Nach der Iteration wird der Wert von i um 1 erhöht (i++). Das ist die Wiederholungszuweisung.
  3. Es wird geprüft, ob die Bedingung i<obergrenze erfüllt ist. Das ist die Wiederholungsbedingung.
  4. Wenn die Wiederholungsbedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
  5. Die Schritte 2 bis 4 werden wiederholt, bis die Wiederholungsbedingung nicht mehr erfüllt ist. In diesem Fall werden keine weiteren Iterationen durchgeführt.

Beispiel:

Für die for-Schleife gibt es verschiedene Variationen:

  • anstelle von i andere Variablennamen einsetzen
  • für startwert und obergrenze beliebige Werte einsetzen.
  • Wiederholungszuweisung ändern; Beispiele:
    • i=i+2 bedeutet: i wird nach jeder Iteration um 2 erhöht.
    • i-- oder i=i-1 bedeutet: i wird nach jeder Iteration um 1 erniedrigt.
  • Wiederholungsbedingung ändern: statt i<5 z.B. i>5 schreiben

Schleifen mit Bedingungen

Schleife mit vorangestelltem Test

while (bedingung) {
    anweisungen;
}
In den folgenden Beispielen wurde auf die Modularisierung verzichtet, der Programmcode also ohne "function" in die CodeBox geschrieben und 
ohne extra Aufruf in der RunBox ausgeführt.

Schleife mit nachgestelltem Test

do {
    anweisungen;
} while (bedingung);



Verzweigungen

ein- und zweiseitige Verzweigungen

Oft sollen bestimmten Anweisungen nur ausgeführt werden, wenn eine bestimmte Bedingung erfüllt ist.


Aufbau von If-Anweisungen Einseitig.png

if(<Bedingung>){
   ...
}

Zwischen die geschweiften Klammern werden ein oder mehrere Anweisungen geschrieben, die ausgeführt werden sollen, wenn die <Bedingung> wahr ist. Es handelt sich um den sogenannten If-Block.

Natürlich können auch mehrere Bedingungen nacheinander geschrieben werden:

if(<Bedingung1>){
   ...
}

if(<Bedingung2>){
   ...
}

Eine If-Anweisung kann auch einen Sonst-Block (oder Else-Block) besitzen: Zweiseitig.png

if(<Bedingung>){
   ...
}else{
   ...
}

Zwischen die geschweiften Klammern des Else-Blocks werden ein oder mehrere Anweisungen geschrieben, die ausgeführt werden sollen, wenn die <Bedingung> false ergibt.


Beispiel


Das Programm gibt den Text "Es ist kalt." aus, wenn die Temperatur <= 15 ist. Ändern Sie den Wert der Variable "temperatur", um das Programm zu testen!


Aufbau von Bedingungen

Die <Bedingung> muss ein logischer Ausdruck sein, der wahr oder falsch (d.h. true oder false) ergibt.

Beispiele für logische Ausdrücke

Ändern Sie in den folgenden Beispielen die Werte der Variablen x und y, um die Programme zu testen!

x > y


x < y

Außerdem können die Operatoren >= (größer gleich) sowie <= (kleiner gleich) verwendet werden.

x>=a && x<=b (Test, ob x zwischen den Werten a und b liegt)

&& steht für den logischen Oerator UND

|| steht für den logischen Oerator ODER



x == y (Test, ob x und y den gleichen Wert besitzen)


x != y (Test, ob x und y ungleiche Werte besitzen)

mehrseitige Verzweigungen

switch (variable) {
   case wert1 :
       anweisungen;
       break;
   case wert2 :
       anweisungen;
       break;
   default :
       anweisungen;
}

Switch-case führt anstelle mehrfacher if then else-Abfragen die Alternativen in einer überschaubaren Liste von Anweisungen auf.
Eine switch-Anweisung vergleicht den Wert der Bedingung mit dem Wert, der neben jeder case-Marke aufgeführt ist.
Wenn die Bedingung in case zutrifft, werden diese Anweisungen ausgeführt.


Persönliche Werkzeuge