Habs mir kurz angesehen... also, du willst eine Funktion, die bei zwei Eingabe-Parametern x und y das Ergebnis "x hoch y" bzw. "x zur Potenz y" zurückgibt, so hast du zwei Möglichkeiten, diese Funktion zu bewerkstelligen:
Wie du weisst, bedeutet "zur Potenz y", dass du den Wert y mal mit sich selbst multiplizierst, x zur Potenz 2 ist soviel wie x * x. Der erste logische Ansatz wäre dabei der iterative
Logisch, ich lasse die Funktion den Wert solange mit sich selbst mal nehmen, solange es die Funktion verlangt.
Beim rekursiven Ansatz hingegen brauche ich zwei Dinge: Den rekursiven Aufruf, und eine Abbruchbedingung.
Die Abbruchbedingung ist auch klar: Ich möchte y mal x mit sich selbst produzieren, also zähle ich von y einfach runter bis 0. Ist y also 0, gebe ich einfach x zurück, ansonsten rufe ich die Funktion nochmal auf, kennzeichne allerdings, dass ich bereits einmal in der Funktion war (zähle also von y eins herunter...). Das ganze sieht dann so aus:
Eleganter, aber weit langsamer, und für derartige Mickymausaufgaben auch nicht wirklich nötig (Fehler vorbehalten, kann natürlich sein, dass y == 1 sein muss, bzw. die Bedingung im iterativen Teil i <= y sein muss, aber das sollst du einfach selbst ausprobieren).