Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Proogramm mit Rekursion » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
as_string

Du kannst ja eben so vorgehen, wie der Computer:
Die Funktion wird erst mit 10 als Argument aufgerufen. 10 ist größer als 1, also gibt die Funktion 10 plus den Funktionswert von 9 zurück.
Der Funktionswert von 9 ist 9 plus der Funktionswert von 8
Der Funktionswert von 8 ist 8 plus der Funktionswert von 7
Der Funktionswert von 7 ist 7 plus der Funktionswert von 6
Der Funktionswert von 6 ist 6 plus der Funktionswert von 5
Der Funktionswert von 5 ist 5 plus der Funktionswert von 4
Der Funktionswert von 4 ist 4 plus der Funktionswert von 3
Der Funktionswert von 3 ist 3 plus der Funktionswert von 2
Der Funktionswert von 2 ist 2 plus der Funktionswert von 1
Der Funktionswert von 1 ist 1 (das ist der Rekursionsabbruch)
Ab hier kannst Du rückwärts einsetzen, also gehst Du die ganze Liste wieder aufwärts:
Der Funktionswert von 2 ist 2 plus der Funktionswert von 1, den kennen wir jetzt, der ist nämlich 1, so dass die Funktion dann den Wert 1+2 = 3 zurück gibt.
Der Funktionswert von 3 ist 3 plus der Funktionswert von 2, den kennen wir jetzt, der ist nämlich 1+2=3, so dass die Funktion dann den Wert 1+2+3 = 6 zurück gibt.
Der Funktionswert von 4 ist 4 plus der Funktionswert von 3, den kennen wir jetzt, der ist nämlich 1+2+3, so dass die Funktion dann den Wert 1+2+3+4 zurück gibt.
Und so weiter. Die Funktion rechnet also immer die Summe aller Zahlen von 1 bis zu dem Funktionswert aus.
Das kann auch die Gaußsche Summenformel. Die geht einfach: [latex]\sum_{k=1}^n k = \frac{n\cdot\left(n+1\right)}{2}[/latex] Wenn man hier n=10 einsetzt, rechnet man (10*11)/2 = 55

Gruß
Marco
Informatikdepp Proogramm mit Rekursion

Meine Frage:
Es geht um folgendes Programm

def funktion (k) :
if k > 1 :
return funktion (k-1) + k
else:
return 1

n = 10
z = funktion (n)
print (z)

Dazu die Frage welches Ergebnis es liefert.


Meine Ideen:
von Hörensagen hab ich mitbekommen das es das Ergebnis 55 liefert. allerdings hab ich keine Ahnung worum es bei dem Programm geht und wie man auf 55 kommt
Danke im voraus für eure erkläungen