Grundstrukturen
Aus ProgrammingWiki
Inhaltsverzeichnis |
Sequenz
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:
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:
- Vor der ersten Iteration erhält i den Wert startwert. Das ist die Anfangszuweisung.
- Nach der Iteration wird der Wert von i um 1 erhöht (i++). Das ist die Wiederholungszuweisung.
- Es wird geprüft, ob die Bedingung i<obergrenze erfüllt ist. Das ist die Wiederholungsbedingung.
- Wenn die Wiederholungsbedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
- 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.
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:
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.


