Java Reference
In-Depth Information
eines Funktionsrumpfes die Funktion selbst wiederum aufzurufen. Dieses Konzept nennt man Re-
kursion . Ihm ist wegen seiner besonderen Bedeutung ein eigenes Kapitel gewidmet (siehe Kapitel
17).
Die Namen von Funktionen in einem Programm müssen unterschiedlich sein 1 . Es dürfen jedoch in
ein und demselben Gültigkeitsbereich gleichnamige Funktionen und Variablen definiert werden.
15.4.3 Funktionsaufruf
Die Syntax eines (verallgemeinerten) Funktionsaufrufs wird in Abbildung 15.6 skizziert. Funktions-
aufrufe sind dabei spezielle Ausdrücke (siehe auch Abbildung 14.7).
Funktionsaufruf (1)
Funktions-
name
(
)
Abbildung 15.6: Syntaxdiagramm: Funktionsaufruf
Dabei gilt die Einschränkung: Funktionsaufrufe dürfen nur bei der Bildung funktionstyp-konfor-
mer Ausdrücke (boolescher Ausdruck und Typ boolean , arithmetischer Ausdruck und Typ int ,
...) eingesetzt werden. Eine Prozedur darf ausschließlich in Form einer Ausdrucksanweisung (siehe
Kapitel 14.8.2) aufgerufen werden.
15.5 Beispielprogramme
In diesem Abschnitt werden einige Beispiele für Hamster-Programme gegeben, die Ihnen den Ein-
satz von Funktionen demonstrieren sollen. Schauen Sie sich die Beispiele genau an und versuchen
Sie, die Lösungen nachzuvollziehen.
15.5.1 Beispielprogramm 1
Aufgabe:
Der Hamster steht direkt vor einem regelmäßigen Berg unbekannter Höhe (siehe auch Abbildung
15.7). Er selbst hat keine Körner im Maul. Auf der Kachel, auf der er steht, liegt jedoch einen
bestimmte Anzahl an Körnern. Ansonsten liegen keine Körner im Feld. Der Hamster soll den Berg
erklimmen und dabei solange wie möglich auf jeder Stufe ein Korn ablegen. Er soll dabei jedoch
keinen unnötigen Ballast mitschleppen.
Lösungsidee: Der Hamster ermittelt zunächst die Höhe des Berges und kehrt an seine Ausgangs-
position zurück. Anschließend nimmt er - falls möglich - die benötigte Anzahl an Körnern auf und
marschiert erneut los.
1 Diese Einschränkung wird in Kapitel 16.3 ein wenig aufgeweicht
 
Search WWH ::




Custom Search