Für Personen mit wenig Programmiererfahrung ist es wichtig, die Komplexität eines Problems zu verringern, indem die Lösung schrittweise erarbeitet und das Problem in Teilprobleme zerlegt wird.
Schrittweises Erarbeiten der Lösung
- In einem ersten Schritt kann versucht werden, das Problem in Textform oder grafisch (Flussdiagramm, Nassi-Shneiderman-Diagramm) zu beschreiben.
- In einem zweiten Schritt wird diese Beschreibung in Pseudocode übersetzt. Pseudocode ist eine programmiersprachenunabhängige Beschreibung von Algorithmen. Er ist an eine natürliche Sprache angelehnt, enthält aber formale Elemente und Elemente aus der Mathematik.
- Im letzten Schritt wird der Pseudocode in die korrekte Syntax der Programmiersprache übertragen.
Beispiel:
Aufgabenstellung: Finde das Minimum von 2 Zahlen.
Ein Lösungsansatz für dieses Problem könnte wie folgt ausschauen:
- Textuelle oder grafische Beschreibung:
Textuell: Gegeben sind 2 Zahlen a und b. Wenn a kleiner b ist, dann gib aus a, sonst b.
Grafisch: Zur Umsetzung der grafischen Beschreibung wird ein Nassi-Shneiderman-Diagramm (Struktogramm) verwendet
2. Pseudocode:
wenn a kleiner b: ergebnis ist a sonst: ergebnis ist b
3. Java-Code:
if(a < b) { result = a; } else { result = b; }
Zerlegung in Teilprobleme
Eine weitere wichtige Strategie beim Entwickeln von Software besteht darin, das Problem in kleinere Einheiten zu zerlegen. Diese Einheiten (Codesequenzen, Methoden) werden separat getestet und zu größeren Einheiten zusammengebaut.