Swift Program to Generate Fibonacci Series

1. Introduction

The Fibonacci sequence is a series of numbers where a number is found by adding up the two numbers before it. Starting with 0 and 1, the sequence goes 0, 1, 1, 2, 3, 5, 8, and so forth. Each number (after the first two) is the sum of the two preceding ones. This sequence has been studied extensively in mathematics and has applications in various fields like computer algorithms, stock market analysis, and even in art and nature. 

In this guide, we'll be creating a Swift program that generates the Fibonacci series up to a given number of terms.

2. Program Overview

The objective of our Swift program is to produce the Fibonacci series up to a specified number of terms. For example, if we want the first 6 terms, the output would be 0, 1, 1, 2, 3, 5.

3. Code Program

// Number of terms to display from Fibonacci sequence
let numberOfTerms = 6

if numberOfTerms <= 0 {
    print("Please enter a positive integer.")
} else if numberOfTerms == 1 {
    print("Fibonacci series up to \(numberOfTerms) terms: 0")
} else {
    var num1 = 0
    var num2 = 1
    var counter = 0

    print("Fibonacci series up to \(numberOfTerms) terms:")
    while counter < numberOfTerms {
        print(num1)
        let num = num1 + num2
        num1 = num2
        num2 = num
        counter += 1
    }
}

Output:

Fibonacci series up to 6 terms:
0
1
1
2
3
5

4. Step By Step Explanation

1. let numberOfTerms = 6: This line sets how many terms from the Fibonacci series we want to display.

2. The first two conditional checks handle edge cases:

- If the entered number is less than or equal to 0, it prompts the user to enter a positive number.- If the number of terms is 1, it directly displays the first term of the Fibonacci series: 0.

3. var num1 = 0 and var num2 = 1: These two variables hold the two currently last numbers in the series.

4. The while counter < numberOfTerms loop is where the magic happens. For each iteration:

- It prints the current number (num1).

- It computes the next number in the series as the sum of num1 and num2.

- It then adjusts num1 and num2 for the next iteration.

- It increments the counter to keep track of how many terms have been printed.


Comments