\documentclass{bschlangaul-aufgabe} \bLadePakete{java,mathe} \begin{document} \bAufgabenMetadaten{ Titel = {Potenz}, Thematik = {Potenz}, Referenz = AUD.Rekursion.Potenz, RelativerPfad = Module/30_AUD/10_Rekursion/Aufgabe_Potenz.tex, ZitatSchluessel = aud:ab:1, ZitatBeschreibung = {Aufgabenblatt 1: Abstrakte Klassen, Interface, Rekursion, Seite 2, Aufgabe 2}, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Rekursion}, } Gegeben ist folgende Methode.\index{Rekursion} \footcite[Aufgabenblatt 1: Abstrakte Klassen, Interface, Rekursion, Seite 2, Aufgabe 2]{aud:ab:1} \bJavaDatei[firstline=5,lastline=12]{aufgaben/aud/ab_1/Rekursion} \begin{enumerate} %% % (a) %% \item Beschreiben Sie kurz, woran man erkennt, dass es sich bei der gegebenen Methode um eine rekursive Methode handelt. Gehen Sie dabei auf wichtige Bestandteile der rekursiven Methode ein. \begin{bAntwort} Die Methode mit dem Namen \bJavaCode{function} ruft sich in der letzten Code-Zeile selbst auf. Außerdem gibt es eine Abbruchbedingung (\bJavaCode{if (e == 1) { return b * 1; }}), womit verhindert wird, dass die Rekursion unendlich weiter läuft. \end{bAntwort} %% % (b) %% \item Geben Sie die Rekursionsvorschrift für die Methode \bJavaCode{function} an. Denken Sie dabei an die Angabe der Zahlenbereiche! \begin{bAntwort} \begin{equation*} \text{int function(int b, int e)} = \begin{cases} \text{return b*1}, & \text{falls e = 1}.\\ \text{return b*function(b,e-1)}, & \text{falls e > 1}.\\ \end{cases} \end{equation*} \end{bAntwort} %% % (c) %% \item Erklären Sie kurz, was die Methode \bJavaCode{function} berechnet. \begin{bAntwort} Die Methode \bJavaCode{function} berechnet die Potenz $b^e$. \end{bAntwort} \end{enumerate} \end{document}