TI-Basic: Programme und Tutorials: Fibonacci

Aus Wikibooks
Erstellt von: Kai Burghardt Peter Riedel
Schwierigkeitsgrad: Anfänger
Modell: TI-82, Voyage 200

TI-82[Bearbeiten]

Programm[Bearbeiten]

Ein 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[Bearbeiten]

Mensch 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[Bearbeiten]

 Fibonacci-Folge

Programm[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[Bearbeiten]

f1 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[Bearbeiten]

fü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>