"Enter"a basıp içeriğe geçin

C#’ta Fibonacci Dizisi Yazdırmayı Öğrenin: Yeni Başlayanlar İçin Adım Adım Rehber

Merhaba arkadaşlar, bu yazıda C#’ta Fibonacci dizisini yazdırmayı adım adım, açıklayıcı bir şekilde anlatacağım. Fibonacci dizisi, her sayının kendisinden önce gelen iki sayının toplamı olduğu bir sayı dizisidir. Örneğin, 0, 1, 1, 2, 3, 5, 8, 13, 21… şeklinde devam eden bir Fibonacci dizisi vardır. Bu diziyi C#’ta yazdırmak için kullanabileceğimiz birkaç yöntem vardır. Bu yazıda bunlardan en yaygın olan iki tanesini göstereceğim: döngü kullanarak ve kendi kendini çağıran fonksiyonlar (özyinelemeli, recursive) fonksiyon kullanarak.

Döngü Kullanarak Fibonacci Dizisi Yazdırmak

Döngü kullanarak Fibonacci dizisi yazdırmak için şu adımları izleyebiliriz:

• İlk olarak, dizinin kaç elemanını yazdırmak istediğimizi belirleyen bir değişken tanımlayalım. Bu değişkeni int tipinde ve n adında tanımlayalım. Örneğin, n = 10 diyelim.
• Sonra, dizinin ilk iki elemanını tutan iki değişken daha tanımlayalım. Bu değişkenleri de int tipinde ve a ve b adında tanımlayalım. a = 0 ve b = 1 diyelim.
• Ardından, dizinin elemanlarını yazdırmak için bir for döngüsü oluşturalım. Bu döngüde i değişkeni 0’dan n’e kadar artacak şekilde tanımlayalım. Döngünün içinde şunları yapalım:
••• Önce a değişkenini ekrana yazdıralım.
••• Sonra a ve b değişkenlerinin değerlerini güncelleyelim. a’nın yeni değeri b olsun, b’nin yeni değeri ise a + b olsun.
••• Böylece her döngü adımında bir sonraki Fibonacci sayısını elde etmiş olacağız.
• Döngü bittiğinde, dizinin istediğimiz kadar elemanını yazdırmış olacağız.

Bu yöntemi kod olarak şöyle yazabiliriz:

using System;
class Program
{
    static void Main(string[] args)
    {
        int n = 10; // dizinin kaç elemanını yazdıracağımız
        int a = 0, b = 1; // dizinin birinci ve ikinci elemanı
        for (int i = 0; i < n; i++) // n kere dönecek bir for döngüsü
        {
            Console.WriteLine(a); // a'yı ekrana yazdır
            int temp = a; // a'nın değerini geçici bir değişkene kaydet
            a = b; // a'nın yeni değeri b olsun
            b = temp + b; // b'nin yeni değeri eski a + eski b olsun
        }
    }
}

Bu kodu çalıştırdığımızda ekrana şu çıktıyı alırız:

0
1
1
2
3
5
8
13
21
34

Özyinelemeli Fonksiyon Kullanarak Fibonacci Dizisi Yazdırmak

Özyinelemeli fonksiyon kullanarak Fibonacci dizisi yazdırmak için şu adımları izleyebiliriz:

• İlk olarak, Fibonacci sayısını hesaplayan bir özyinelemeli fonksiyon tanımlayalım. Bu fonksiyon int tipinde bir parametre alacak ve int tipinde bir değer döndürecek. Fonksiyonun adını fib olarak belirleyelim.
• Fonksiyonun içinde şunları yapalım:
••• Eğer parametre 0 ise, 0 döndürelim. Çünkü Fibonacci dizisinin ilk elemanı 0’dır.
••• Eğer parametre 1 ise, 1 döndürelim. Çünkü Fibonacci dizisinin ikinci elemanı 1’dir.
••• Eğer parametre 1’den büyük ise, fib(parametre – 1) + fib(parametre – 2) değerini döndürelim. Çünkü her Fibonacci sayısı kendisinden önce gelen iki sayının toplamıdır. Bu şekilde fonksiyon kendi kendini çağırarak özyinelemeli bir şekilde çalışacaktır.
• Sonra, dizinin kaç elemanını yazdırmak istediğimizi belirleyen bir değişken tanımlayalım. Bu değişkeni int tipinde ve n adında tanımlayalım. Örneğin, n = 10 diyelim.
• Ardından, dizinin elemanlarını yazdırmak için bir for döngüsü oluşturalım. Bu döngüde i değişkeni 0’dan n’e kadar artacak şekilde tanımlayalım. Döngünün içinde şunları yapalım:
• fib(i) fonksiyonunu çağırarak i’nci Fibonacci sayısını hesaplayalım ve ekrana yazdıralım.
• Döngü bittiğinde, dizinin istediğimiz kadar elemanını yazdırmış olacağız.

Bu yöntemi kod olarak şöyle yazabiliriz:

using System;
class Program
{
    static void Main(string[] args)
    {
        int fib(int n) // Fibonacci sayısını hesaplayan özyinelemeli fonksiyon
        {
            if (n == 0) // eğer parametre 0 ise
            {
                return 0; // 0 döndür
            }
            else if (n == 1) // eğer parametre 1 ise
            {
                return 1; // 1 döndür
            }
            else // eğer parametre 1'den büyük ise
            {
                return fib(n - 1) + fib(n - 2); // kendisinden önce gelen iki sayının toplamını döndür
            }
        }

        int n = 10; // dizinin kaç elemanını yazdıracağımız
        for (int i = 0; i < n; i++) // n kere dönecek bir for döngüsü
        {
            Console.WriteLine(fib(i)); // i'nci Fibonacci sayısını hesapla ve ekrana yazdır
        }
    }
}

Bu kodu çalıştırdığımızda ekrana şu çıktıyı alırız:

0
1
1
2
3
5
8
13
21
34

Bu yazıda C#’ta Fibonacci dizisini nasıl yazdırabileceğimizi iki farklı yöntemle gösterdim: döngü kullanarak ve özyinelemeli fonksiyon kullanarak. Bu yöntemlerin avantajları ve dezavantajları vardır. Örneğin, döngü kullanmak daha hızlı ve verimli olabilir, ancak özyinelemeli fonksiyon kullanmak daha kısa ve anlaşılır olabilir. Hangi yöntemi kullanacağınız sizin tercihinize bağlıdır.

Umarım bu yazı sizin için faydalı olmuştur. C#’ta daha fazla şey öğrenmek isterseniz, blogumu takip etmeye devam edin. Yorumlarınızı ve sorularınızı bekliyorum. Sağlıcakla kalın!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.