Lernpfad:Lerntheke Marsrover/17: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:
Dazu kann man schrittweise vorgehen:
Dazu kann man schrittweise vorgehen:


<pre>
Spaghetti mit Tomatensauce und Salat kochen
Spaghetti mit Tomatensauce und Salat kochen
|
|
Zeile 29: Zeile 30:
             |--- Warten, bis al dente
             |--- Warten, bis al dente
|--- Sauce
|--- Sauce
      |--- Wasser kochen (siehe oben)
      |--- ...
|--- Salat
|--- Salat
</pre>


Die Aufteilung hilft dabei, die Größe des Problems einzuschätzen, wiederkehrende Teilprobleme zu identifizieren oder auch Teile zu erkennen, die gleichzeitig durchgeführt werden können.  
Die Aufteilung hilft dabei, die Größe des Problems einzuschätzen, wiederkehrende Teilprobleme zu identifizieren oder auch Teile zu erkennen, die gleichzeitig durchgeführt werden können.  

Version vom 17. September 2020, 14:31 Uhr

Strukturiertes programmieren

Je komplexer ein Programm wird, desto wichtiger ist es, das Problem zunächst zu strukturieren. Dazu wird das Problem analysiert und in leichtere Teilprobleme aufgeteilt. Die Lösungen der Teilprobleme können dann zur Lösung des eigentlichen Problems kombiniert werden.

Das Aufteilen in elementare Teilprobleme nennt man auch strukturierte Zerlegung.

Ein Beispiel: Kochen in drei Schritten

Angenommen du möchtest dir ein Essen kochen: Spaghetti mit Tomatensauce und Salat.

Wenn in einem Kochbuch als Rezept steht "Koche Spaghetti mit Tomstensauce. Mache dann Salat", dann ist das als Anleitung wenig hilfreich. Statt dessen wird dort so etwas stehen wie "Koche die Spaghetti in etwa 1 Liter leicht gesalzenem Wasser bis sie bissfest sind. Für die Sauce fülle ..."

Jeder der drei Teile des Menüs wird eigens beschrieben und wiederum in kleinere Einzelschritte unterteilt. Man strukturiert das Problem "kochen" in kleinere Teilprobleme.

Dazu kann man schrittweise vorgehen:

Spaghetti mit Tomatensauce und Salat kochen
|
|---Spaghetti zubereiten
      |--- Wasser kochen
             |--- Wasser in den Topf füllen
             |--- Deckel auf den Topf
             |--- Topf auf Herd stellen
             |--- Herd auch hoher Stufe anstellen
             |--- Warten, bis das Wasser kocht
             |--- Herd auf kleine Stufe stellen
      |--- Spaghetti kochen
             |--- Spaghetti in kochendes Wasser geben
             |--- Warten, bis al dente
|--- Sauce
      |--- Wasser kochen (siehe oben)
      |--- ...
|--- Salat

Die Aufteilung hilft dabei, die Größe des Problems einzuschätzen, wiederkehrende Teilprobleme zu identifizieren oder auch Teile zu erkennen, die gleichzeitig durchgeführt werden können.

  • Intuitive Zerlegung eines allgemeinen Vorgangs (z.B. Kaffee kochen) in Teilprobleme.
  • Zerlegung eines Rover-Problems.
  • PAP-Entwerfen.