4 Einen Würfel werfen

Geschachtelte Fallunterscheidungen

Das folgende Programm zeigt eine Möglichkeit, einen Würfelwurf zu simulieren.

public class Wuerfel
{
    public static void main(String[] args){
        int augen = (int) (6*Math.random()+1);
        String bild = "";
        if (augen == 1) {
            bild = "o";
        }
        else {
            if (augen == 2){
                bild = "oo";
            }
            else{
                if (augen == 3){
                    bild = "ooo";
                }
                else {
                    // ...
                }
            }
        }
        // Ausgabe
        System.out.println(bild);
    }
}

Aufgabe 4.1

(a) Verdeutliche die hier vorgesehene Ablaufstruktur mit einem Struktogramm. Beachte, dass du hier Fallunterscheidungen schachteln musst.

(b) Das Programm ist noch nicht ganz fertig erstellt. Erstelle im Projekt „Zufall“ eine neue Klasse „Wuerfel“ und ergänze den fehlenden Teil (siehe // ...). Teste das fertige Programm.

(c) Vergleiche das oben gezeigte Programm mit dem folgenden. Worin unterscheiden sich die Abläufe?

public class Wuerfel2
{
    public static void main(String[] args){
        int augen = (int) (6*Math.random()+1);
        String bild = "";
        if (augen == 1) {
            bild = "o";
        }
        if (augen == 2){
            bild = "oo";
        }
        if (augen == 3){
            bild = "ooo";
        }
        if (augen == 4){
            bild = "oooo";
        }
        if (augen == 5){
            bild = "ooooo";
        }
        if (augen == 6){
            bild = "oooooo";
        }
        // Ausgabe
        System.out.println(bild);
    }
}

Aufgabe 4.2

Entwickle ein Programm zur Simulation des folgenden Würfelspiels:

Zwei Würfel werden geworfen. Wenn die Augensumme 7 oder 11 beträgt, hat man gewonnen. Wenn die Augensumme 2, 3 oder 12 beträgt, hat man verloren. Ansonsten wird nochmal gewürfelt. Man hat dann gewonnen, wenn die neue Augensumme der Augensumme im ersten Wurf entspricht, ansonsten hat man verloren.

Beginne zunächst mit einem Struktogramm. Übersetze es dann in ein Programm.




Quellen

Text: http://www.inf-schule.de/programmierung/imperativeprogrammierung/fallstudien/kontrollstrukturen/fallstudie_zufallsexperimente/wuerfelwerfen