Fachkonzept – Problemzerlegung
Teile und herrsche
Teile und herrsche ist eine Problemlösestrategie, bei der ein Problem immer weiter in Teilprobleme zerlegt wird, bis diese sich einfach lösen lassen. Aus den Lösungen der Teilprobleme wird dann die Lösung des Gesamtproblems zusammengesetzt.
Beispiel: Ein Runde um den Platz laufen
Kara soll eine Runde auf einem rechteckigen, mit Baumstämmen markierten Platz laufen. Kara soll dabei den zurückgelegten Weg mit Blättern auslegen.
Das Problem lässt sich in 2 Teilprobleme zerlegen.
Die Teilprobleme lassen sich jetzt leicht lösen - hier mit Unterprogrammen. Mit Hilfe dieser Teilproblemlösungen lässt sich dann auch das Ausgangsproblem leicht lösen - hier im Hauptprogramm.
# Unterprogramm
def kleeblattreiheBisBaumLegen():
while not kara.treeFront():
kara.putLeaf()
kara.move()
kara.putLeaf()
def umBaumLaufen():
kara.turnRight()
kara.move()
kara.turnLeft()
kara.move()
kara.turnRight()
# Hauptprogramm
kleeblattreiheBisBaumLegen()
umBaumLaufen()
kleeblattreiheBisBaumLegen()
umBaumLaufen()
kleeblattreiheBisBaumLegen()
umBaumLaufen()
kleeblattreiheBisBaumLegen()
umBaumLaufen()