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

entspricht der WHILE ... DO Schleife in Delphi Vor.png

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

entspricht der REPEAT ... UNTIL Schleife in Delphi Nach.png

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)


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


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

mehrseitige Verzweigungen

entspricht der CASE .. OF Bedingung in Delphi Mehrseitig.png

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