TI-Basic: Programme und Tutorials: Fibonacci
Erstellt von: | Kai Burghardt | Peter Riedel |
Schwierigkeitsgrad: | Anfänger | |
Modell: | TI-82, Voyage 200 |
TI-82
BearbeitenProgramm
BearbeitenEin Progrämmlein, welches mal eben die Fibonacci-Folge in eine Liste ausspuckt.
Erst einmal der wichtigste Teil:
PROGRAM:NFIBBO : L1(X-1) + L1(X-2) -> L1(X) : X+1 -> X : While X /= 100 : prgmNFIBBO
Dazu ist dementsprechend eine kleine Vorarbeit nötig:
PROGRAM:AFIBBO : 4 -> X : {0,1,1} -> L1 : prgmNFIBBO
Erläuterung
BearbeitenMensch ruft AFIBBO auf. Dann definieren wir X als aktuelles Listenelementsvariable, die mal eben berechnet werden soll.
Die eigentliche Berechnung ist abgspaltet, um - wie Du hoffentlich bemerkt hast - eine ganz einfach Schleife zu bauen. Beim TI-82 ist die Listenelementszahl auf 99 begrenzt.
Nach etwa einer Minute steht alles in der Liste eins.
Voyage 200
BearbeitenProgramm
Bearbeiten:fibonaci() :Prgm :0->f1 :1->f2 :Disp f1,f2 :While true : f1+f2->tmp : f2->f1 : tmp->f2 : Disp f2 :EndWhile :EndPrgm
Erläuterung
Bearbeitenf1 wird mit 0 und f2 mit 1 initialisiert und ausgegeben. In der While-Schleife wird die neue Fibonacci-Zahl f1+f2 in tmp gespeichert, damit f1 und f2 die neuen Werte für die Ausgabe und Weiterberechnung erhalten. Es werden unendliche viele Fibonacci-Zahlen berechnet. Es sei denn, man ersetzt true mit einer Bedingung wie z.B. f2<100, um die Ausgabe durch eine Obergrenze zu beschränken. Man kann auch zwischen jeder Ausgabe das Programm mit Pause anhalten.
Rekursion
Bearbeitenfür berechnet die -te Fibonacci-Zahl.
Funktion
Bearbeiten:fibonaci(a,b,c) :Func :If c=0 Then : Return a :Else : Return fibonaci(b,a+b,c-1) :EndIf :EndFunc
- <math>