Bilgisayar bilimlerine veya yazılıma adım atan herkesin yolu, er ya da geç Fibonacci dizisi ile kesişir. İster üniversitede "Algoritmalar" dersinde olun, ister bir iş görüşmesinde teknik mülakata giriyor olun; "Bana ilk 10 Fibonacci sayısını yazdıran kodu yazar mısın?" sorusuyla karşılaşma ihtimaliniz çok yüksektir. Peki, bu dizi yazılım dünyası için neden bu kadar önemli ve nasıl kodlanır?

Neden Yazılımcıların Favorisi?

Fibonacci dizisi (0, 1, 1, 2, 3, 5...), basit bir kurala dayanır: Her sayı, kendinden önceki iki sayının toplamıdır.

Bu basitlik, onu programlama mantığını, döngüleri (loops) ve özyinelemeyi (recursion) öğretmek için mükemmel bir araç yapar. Bir bilgisayarın işlem gücünü ve hafıza yönetimini test etmek için de sıkça kullanılır.

Test Edin: Kod yazmadan önce dizinin doğru sonuçlarını görmek isterseniz Fibonacci Hesaplayıcı aracımızdan referans alabilirsiniz.

1. Python ile Fibonacci Kodlama

Python, okunabilirliği yüksek bir dil olduğu için algoritmayı anlamak çok kolaydır. İşte n kadar Fibonacci terimi üreten basit bir döngüsel (iterative) yaklaşım:

def fibonacci_olustur(n): # İlk iki terimi tanımla a, b = 0, 1 dizi = []

for _ in range(n):
    dizi.append(a)
    # Değerleri kaydır: a yeni b olur, b ise toplam olur
    a, b = b, a + b

return dizi
İlk 10 sayıyı yazdır
print(fibonacci_olustur(10))

Çıktı: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

2. C# ile Fibonacci Kodlama

C# dilinde de mantık aynıdır, ancak değişken türlerini (int, long) tanımlamamız gerekir. Büyük Fibonacci sayıları için int veri tipi yetersiz kalabileceğinden long veya BigInteger kullanmak daha güvenlidir.

using System;

class Program { static void Main() { int n = 10; // Terim sayısı long a = 0, b = 1, gecici;

    Console.Write(a + " " + b + " "); // İlk iki terim

    for (int i = 2; i < n; i++) {
        gecici = a + b;
        Console.Write(gecici + " ");
        a = b;
        b = gecici;
    }
}
}

Özyineleme (Recursion) Tuzağı

Fibonacci genellikle "Recursive" (kendi kendini çağıran fonksiyon) olarak da öğretilir. Ancak dikkat! fib(n) = fib(n-1) + fib(n-2) mantığıyla yazılan basit bir recursive kod, 50. terimi hesaplarken bile bilgisayarınızı dondurabilir. Çünkü aynı sayıları milyarlarca kez tekrar tekrar hesaplar. Bu nedenle, yukarıdaki döngüsel (iterative) yöntemler performans açısından çok daha verimlidir.

Fibonacci ve Altın Oran

Yazdığınız kodda terim sayısı arttıkça, son terimi bir önceki terime bölerseniz (örn: dizi[n] / dizi[n-1]), sonucun 1.618'e yaklaştığını göreceksiniz. Yazılımda bu oranı kullanarak estetik arayüz tasarımları (UI) oluşturulabilir.

Estetik Hesaplamalar

Yazılım tasarımında kullanabileceğiniz Altın Oran'ı keşfedin.

Altın Oran Hesapla
Matematiksel Analiz

Kodunuzun doğruluğunu test etmek için diziyi oluşturun.

Diziyi Görüntüle