Kann man den folgenden Code in C (recursive Function) so in Stichpunkte beschreiben?

 - (Computer, PC, Programmieren)

3 Antworten

Ja, damit sind die beiden Funktionen natürlichsprachig beschrieben. Es klingt aber etwas nach einer "zu" wörtlichen Beschreibung. Ich würde eher folgendes nehmen:

Die main-Methode gibt auf der Konsole die Fakultät von 6 aus. Dabei wird die Fakultät mithilfe einer rekursiven Methode berechnet, die pro Aufruf die Zahl mit der Fakultät der um 1 verringerten Zahl multipliziert. Die Rekursion bricht ab, sobald die Zahl zur 1 wurde.
Woher ich das weiß:Beruf – Software-Entwicklung (Java Enterprise)

Ist zwar sehr ausführlich, aber eventuell so gefordert. Ich würde es folgendermassen machen. In der Hauptsache jede Funktion ganz allein für sich beschreiben:

funktion main:

   einer Variablen x wird die 6 zugewiesen

   die Funktion factorial() wird mit dem Argument x aufgerufen

   der Return-Wert dieser Funktion wird an der Konsole angezeigt

   Ende des Programms   

funktion factorial:

   wird mit dem Argument a aufgerufen

   falls a=1 ist, wird a zurückgeben

   sonst wird a mit factorial(a-1) multipliziert

   das Ergebnis wird zurückgegeben

Du bist an ein paar Stellen in der Wortwahl ungenau.

int x wird deklariert

Ja, aber ebenso auch definiert. Und zwar mit dem Wert 6. Es handelt sich also um eine Initialisierung einer Variable x mit dem Wert 6.

In der printf-Function wird die factorial-Function aufgerufen

Der Aufruf von factorial findet in der Argumentenliste von printf statt. Das Ergebnis wird an printf übergeben.

Falls Variable 1 ist, Condition verlassen

Eine Condition ist eine Bedingung. Die Bedingung wird im Kopf von if definiert. Verlassen wird hingegen der if-Rumpf und ebenso der Funktionskörper von factorial.

factorial-Function wird mit return zurückgegeben

Der Wert, den der innere Aufruf der factorial-Funktion berechnet hat, wird, multipliziert mit der Variable number, zurückgegeben.

Es wäre besser, wenn anhand deiner Stichpunkte der Verlauf und Zweck des Programms deutlich werden würde. Wenn du sie übermorgen oder nächste Woche erneut liest, sollten sie dir ja effektiv helfen, den Algorithmus sofort und einfach zu verstehen.

Ja, aber ebenso auch definiert. Und zwar mit dem Wert 6. Es handelt sich also um eine Initialisierung einer Variable x mit dem Wert 6.

Ist nicht Wert es zu erwähnen, da es offensichtlich ist.

Der Aufruf von factorial findet in der Argumentenliste von printf statt. Das Ergebnis wird an printf übergeben.

Ist nicht Wert es zu erwähnen, da es offensichtlich ist.

Der Wert, den die factorial-Funktion berechnet hat, wird zurückgegeben. Allerdings multipliziert mit number.

Ist nicht Wert es zu erwähnen, da es offensichtlich ist.

und die anderen zwei Punkte auf die du eingegangen bist

Nicht als Angriffsfläche nehmen, aber ich will mit den Stichpunkten auch nicht zu tief eingehen, die Nebensachen kennt man, denke ich (ist ein muss).

0
@frstacc4938

Die Stichpunkte sollen doch das Programm beschreiben, ohne dass man den Programmcode dazu kennt, oder etwa nicht? Denn sonst wären sie unnütz.

0

Was möchtest Du wissen?