Computers

Programmierung der Fibonacci-Sequenz: Grundlagen der Informatik

Autor: Peter Berry
Erstelldatum: 15 Juli 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Hardwarenahe Programmierung: Uebung 2c Fibonacci
Video: Hardwarenahe Programmierung: Uebung 2c Fibonacci

Inhalt

Ich liebe es, andere über grundlegende Konzepte in der Informatik zu unterrichten.

Einführung in die Fibonacci-Sequenz

In diesem Artikel werde ich die zweite Methode in meiner Reihe rekursiver Algorithmen diskutieren. Wie Fakultäten ist die Fibonacci-Sequenz ein weiterer Algorithmus, der ein exponentielles Wachstum über die Zeit zeigt. Es ist auch eine der vier Methoden, die bei der Untersuchung der Rekursion verwendet werden. Vor diesem Hintergrund möchte ich zunächst einen Überblick über die Fibonacci-Sequenz geben.

Wer war Leonardo Fibonacci?

Leonardo Pisano Boglio (alias Leonardo Fibonacci) war im Mittelalter (ca. 1170 - 1250) ein italienischer Mathematiker. Er gilt als einer der besten Mathematiker seiner Zeit und wird bei der Erstellung des Buches anerkannt Liber Abaci, ein Buch, das auf mathematischen Berechnungen basiert. Der bekannteste Algorithmus in diesem Buch ist natürlich die Fibonacci-Sequenz, die auf der Lösung eines Problems basiert, das sich mit dem Populationswachstum von Kaninchen befasst. Die eigentliche Sequenz war jedoch nicht seine eigene. Der Algorithmus basiert tatsächlich auf Kenntnissen, die er von hinduistischen Mathematikern gewonnen hat, die ihn um das 6. Jahrhundert entdeckten. Es war jedoch das erste Mal, dass der Algorithmus im Westen eingeführt wurde und Fibonacci den modernen Ruf gab, einer der Menschen zu sein, die zur Einführung des hinduistisch-arabischen Zahlensystems in Europa beigetragen haben.


Was genau ist die Fibonacci-Sequenz?

Die Sequenz war eine Antwort auf ein Problem, das sich mit dem exponentiellen Wachstum einer Bevölkerung befasste. Im Fall von Fibonaccis Buch ging es um das Bevölkerungswachstum von Kaninchen. Der Algorithmus berücksichtigt die Anzahl der Iterationen oder das Aufrufen einer Funktion und addiert die Summe der Iteration minus eins und der vorherigen Zahl minus zwei. Im Fall einer Iterationszahl von 0 oder 1 wäre die Summe jedoch immer gleich 0 bzw. 1. Wenn jedoch die Anzahl der Iterationen höher als eins wird, sehen Sie ein exponentielles Wachstum der produzierten Summe. Im Folgenden wird die Formel geschrieben, um eine bessere Vorstellung davon zu bekommen, was vor sich geht:

Fib (n) wobei n = 0 ist, ist die Summe immer 0 [Basisfall]

Fib (n) wobei n = 1 ist, ist die Summe immer 1 [Basisfall]

Fib (n), wobei alle ganzen Zahlen n> 1 sind, dann ist Fib (n) (Fib (n-1) + Fib (n-2)).

Wenn also die Iteration 0 oder 1 ist, ist die Zahl gleich 0 bzw. 1. Wenn die Iterationen jedoch über 1 hinausgehen, sehen Sie ein exponentielles Wachstum der Ausgabe.


Die Fibonacci-Sequenz in Bezug auf die Informatik

Im akademischen Bereich verwenden Informatik-Programmierkurse diesen Algorithmus gerne für das Studium rekursiver Methoden. In C.S. ist eine rekursive Methode eine Methode, die innerhalb ihrer eigenen Definition definiert wird. Anstatt dass die Methode von einer anderen Methode aufgerufen wird, ruft sie sich selbst auf. Was macht es auf seine Weise zu einer anderen Möglichkeit, eine Schleife zu programmieren?

Der Grund für die Studie besteht darin, den Studenten ein Verständnis dafür zu vermitteln, wie bestimmte Probleme gelöst werden können, für die eine Lösung anhand eines Basisfalls erforderlich ist. Aus diesem Grund ist die Fibonacci-Sequenz so beliebt, weil sie einen Basisfall liefert und es einem Programm dann ermöglicht, eine Methode zur Lösung des Problems wiederholt aufzurufen. Nachstehend finden Sie ein Java-Beispiel für Rekursionen unter Verwendung der Fibonacci-Formel.

Rekursionsbeispiel unter Verwendung der Fibonacci-Sequenz.

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Beispiel für eine Rekursion unter Verwendung der Fibonacci-Sequenz in Java. // // Autor: Bink // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Paket Fibonaccirecursion; import java.math.BigInteger; // Für die mathematische Funktion öffentliche Klasse FibonacciRecursion {// Anfangswert für BigInterger festlegen: Rückgabewert private statische BigInteger TWO = BigInteger.valueOf (2); // Rekursive Berechnungen durchführen public static BigInteger fibonacciCalculations (BigInteger number) number.equals (BigInteger.ONE)) return number; sonst fibonacciCalculations zurückgeben (number.subtract (BigInteger.ONE)). add (fibonacciCalculations (number.subtract (TWO))); // Funktion beenden public static void main (String [] args) {// durchlaufe die Sequenz, bis counter == 30 for (int counter = 0; counter = 30; counter ++) {System.out.printf ("Fibonacci of% d ist:% d n ", Zähler, Fibonacci-Berechnungen (BigInteger.valueOf (Zähler))); } // Ende für} // Ende Haupt} // Ende Klasse

Fazit:

Das fasst also zusammen, was Rekursion ist und wie wichtig Fibonaccis Formel für das Studium der Rekursion ist. Wenn Sie den obigen Code kopieren, werden Sie feststellen, dass die Zahlen nach jeder Iteration exponentiell ansteigen, bis Sie die von Ihnen festgelegte Iteration erreichen. Im Fall des obigen Programms wurde die Iterationsgrenze auf 30 festgelegt.


Wie bereits erwähnt, ist die Fibonacci-Sequenz ein guter Weg, um zu lernen, wie man eine rekursive Methode programmiert. Es ist in der Hochschulwissenschaft von der Informatik bis zum Mathematik-Abschluss weit verbreitet und bietet einem Programmierer ein weiteres Werkzeug in seinem Arsenal, um Probleme zu lösen.

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Bitte platzieren Sie Ihre Kommentare hier.

Binkster (Autor) am 07. Januar 2012:

Danke ib,

Ich bin neu im Spiel, also danke für den Rat. Ich werde damit anfangen.

Bink

ib Radmaster aus Südkalifornien am 07. Januar 2012:

Bink

Schöner Hub und interessanter Hintergrund.

Wenn ich dieses Programm gemacht habe, besteht mein Stil darin, die Übersicht über die Berechnungen in das Kommentarfeld einzufügen.

Aber das ist mein persönlicher Stil.

Danke

Heute Geöffnet

Interessante Publikationen.

10 wunderschöne, von Kaffee / Tee inspirierte Farbpaletten für Ihr nächstes Design
Computers

10 wunderschöne, von Kaffee / Tee inspirierte Farbpaletten für Ihr nächstes Design

John Paul Hizon i t eit über 8 Jahren Grafikde igner und Fotograf mit einem Hintergrund in Webde ign und -entwicklung.Farbe pielt eine wichtige Rolle im De ign. E be timmt die timmung, zieht die ...
Kommunikationsgeräte in den 1950er Jahren: Wie haben Menschen vor Mobiltelefonen kommuniziert?
Misc

Kommunikationsgeräte in den 1950er Jahren: Wie haben Menschen vor Mobiltelefonen kommuniziert?

Paul lebte in den 1950er Jahren in einem Vorort von Milwaukee und auf einer kleinen Milchfarm im üdo ten von Wi con in. tellen ie ich ein Leben ohne Handy, E-Mail, Facebook, Twitter oder andere o...