Programmieren – Vom Problem zum Plan
Du möchtest ein Programm schreiben oder eine KI damit beauftragen. Doch bevor der erste Code entsteht, solltest du überlegen: Was genau soll das Programm tun, und wie lässt sich die Aufgabe lösen?
Eine erste Idee ist oft noch unvollständig. Welche Eingaben soll das Programm verarbeiten? Welche Ergebnisse werden erwartet? Was passiert, wenn Angaben fehlen oder unerwartete Werte auftreten? Wer solche Fragen frühzeitig klärt, kann Missverständnisse vermeiden und Fehler leichter erkennen.
Dabei hilft es, eine große Aufgabe in kleinere, überschaubare Teilaufgaben zu zerlegen und die Zusammenhänge zwischen ihnen zu erkennen. Aus einer zunächst unklaren Vorstellung entsteht so ein Plan, den du Schritt für Schritt überprüfen und verbessern kannst.
Auch eine KI kann dich dabei unterstützen. Sie kann Rückfragen stellen, Aufgaben in Teilprobleme zerlegen und verschiedene Lösungswege vorschlagen. Du musst allerdings beurteilen können, ob ihre Vorschläge sinnvoll sind und tatsächlich zu deiner Aufgabe passen.
In diesem Artikel lernst du, wie du eine Programmieraufgabe systematisch durchdenkst und einen Lösungsplan entwickelst – zunächst unabhängig von einer bestimmten Programmiersprache. Wie du daraus einen präzisen Algorithmus machst, erfährst du im Artikel Vom Ablauf zum Algorithmus.
Inhaltsverzeichnis
Erst nachdenken, dann programmieren
Wie geht man an eine schwierige Programmieraufgabe heran?[1] Einfach drauflos programmieren und hoffen, dass am Ende alles funktioniert? Oder erst einmal überlegen, was überhaupt zu tun ist?
Der SELFHTML-Autor Orlok beschreibt seinen persönlichen Arbeitsablauf mit dem Bild von Rodins Denker:
Tatsächlich gestaltet sich das „Programmieren“ bei mir in der Regel so, dass ich erst einmal für viele Stunden wie Rodins Denker dasitze, über die Anforderungen und Lösungswege nachdenke und dann mit Stift und Papier die vorläufigen Ergebnisse meiner Überlegungen in Flussdiagrammen aufzeichne.
Bevor er Code schreibt, klärt er die Anforderungen, legt Eingaben und Ausgaben fest und beschreibt den Lösungsweg. Erst wenn der Ablauf nachvollziehbar ist, beginnt er mit der Umsetzung. Anschließend überprüft er, ob das Programm wie geplant funktioniert.
Das klingt nach viel Aufwand. Bei einer kleinen Aufgabe kann es tatsächlich übertrieben sein, jeden Schritt ausführlich zu planen. Bei komplexeren Aufgaben hilft es jedoch, frühzeitig über die Struktur nachzudenken. So lassen sich fehlende Anforderungen und logische Fehler oft entdecken, bevor sie im Programmcode schwerer zu finden sind.
Auch wenn eine KI den Code schreibt, bleibt diese Überlegung wichtig. Du musst beschreiben können, was das Programm leisten soll, und beurteilen, ob der vorgeschlagene Lösungsweg sinnvoll ist.
Eine große Aufgabe in kleinere zerlegen
Stell dir vor, du möchtest ein Programm entwickeln, das eine Liste von Messwerten auswertet. Es soll die kleinsten und größten Werte finden und den Durchschnitt berechnen.
Du könntest sofort mit der Berechnung beginnen. Sinnvoller ist es aber, zunächst die Gesamtaufgabe zu betrachten und sie in kleinere Teilaufgaben zu zerlegen:
- Messwerte einlesen und prüfen
- den kleinsten und größten Wert bestimmen
- den Durchschnitt berechnen
- die Ergebnisse ausgeben
Dieser Ansatz heißt Top-down (englisch: von oben nach unten)[2]. Du beginnst mit dem Gesamtproblem und zerlegst es in überschaubare Teile.
Ein anderer Ansatz ist Bottom-up (englisch: von unten nach oben). Dabei beginnst du mit vorhandenen oder bereits gelösten Teilaufgaben. Vielleicht gibt es schon eine Funktion, die den Durchschnitt berechnet, oder eine andere, die ungültige Eingaben erkennt. Solche Bausteine kannst du zu einer größeren Lösung zusammensetzen.
In der Praxis lassen sich beide Ansätze kombinieren: Du planst zunächst die Gesamtaufgabe und prüfst dann, welche vorhandenen Bausteine du verwenden kannst. Eine KI kann dich dabei unterstützen, indem sie Teilaufgaben vorschlägt, fehlende Schritte aufzeigt oder verschiedene Lösungswege miteinander vergleicht.
Wichtig ist, dass du den Plan überprüfen und bei Bedarf verändern kannst, bevor du dich auf eine konkrete Umsetzung festlegst.
Sonderfälle berücksichtigen
Wenn du eine Aufgabe planst, solltest du nicht nur überlegen, was im Normalfall passieren soll. Auch ungewöhnliche Situationen können wichtig sein. Solche Fälle werden leicht übersehen, wenn man sich nur auf das gewünschte Ergebnis konzentriert.
Stell dir vor, du entwickelst ein Programm, das eine Liste von Messwerten auswertet. Es soll den kleinsten und größten Wert sowie den Durchschnitt berechnen.
Mit den Werten 2, 4, 6 ist das einfach: Der kleinste Wert ist 2, der größte 6 und der Durchschnitt 4. Aber funktioniert der Plan auch in anderen Situationen?
- Die Liste ist leer: Es gibt keine Messwerte. Welchen kleinsten oder größten Wert soll das Programm ausgeben? Ein Durchschnitt lässt sich ebenfalls nicht berechnen. Das Programm muss diesen Fall berücksichtigen, beispielsweise mit einer verständlichen Meldung.
- Die Liste enthält nur einen Wert: Bei
5sind der kleinste und der größte Wert beide5. Auch der Durchschnitt beträgt5. - Die Liste enthält negative Werte: Bei
-3, 0, 6muss das Programm-3als kleinsten Wert erkennen. Es darf nicht einfach annehmen, dass alle Messwerte positiv sind. - Die Eingabe ist ungültig: Statt einer Zahl steht beispielsweise der Text
fünfin der Liste. Das Programm muss damit entsprechend den festgelegten Anforderungen umgehen.
Solche Fragen helfen dir, den Lösungsweg genauer zu planen. Du erkennst möglicherweise fehlende Anforderungen oder musst eine Entscheidung treffen, bevor du mit der Umsetzung beginnst.
Du musst nicht jede denkbare Situation vorhersehen. Konzentriere dich zunächst auf Fälle, die bei der konkreten Aufgabe wahrscheinlich auftreten oder zu einem falschen Ergebnis führen könnten. Wenn du eine KI mit der Umsetzung beauftragst, kannst du sie zusätzlich bitten, mögliche Sonderfälle zu nennen und zu erklären, wie der vorgeschlagene Lösungsweg damit umgeht.
Den Plan überprüfen
Ein Plan kann auf den ersten Blick sinnvoll wirken und trotzdem Fehler enthalten. Vielleicht fehlt ein Arbeitsschritt, eine Bedingung ist falsch formuliert oder ein Sonderfall wurde nicht berücksichtigt. Deshalb solltest du den geplanten Lösungsweg überprüfen, bevor du mit der Umsetzung beginnst.
Dazu kannst du dir einige konkrete Beispiele überlegen und Schritt für Schritt nachvollziehen, was passieren müsste. Überlege zunächst, welches Ergebnis du erwartest. Gehe dann den geplanten Ablauf durch und prüfe, ob er tatsächlich zu diesem Ergebnis führt.
Stell dir vor, du entwickelst ein Programm, das eine Liste von Messwerten auswertet. Es soll den kleinsten und größten Wert sowie den Durchschnitt bestimmen.
| Eingabe | Erwartetes Ergebnis |
|---|---|
2, 4, 6 |
Minimum: 2, Maximum: 6, Durchschnitt: 4 |
5 |
Minimum: 5, Maximum: 5, Durchschnitt: 5 |
-3, 0, 6 |
Minimum: −3, Maximum: 6, Durchschnitt: 1 |
Gehe nun deinen Plan mit diesen Beispielen durch. Werden alle Werte berücksichtigt? Funktioniert die Berechnung auch bei negativen Zahlen? Was passiert, wenn die Liste nur einen Wert enthält?
Du musst dafür noch keinen Programmcode schreiben. Es reicht zunächst, die einzelnen Schritte gedanklich oder auf Papier auszuführen. Wenn du dabei auf ein unerwartetes Ergebnis stößt, kannst du den Plan überarbeiten. Wenn du deinen Lösungsweg überprüft hast, kannst du auch eine KI bitten, den Plan kritisch zu hinterfragen.
Mit einer KI planen
Du musst einen Lösungsweg nicht allein entwickeln. Eine KI kann dir helfen, eine Aufgabe zu verstehen, sie in Teilaufgaben zu zerlegen und mögliche Probleme zu erkennen. Wichtig ist, dass du sie nicht sofort aufforderst, den fertigen Programmcode zu schreiben.
Stell dir vor, du möchtest ein Programm entwickeln, das eine Liste von Messwerten auswertet. Es soll den kleinsten und größten Wert sowie den Durchschnitt berechnen.
Du könntest die KI zunächst so beauftragen:
Ich möchte ein Programm entwickeln, das eine Liste von Messwerten auswertet. Das Programm soll den kleinsten und größten Wert sowie den Durchschnitt berechnen. Hilf mir zunächst, die Aufgabe zu planen. Schreibe noch keinen Programmcode. 1. Stelle Rückfragen, wenn Anforderungen unklar sind. 2. Teile die Aufgabe in sinnvolle Teilaufgaben auf. 3. Überlege, welche Sonderfälle berücksichtigt werden müssen. 4. Schlage Beispiele vor, mit denen ich den Lösungsweg überprüfen kann.
Die KI könnte beispielsweise darauf hinweisen, dass eine leere Liste keine Berechnung des Durchschnitts erlaubt. Oder sie könnte vorschlagen, zunächst die Eingabewerte zu prüfen und erst danach mit den Berechnungen zu beginnen.
Nun bist du wieder gefragt: Sind die Vorschläge sinnvoll? Fehlt etwas? Hast du dir das Programm anders vorgestellt? Du kannst den Plan mit der KI besprechen, Änderungen verlangen und die Ergebnisse überprüfen.
Erst wenn du verstanden hast, was das Programm leisten soll und wie die Aufgabe gelöst werden könnte, lässt du den Algorithmus genauer beschreiben oder den Programmcode erzeugen.
Siehe auch
In einem Anfänger-Tutorial kann nicht alles auf einmal behandelt werden. Deshalb findest du hier Links auf weiterführende Artikel in unserem Wiki:
- Vom Ablauf zum Algorithmus

Einführung in die Programmierlogik
Abläufe in Algorithmen gliedern - Code strukturieren und wiederverwenden

Programme in überschaubare Einheiten zerlegen
- JavaScript und das DOM (interaktive Webseiten)

- Was ist das DOM?
- Ereignisverarbeitung
- DOM-Manipulation
- JavaScript in HTML einbinden
- <script>
- in den head oder body?
-
asyncunddefer
- Praxis Spieleprogrammierung

- Zahlenspiele
- Mathe-Quiz
- Tic-Tac-Toe
- Multiple-Choice-Quiz
- Adventure
- Zahlenspiele
Weblinks
- ↑ Wikipedia: Programmierung
- ↑ Wikipedia: Top-Down- und Bottom-Up-Design
- ↑ Empfehlungen des britischen Government Digital Service zum Einsatz von KI in der Softwareentwicklung (engineering.homeoffice.gov.uk).