i

Fachkonzept

Eigenständige Programmeinheiten

Oft ist es günstig, wenn man für Teilaufgaben eigenständige Programmeinheiten konzipiert. Das hilft, ein Programm überschaubarer und damit verstehbarer zu gestalten.

Ein Unterprogramm ist eine eigenständige Programmeinheit zur Lösung eines Teilproblems.

Ein Unterprogramm fasst die Anweisungen zur Lösung des Teilproblems zu einer neuen Einheit zusammen. Diese Einheit wird dabei auch mit einem Namen versehen. Das folgende Beispiel zeigt dies für das Problem Links ein PowerUp legen (siehe vorangehender Abschnitt).

# vorher: 
# Die Argo steht neben einem Asteroiden oder einem leeren Feld. 
# nachher:
# Die Argo hat das leere Feld mit einem PowerUp gefüllt (falls es frei war).

def linksFuellenFallsNoetig():
  if not rockLeft():
    turnLeft()
    move()
    putPow()
    turnLeft()
    turnLeft()
    move()
    turnLeft()

Eine solche Festlegung nennt man Unterprogrammdefinition.

Den für das Unterprogramm eingeführten Namen kann man jetzt als neue Anweisung benutzen. Man nennt eine solche Anweisung dann Unterprogrammaufruf. Bei der Ausführung einer solchen neuen Anweisung werden die Anweisungen ausgeführt, die in der Definition festgelegt sind.

So führt der Unterprogrammaufruf linksFuellenFallsNoetig() dazu, dass die Argo die in der Definition oben angegebenen Anweisungen ausführt.

Vorteile von Unterprogrammen

Unterprogramme tragen dazu bei, Programme übersichtlich zu gestalten:

Jeder, der schon einmal versucht hat, ein langes und kompliziertes Programm zu verstehen, weiß, wie schwierig das ist - insbesondere, wenn man das Programm nicht selbst geschrieben hat. Viel leichter wird es, wenn das Programm gut strukturiert ist. Dazu gehört insbesondere, Lösungen von Teilproblemen in Unterprogramme auszulagern.

Unterprogramme dienen dazu, Code-Duplizierungen zu vermeiden:

Es kommt öfters vor, dass ein Teilproblem mehrfach auftritt. Im Beispiel ein Rechteck füllen kommt mehrfach das Teilproblem linke Seite füllen vor. Ohne Unterprogramme müsste man ein und dasselbe Teilprogramm wiederholt in das Programm schreiben. Mit Hilfe von Unterprogrammen kann dieses Teilproblem einmal gelöst werden. Danach kann man mit einem Unterprogrammaufruf immer die entsprechende Teillösung aufrufen.

Bezeichner und Kommentare

Bei der Einführung von Namen für Unterprogramme sollte man immer sprechende Bezeichner benutzen. Niemand kann sich etwas unter einem Unterprogrammnamen wie z. B. p vorstellen. Benutzt man aber einen Namen, der bereits das gewünschte Verhalten verrät, wie z. B. lueckenBisAsteroidFuellen, so trägt dies wesentlich zum Verständnis bei.

Kommentare können wichtige Zusatzinformationen liefern, um das Verhalten einzelner Programmteile transparent zu machen. Oft ist es günstig, bei Unterprogrammen das gewünschte Verhalten in einem Kommentar genau zu beschreiben. Kommentare können aber auch wichtige Stellen in einem Programm etwas näher erläutern.

Suche

v
6.1.4.1.3
inf-schule.de/imperative-programmierung/spacebug/unterprogramme/lernstrecke/fachkonzept
inf-schule.de/6.1.4.1.3
inf-schule.de/@/page/ejqLDYlYiejPUD1E

Rückmeldung geben