robotik:lektion1:11_bedingte_anweisungen [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion1:11_bedingte_anweisungen

11 Bedingte Anweisungen

Wir erstellen ein kleines Konsolenprogramm mit Namen Taschenrechner, das zunächst nur folgende Funktion ausführen soll:

  1. Der Anwender wird zur Eingabe einer nicht negativen Zahl aufgefordert.
  2. Wenn die eingebene Zahl tatsächlich nicht negativ ist, wird die Wurzel der Zahl berechnet und angezeigt.

In einem Flussdiagramm sieht der Algorithmus folgendermaßen aus:

Flussdiagramm zur if-Anweisung

Die in dem ja-Zweig stehende Operation wird also nur unter der Bedingung ausgeführt, dass die eingegebene Zahl x nicht negativ ist. Für diesen Anwendungsfall der bedingten Ausführung einer einzelnen Anweisung oder (wie im folgenden Programmcode) eines ganzen Programmblocks stellt Java die if-Anweisung zur Verfügung. Das vollständige Hauptprogramm sieht dann für unser Beispiel z.B. folgendermaßen aus:

float x = konsole.leseZahl("Bitte eine nicht negative Zahl eingeben:");
if (x >= 0)    // Lies  "x >= 0"  als  "x größer (oder) gleich 0".
{
    // Dies ist der Programmblock, der nur dann ausgeführt wird,
    // wenn die Bedingung (hier: x >= 0) tatsächlich erfüllt ist.
 
    float wurzel = (float)Math.sqrt(x);  // Der Java-Befehl (float)Math.sqrt(x)
                                         // berechnet die Wurzel aus x und
                                         // liefert das Ergebnis als float-Zahl.
    konsole.schreibe("Die Wurzel aus ");
    konsole.schreibe(x);
    konsole.schreibe(" ist: ");
    konsole.schreibeZeile(wurzel);
}
konsole.schreibeZeile("Auf Wiedersehen.");

Der Aufbau des if-Anweisung ist immer folgendermaßen: Nach der Schlüsselwort if (übersetzt: „wenn“) folgt in runden Klammern die Bedingung, die überprüft werden soll (hier: (x >= 0)). Ist die Bedingung erfüllt, so wird der nachfolgende Befehl bzw. Programmblock ausgeführt. Ist die Bedingung nicht erfüllt, so wird der nachfolgende Befehl bzw. Programmblock übersprungen.

Achtung

Hinter der Bedingung der if-Anweisung darf kein Semikolon stehen!

Den zur if-Anweisung gehörigen Programmblock werden wir im folgenden als „Ja“-Block bezeichnen, denn er wird nur ausgeführt, wenn die Überprüfung des Ergebnisses „ja, ist erfüllt“ oder anders ausgedrückt „richtig“ ergibt (siehe Flussdiagramme oben und unten). Aus Sicht des Programms liefert die Überprüfung der Bedingung übrigens eine Ja-Nein-Information (Datentyp boolean) mit den möglichen Werten true (ja, richtig) oder false (nein, falsch).

Aufgabe

Übersetze und teste das Programm. Teste auch die Eingabe negativer Zahlen.

robotik/lektion1/11_bedingte_anweisungen.txt · Zuletzt geändert: 2016/09/22 18:57 von gollnik