import Foundation

/* 
 Fibonacci Zahlen sind so definiert:
 F_{0} = 0, F_{1} = 1 und F_{n} = F_{n-1} + F_{n-2} für n > 1
 
 Ausgehend von einem Start bei 0 und 1 lauten die ersten zwölf Werte der 
 Folge 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89.

 Die Variable size bezeichnet die n-te Fibonacci Zahl, bis zu der die Ausgabe 
 der Fibonacci Zahlen erfolgen soll. 
*/ 

var size : Int

/* Die Variablen prevnumber und number werden für die zwei Startwerte F_{0} und
 F_{1} deklariert. Zu Beginn werden sie mit den Werten 0 beziehungsweise 1 
initialisiert. Im weiteren Verlauf werden sie für die Berechnung der 
Fibonaccizahlen weiter verwendet.*/ 

var prevnumber : Int

prevnumber = 0
var number : Int

number = 1

// Die Variable nextnumber wird für die neuen Fibonaccizahlen deklariert.
var nextnumber : Int

/* Die Variable i wird deklariert, sie wird bei der Berechnung benötigt. Sie 
zeigt an, um die wievielte Fibonacci Zahl es handelt, da die ersten zwei 
bereits gesetzt sind, wird die Variable i mit dem Wert 2 initialisiert. */ 

var i : Int

i = 2
print("Bitte geben Sie eine Zahl zwischen 2 und 93 ein")
size = Int(readLine()!)!

/* Da die Fibonacci Zahlen sich mit jedem Schritt vergrößern, wird hier eine 
Begrenzung bei 93 eingefügt. Die while Schleife überprüft den Wert von size, 
und sollte der Wert von size größer als 93 sein, wird der Nutzer aufgefordert 
eine kleinere Zahl einzugeben. Es wird zudem geprüft, ob die eingegebene Zahl 
größer als 0 ist, da nur positive ganze Zahlen zulässig sind. */

while size > 93 || size < 0 {
    print("Bitte geben Sie nur eine Zahl ein, die kleiner gleich 93 und größer als 0 ist: ")
    size = Int(readLine()!)!
}
print(prevnumber)
print(number)

/* Die Zahlen der Fibonacci Folge werden mithilfe einer while Schleife 
   iterativ berechnet. */ 

while i < size {
    
    /* Solange der Wert der Variablen i kleiner als der von n ist, wird ein 
       neuer Wert für die Variable nextnumber berechnet. Dafür wird die Summe 
       der Werte der Variablen prevnumber und number gebildet. Und das Ergebnis 
       ausgegeben. */

    nextnumber = prevnumber + number
    print(nextnumber)
    
    /* Dann wird der Variable prevnumber der Wert von number zugewiesen und der 
       Variablen number der Wert der Variablen nextnumber. Danach wird die 
       Variable i um eins erhöht. */ 

    prevnumber = number
    number = nextnumber
    i = i + 1
}
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz