i

Strukturierung – Probleme zerlegen / Algorithmen zusammensetzen

Zielsetzung

Du hast auf der vorangegangenen Seite das Konzept „Teile und Herrsche“ kennengelernt. Dabei geht es darum, ein kompliziertes Problem in mehrere Teilprobleme zu zerlegen. Sobald diese gelöst sind, kann man die einzelnen Lösungen zusammensetzen. Damit ist dann auch das große Problem gelöst. Wir übertragen dieses Vorgehen jetzt auf das Programmieren von Kara.

Das Problem: Ein Fußballfeld mit Kleeblättern auslegen

Kara will ein Fußballfeld mit Kleeblättern auslegen. Die Eckpfosten stehen schon.

Kara legt ein Fußballfeld mit Blättern aus

Das Problem in Teilprobleme zerlegen

Das Problem ist recht komplex. In solch einer Situation ist es meist günstig, das Problem in geeignete Teilprobleme zu zerlegen. Eventuell kann man Teilprobleme wiederum in weitere Teilprobleme aufteilen.

Aufgabe 1

Teile das Problem in geeignete Teilprobleme auf. Beschreibe sie möglichst genau (am besten durch Anfangs- und Endzustand). Du musst hier noch nichts programmieren.

Die Teilprobleme lösen

Ist das komplexe Problem zerlegt, so müssen die Teilprobleme gelöst werden. Es ist dabei möglich, dass man hierbei die Teilprobleme noch weiter zerlegt. Oft kommen dabei Unterprogramme zum Einsatz; das ist aber nicht zwingend nötig.

Aufgabe 2

Entwickle für jedes entstandene Teilproblem ein PythonKara-Programm und teste es.

Teillösungen zusammensetzen

Sind alle Teilprobleme gelöst, musst du die Lösungen noch zusammensetzen. Achte darauf, das Programm entsprechend zu kommentieren, damit man versteht, was wo geschieht. Auch Unterprogramme können hier zur Übersichtlichkeit beitragen.

Aufgabe 3

Setze deine Teillösungen zusammen. Teste dein Programm.

Das Wichtigste notieren

Das Vorgehen „Teile und Herrsche“ ist sehr wichtig – in vielen Bereichen der Informatik und auch darüber hinaus. Es ist eine allgemeine Strategie zum Lösen von Problemen.

Aufgabe 4

Im Abschnitt zum Algorithmischen Problemlösen wurde bereits ein mehrschrittiges Vorgehen zum Problemlösen notiert. Ergänze in deiner Mitschrift (eventuell ist das ein Wissensspeicher) zum dritten Schritt (Algorithmus entwickeln und formalisieren) in Farbe „Teile und Herrsche“. Wenn du das sinnvoll findest und dafür genügend Platz hast, erkläre auch kurz, was das bedeutet.

Suche

16.5.1.7.2Strukturierung – Probleme zerlegen / Algorithmen zusammensetzen
Kopieren durch Anklicken

Rückmeldung geben