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

Eine Münze werfen

Ablaufmodellierung

Ziel ist es, ein Programm zu einem einfachen Münzwurfspiel zu entwickeln. Das folgende Flussdiagramm zeigt den Ablauf von Eingaben, Berechnungen und Ausgaben.

Flussdiagramm - Münzwurf

Mit einem Struktogramm lässt sich die Ablaufstruktur weiter verdeutlichen.

Struktogramm - Münzwurf

Aufgabe 1

(a) Welche Ausgaben werden nach dem Flussdiagramm erzeugt, wenn der Benutzer als Tipp ein 'K' eingibt und die Zufallszahl 1 erzeugt wird?

(b) Welche anderen Abläufe und Ausgaben sind hier denkbar? Begründe mit den Fallunterscheidungen im Flussdiagramm.

Implementierung

Das mit einem Flussdiagramm / Struktogramm beschriebene Verfahren soll jetzt in ein Python-Programm übersetzt werden.

from random import randint
# Eingabe
tipp = input('Kopf (K) oder Zahl (Z): ')
# Verarbeitung mit Ausgabe
zufallszahl = randint(0, 1)
if zufallszahl == 0:
    print('Kopf ist gefallen.')
    seite = 'K'
else:
    print('Zahl ist gefallen.')
    seite = 'Z'
# Ausgabe
# ...

Aufgabe 2

(a) Teste zunächst das gezeigte Programm. Welcher Teil des Flussdiagramms / Struktogramms wird hier implementiert?

(b) Ergänze den noch fehlenden Teil. Achte ganz genau auf Doppelpunkte und die Einrückungen (um 4 Einheiten).

(c) Das folgende Programm enthält weitere Fallunterscheidungen. Kannst du das Flussdiagramm so erweitern, dass es zum erweiterten Programm passt? Beschreibe anhand von Fallbeispielen, wie sich das erweiterte Programm verhält.

from random import randint
# Eingabe
tipp = input('Kopf (K) oder Zahl (Z): ')
if tipp == 'k':
    tipp = 'K'
if tipp == 'z':
    tipp = 'Z'
# Verarbeitung mit Ausgabe
zahl = randint(0, 1)
if zahl == 0:
    print('Kopf ist gefallen.')
    seite = 'K'
else:
    print('Zahl ist gefallen.')
    seite = 'Z'
# Ausgabe
# ...
X

Fehler melden

X

Suche