MINT lernen

Parameter und Rückgabewerte

Eine Operation ist wie eine Maschine: oben Werte einwerfen, unten kommt das Ergebnis heraus — und drinnen bleibt alles ordentlich getrennt.

1

Operationen definieren

  • Operation:benannter Teilalgorithmus (Methode, Funktion), der beliebig oft aufgerufen werden kann.
  • Kopf:Rückgabetyp, Name und Parameterliste: int maximum(int x, int y)
  • Parameter:Platzhalter mit Typ, die beim Aufruf einen Wert bekommen (formale Parameter).
  • Rumpf:die Anweisungen der Operation; return (Pseudocode: zurück) beendet sie und liefert den Wert.
  • Ohne Rückgabe:Rückgabetyp void: Die Operation bewirkt etwas (z. B. eine Ausgabe), liefert aber keinen Wert.
Java
int maximum(int x, int y) {
    if (x > y) {
        return x;
    }
    return y;
}
Python
def maximum(x, y):
    if x > y:
        return x
    return y
2

Operationen aufrufen

  • Aufruf:Name und Argumente in Klammern: m ← maximum(a, b)
  • Übergabe:die Argumente werden der Reihe nach in die Parameter kopiert — Anzahl, Reihenfolge und Typ müssen passen.
  • Rückgabewert:ersetzt den Aufruf: Er wird gespeichert, ausgegeben oder weiterverrechnet.
  • Schachteln:ein Aufruf darf Argument eines anderen sein: maximum(maximum(a, b), c)

Verändere mit den Reglern die Werte im Hauptprogramm. Verfolge, wie sie beim Aufruf in die Parameter x und y kopiert werden und welcher Wert mit zurück herauskommt.

Aufruf, Parameter, Rückgabe

Halte fest: Beim Aufruf werden die Argumente der Reihe nach in die Parameter kopiert — bei differenz ändert das Vertauschen das Ergebnis. Jeder Aufruf hat seine eigenen Parameter.

Merke

Aufruf: ergebnis ← name(Argument1, Argument2) — die Argumente gehen der Reihe nach in die Parameter, zurück liefert den Wert, der den Aufruf ersetzt.

3

Allgemeine Hinweise

return beendet sofort

Nach return wird in der Operation nichts mehr ausgeführt. Anweisungen darunter im selben Block sind toter Code.

Ausgabe ist keine Rückgabe

System.out.println(x) bzw. print(x) zeigt einen Wert nur an. Weiterrechnen kann der Aufrufer nur mit einem Wert, der per return zurückkommt.

Zuerst den Kopf

Verlangt eine Aufgabe „Implementieren Sie eine Operation …“, notiere zuerst Rückgabetyp, Name und Parameter mit Typen. Danach ist klar, was hineinkommt und was herausmuss.

Videos