Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Einen Würfel werfen

Geschachtelte Fallunterscheidungen

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

from random import randint
# Verarbeitung
augen = randint(1, 6)
if augen == 1:
    bild = 'o'
else:
    if augen == 2:
        bild = 'oo'
    else:
        if augen == 3:
            bild = 'ooo'
        else:
            # ...
# Ausgabe
print(bild)

Aufgabe 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. Ergänze den fehlenden Teil (siehe # ...) und teste das Programm.

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

from random import randint
# Verarbeitung
augen = randint(1, 6)
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
print(bild)

Aufgabe 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.

X

Fehler melden

X

Suche