rekursive Funktion & formaler bzw. aktueller Parameter



  • Guten Tag,

    bin grad dabei für die Klausur zu lernen und bin bei paar Fragen hängen geblieben.
    Es würde mich freuen, wenn ihr sie beantworten würdet. Danke im voraus. 🙂

    1.) Könntet ihr mir bitte Erläutern, wie man bei einer rekusiven Funktion, an einem aktuellen Parameter, an die Abbruchbedingung nähert?

    2.)Erläutern Sie anhand eines Beispiels (korrektes C bitte!) die Begriffe "formaler Parameter" und "aktueller Parameter" bei Funtkionen! Da habe ich leider auch nichts gefunden. 😞



  • Hi. Du bist anscheinend im falschen Forum, da du von C sprichst und nicht C#. Anyhow, es scheint sich hierbei um typische dumme, akademische Fragen zu handeln. Ich schreibe jetzt einfach, was ich am naheliegendsten finde. Gehen wir also einmal von folgender Funktion aus:

    // Fakultät berechnen:
    int fak(int num)
    {
        if (num == 2)
            return 2;
        return num * fak(num - 1);
    }
    

    Zu deiner ersten Frage betrachtest du den Ausdruck num - 1 in der Klammer des Funktionsaufrufs. Mit jedem rekursiven Aufruf nähert sich num - 1 mehr der Abbruchbedingung num - 1 == 2 an.

    Bei der zweiten Frage würde ich antworten, dass der aktuelle Parameter immer das aktuelle num ist, also dasjenige, welches in der Rekursionsstufe das letzte ist. Der formale Parameter wäre dann der Wert, für welchen du die Fakultät berechnen willst. Z.B. 8 bei int x = fak(8); .

    MfG



  • danke dir /rant/ 😃



  • 🙂


Anmelden zum Antworten