Die Webseiten der Fachschaft Informatik am ERG Saalfeld


Bestimmung eines Elements der Fibonacci-Folge

Die Fibonacci-Folge ist benannt nach Leonardo Fibonacci, der damit im Jahr 1202 das Wachstum einer Kaninchenpopulation beschrieb. Die Folge war aber schon in der Antike sowohl den Griechen als auch den Indern bekannt. [1] Die Folge lautet:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Fibonacci illustrierte diese Folge durch die einfache mathematische Modellierung des Wachstums einer Population von Kaninchen nach folgenden Regeln: [2]

  1. Jedes Paar Kaninchen wirft pro Monat ein weiteres Paar Kaninchen.
  2. Ein neugeborenes Paar bekommt erst im zweiten Lebensmonat Nachwuchs (die Austragungszeit reicht von einem Monat in den nächsten).
  3. Die Tiere befinden sich in einem abgeschlossenen Raum ("in quodam loco, qui erat undique pariete circundatus"), so dass kein Tier die Population verlassen und keines von außen hinzukommen kann.

 

Man erkennt sehr leicht, dass die Summe zweier aufeinander folgender Fibonacci-Zahlen die nächste Fibonacci-Zahl ergibt. Außerdem ist die erste und die zweite Zahl dieser Folge jeweils 1. Damit ergibt sich die rekursive Definition dieser Folge:

 fib(1) = 1   und    fib(2) = 1
 fib(n) = fib(n-1) + fib(n-2)

wobei n die Stelle der Fibonacci-Zahl in der Folge angibt. Beispiel: die 6. Zahl der Fibonacci-Folge ist 8.


Auch hier wird diese Definition praktisch 1:1 in eine Funktion geschrieben und im Hauptprogramm wird diese Funktion aufgerufen. Das Programm sieht für die Ermittlung der 6. Fibonacci-Zahl dann so aus:

Programm

def fib (n):
  if (n==1) or (n==2):
      rueckgabe = 1
  else:
      rueckgabe = fib(n-1)+fib(n-2)
  return rueckgabe

print (fib(6))

 

Der Aufruf sah bei mir so aus:

 

Aufgaben

  1. Bringen Sie das Programm zum Laufen.
  2. Testen Sie das Programm mit anderen Zahlen.
  3. Ändern Sie das Programm so ab, dass die Zahl als Parameter übergeben werden kann.
  4. Ergänzen Sie das Programm um eine Überschrift (unterstrichen, danach Leerzeile).
  5. Ändern Sie das Programm so ab, dass die Ausgabe so erfolgt (hier für Parameter 6): "fib(6) = 8"

 

Weblinks

  1. http://de.wikipedia.org/wiki/Fibonacci-Folge
  2. Modell einer Kaninchenpopulation
  3. Bild Kaninchen-Polulation
  4. Youtube: Was ist die Fibonacci-Folge?

 

zurück


© ERG Saalfeld   -   HD. Kirmse + Dustin Wiese     letztes Update 14.08.2022