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

Übungen

Aufgabe 1

Teste die folgende Implementierung des Algorithmus Türme von Hanoi mit verschiedenen n-Werten:

def transportiereTurm(n, x, y, z):
    if n > 1:
        transportiereTurm(n-1, x, z, y)
        print("transportiere eine Scheibe von ", x, " nach ", z)
        transportiereTurm(n-1, y, x, z)
    else:
        print("transportiere eine Scheibe von ", x, " nach ", z)

Zähle jeweils die Anzahl der Scheibentransporte. Schätze ab, wie lang die Mönche wohl brauchen, um einen 64-Scheiben-Turm umzustapeln. Wir gehen davon aus, dass sie zum Transport einer Scheibe mindestens 10 Sekunden benötigen.

Aufgabe 2

Die Prozedur aus Aufgabe 1 ist um eine print-Anweisung erweitert worden.

def transportiereTurm(n, x, y, z):
    print("transportiere einen ", n, " -Scheiben-Turm von ", x, " nach ", z)
    if n > 1:
        transportiereTurm(n-1, x, z, y)
        print("transportiere eine Scheibe von ", x, " nach ", z)
        transportiereTurm(n-1, y, x, z)
    else:
        print("transportiere eine Scheibe von ", x, " nach ", z)

Kannst du ohne es auspobiert zu haben vorhersagen, welche Ausgaben die Prozedur beim Aufruf transportiereTurm(3, 'A', 'B', 'C') auf dem Bildschirm macht? Überprüfe dein Ergebnis.

X

Fehler melden

X

Suche