domingo, 18 de mayo de 2014

AWP: 17 Kopf- und Fußgesteuerte Schleifen in C++

Die kopfgesteuerte Wiederholung: "while"

While (Bedingung) {
    Anweisung1;
    Anweisung2;
    Anweisung3;
}

Die Überprüfung der Eintrittsbedingung findet am Kopf der Schleife statt!

Bei der kopfgesteuerten Wiederholung wird vor Eintritt in die Schleife geprüft, ob eine Eintrittsbedingung erfüllt ist (also der entsprechende Ausdruck einen Wert ungleich 0 hat). Ist dies der Fall, so werden die folgenden Anweisungen ausgeführt. Anschließend wird die Bedingung erneut geprüft. Sobald der Wert des Bedingungsausdrucks den Wert 0 hat, wird der Programmflus an der nächsten Anweisung nach der Schleife fortgesetzt.

Die kopfgesteuerte Schleife wird entweder 1 Mal, mehrere Male gar nicht ausgeführt!

Beispiel:
int i = 1, iSumme = 0;
while(i <= 10) {
    iSumme = i;
    i++;
} // ohne Semikolon

Die fußgesteuerte Wiederholung: "do ... while"

do {
    Anweisung 1;
    Anweisung 2;
    Anweisung 3;
    ...
} while (Bedingung);


Die überprüfung der Eintrittsbedingung findet am Fuß der Schleife statt!

Diese Schleife wird folgendermaßen abgearbeitet:
  1. Zuerst werden die Anweisungen des Schleifenkörpers ausgeführt.
  2. Dann wird die Bedingung geprüft.
  3. Ist der Wert des Bedingungsausdrucks ungleich 0, wird die Schleife erneut durchlaufen, ansonsten wird die Schleife beendet. Der Programmfluss setzt an der auf die Schleife folgenden Anweisung fort.
Die fußgesteuerte Schleife wird mindestens 1 Mal (!!) oder mehrere Male durchlaufen.

Beispiel:
do {
    cout << "Geben Sie eine ganze, positive Zahl ein:";
    cin >> iZahl;
} while (iZahl > 0); // mit Semikolon

jueves, 1 de mayo de 2014

AWP: 16 Übung - Operatoren in C++

Beispiele für arithmetische Operatoren

Ausdruck Ergebnis Anmerkung
x = 3 / 4 int x;
x = 15 / 2.0 float x;
15 % 4
3 + 5 % 4

Setzen Sie die Klammern so, dass die Auswertereihenfolge nicht verändert wird!
(Anders formuliert: Setze um die Teilausdrücke mit hoher Priorität zuerst Klammern!)
x = - 4 * ++ i - 6  % 4
Welchen Wert erhält x, wenn i = -2 ?

Beispiele für logische Operatoren

x y Logischer Ausdruck Boll'scher Wert
1 -1 x && y || y >= 0
0 0 x < -5 || !x && y == 0

Merke:
  • && - Operator hat höhere Priorität als || - Operator
  • && und || haben jedoch eine niedrigere Priorität als die Vergleichsoperatoren (>, >=, <, <=)

Beispiele für relationale Operatoren

x Logischer Ausdruck Bool'scher Wert
7 x < 9 && x > -5
7 !x && x >= 3



Lösungen

Beispiele für arithmetische Operatoren

Ausdruck Ergebnis Anmerkung
x = 3 / 4 0 int x;
x = 15 / 2.0 7.5 float x;
15 % 4 3
3 + 5 % 4 4

Welchen Wert erhält x, wenn i = -2 ?
x = - 4 * ++ i - 6  % 4
x erhält den Wert 2

Beispiele für logische Operatoren

x y Logischer Ausdruck Boll'scher Wert
1 -1 x && y || y >= 0 1
0 0 x < -5 || !x && y == 0 1

Beispiele für relationale Operatoren

x Logischer Ausdruck Bool'scher Wert
7 x < 9 && x > -5 1
7 !x && x >= 3 0