robotik:lektion1:12_ja_nein_verzweigungen [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion1:12_ja_nein_verzweigungen

12 Ja-Nein-Verzweigungen

Im nächsten Schritt soll das Konsolenprogramm Taschenrechner etwas verbessert werden. Bisher verabschiedet sich unser Programm bei Eingabe einer negativen Zahl ohne Fehlermeldung. Dies soll durch den folgenden Programmablauf behoben werden:

Flussdiagramm zur if-else-Anweisung

Vergleicht man diesen Ablauf mit dem Ablauf der vorherigen Seite, so ist jetzt nach der Prüfung der Bedingung (x >= 0) auch noch ein „nein“-Zweig hinzugekommen, der genau dann ausgeführt werden soll, wenn die Bedingung nicht erfüllt ist. In unserem Beispiel wird bei erfüllter Bedingung weiterhin die Wurzel der eingegebenen Zahl ausgegeben. Andernfalls wird jetzt aber eine Fehlermeldung angezeigt.

Auch diesen Anwendungsfall kann man in Java mit der if-Anweisung umsetzen. Das vollständige Hauptprogramm sieht 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);
}
else
{
    // Dies ist der Programmblock, der nur dann ausgeführt wird,
    // wenn die Bedingung NICHT erfüllt ist.
 
    konsole.schreibeZeile("Fehler bei der Eingabe:");
    konsole.schreibeZeile("Die eingegebene Zahl ist negativ!");
    konsole.schreibeZeile("Die Wurzel kann daher nicht berechnet werden.");
}
konsole.schreibeZeile("Auf Wiedersehen.");

Der Aufbau der if-Anweisung wird gegenüber dem vorherigen Anwendungsfall um einen else-Teil ergänzt, der genau dann ausgeführt wird, wenn die Bedingung der if-Anweisung nicht erfüllt ist. Den Programmblock hinter dem Schlüsselwort else werden wir als „Nein“-Block bezeichnen (vgl. Flussdiagramm).

Achtung

Auch hinter der else-Anweisung steht kein Semikolon!


Aufgabe

Übersetze und teste das Programm durch die Eingabe positiver und negativer Zahlen.

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