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