Komplexe Methoden

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading
Bisher haben wir die von uns selbst entwickelten Methoden nur für einen einzigen Aufruf verwendet. Es ist nun an der Zeit, Methoden als Bausteine für komplexere Programme aufzufassen. Dazu betrachten wir nochmal das alte Beispiel:


Die Methode addiere lässt sich innerhalb einer anderen Methode aufrufen. Zum Beispiel kann auf diese Weise die Addition mehrerer Eingabewerte ($a+b+c+d$) umgesetzt werden:

Diese Vorgehensweise wird spätestens dann interessant, wenn eine Baustein-Methode eine umfangreiche Aufgabe oder Berechnung übernimmt, die innerhalb eines Programms mehrmals ausgeführt werden muss. Es ist dann sehr bequem, innerhalb des Programms einfach die Methode mehrmals aufrufen zu können.


Aufgabe 1

Entwickeln Sie eine Methode, die 8 Zahlen addiert und nur aus den Methoden addiere und addiere_zusammengesetzt aufgebaut ist. Das heißt, die Verwendung des +-Operators ist verboten! Verwenden Sie Hilfsvariablen!


Aufgabe 2

Methodenaufrufe können verschachtelt sein. Beispiel:

Häufig ist das Verschachteln keine gute Programmierpraxis, da Sie das Programm unleserlich macht. In den meisten Fällen sollten Sie lieber mit Hilfsvariablen arbeiten.

Versuchen Sie, die Methode addiere_gross ohne Hilfsvariablen und mit einem geschachtelten Methodenaufruf umzusetzen!


Aufgabe 3

Kreiszylinder.png

Für einen Kreiszylinder mit dem Radius $r$ und der Höhe $h$ sollen folgende Daten berechnet werden:

  • das Volumen $V = G * h$,
  • die Mantelfläche $M = U * h$,
  • die Oberfläche $O = M + 2*G$

Dabei ist $G$ der Flächeninhalt der Grundfläche und $U$ der Umfang der Grundfläche. Da die Grundfläche kreisförmig ist, gilt: $G = \pi*r^2$ und $U=2*\pi*r$

Entwickeln Sie zuerst zwei Methoden zur Berechnung von $G$ und $U$ in Abhängigkeit vom Radius $r$:

Entwickeln Sie nun zwei Methoden $V$ und $M$, welche die oberen beiden Methoden als Bausteine verwenden! Höhe und Radius sollen als Parameter übergeben werden.

Entwickeln Sie zum Schluss eine Methode für $O$, die auf den Methoden für $M$ und $G$ aufbaut! Höhe und Radius sollen als Parameter übergeben werden.

Persönliche Werkzeuge