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.
int maximum(int x, int y) { if (x > y) { return x; } return y; }
def maximum(x, y): if x > y: return x return y
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.
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.
Aufruf: ergebnis ← name(Argument1, Argument2) — die Argumente gehen der Reihe nach in die Parameter, zurück liefert den Wert, der den Aufruf ersetzt.
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.
