23 Kasım 2017 Perşembe
Twitter

Fibonacci Dizisi ve Altın Oran Hesabı

Fibonacci sayılarının bulunması ve bu sayılar yardımı ile 'Altın Oran' sayısının hesabını yapan program algoritmasının gerçeklenmesi.

Fibonacci serisi sayıları: 1,1,2,3,5,8,13,21,34,55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, ... vb. şeklinde devam eder.

Her sayı kendisinden önce gelen iki sayının toplamıdır.

Bu durumda genel olarak n'inci Fibonacci sayısı F(n) şu şekilde ifade edilir:

Fibonacci sayılarının ilginç özellikleri vardır. Mesela n sayısı büyüdükçe iki ardışık Fibonacci sayısının oranı Altın oran'a yani 1.618033988749894... e yakınsar.

X adımlık Fibonacci sayılarını ve altın oranı bulan program şu şekilde yazılabilir:

const int ADIMSAYISI = 20;
double altinOran = 0.0;
int oncekiToplam1 = 0;
int oncekiToplam2 = 1;
int toplam;
for(int i = 1; i <= ADIMSAYISI; i++)
{
    toplam = oncekiToplam1 + oncekiToplam2;
    altinOran = (double) (toplam) / oncekiToplam2;
    oncekiToplam1 = oncekiToplam2;
    oncekiToplam2 = toplam;
    Console.WriteLine(i + ". adım: " + toplam);
}
Console.WriteLine("----------------------");
Console.WriteLine("altın oran: " + altinOran);

Dizilerle bu kod daha kolay yazılabilir:

const int ADIMSAYISI = 20;
int[] dizi = new int[ADIMSAYISI];
dizi[0] = 0;
dizi[1] = 1;
for(int i = 2; i < ADIMSAYISI; i++)
{
    dizi[i] = dizi[i - 1] + dizi[i - 2];
    Console.WriteLine((i-1) + ". adım: " + dizi[i]);
}
Console.WriteLine("----------------------");
double altinOran = (double) dizi[ADIMSAYISI-1] / dizi[ADIMSAYISI - 2];
Console.WriteLine("altın oran: " + altinOran);

Altın oran hakkında kısa bilgi:
Altın Oran, matematikte ve fiziksel evrende ezelden beri var olmasına rağmen, insanlar tarafından ne zaman keşfedildiğine ve kullanılmaya başlandığına dair kesin bir bilgi mevcut değildir. Tarih boyunca birçok defa yeniden keşfedilmiş olma olasılığı kuvvetlidir. Leonardo da Vinci'nin günlüklerinin birinde bulunan, insan ve doğayı birbiriyle ilgilendirme-bütünleştirme çalışması için bir dönüm noktası kabul edilen ve insan vücudundaki oranları gösteren Vitruvius Adamı çalışması (1492).Euclid (M.Ö. 365 - M.Ö. 300), "Elementler" adlı tezinde, bir doğruyu 0.6180399... noktasından bölmekten bahsetmiş ve bunu, bir doğruyu ekstrem ve önemli oranda bölmek diye adlandırmıştır. Mısırlılar keops Piramidi'nin tasarımında hem pi hem de phi oranını kullanmışlardır. Yunanlılar, Parthenon'un tüm tasarımını Altın Oran'a dayandırmışlardır. Bu oran, ünlü Yunanlı heykeltraş Phidias tarafından da kullanılmıştır. Leonardo Fibonacci adındaki İtalyan matematikçi, adıyla anılan nümerik serinin olağanüstü özelliklerini keşfetmiştir fakat bunun Altın Oran ile ilişkisini kavrayıp kavramadığı bilinmemektedir. Leonardo da Vinci, 1509'da Luca Pacioli'nin yayımladığı İlahi Oran adlı bir çalışmasına resimler vermiştir. Bu kitapta Leonardo Leonardo da Vinci tarafından yapılmış Five Platonic Solids (Beş Platonik Cisim) adlı resimler bulunmaktadır. Bunlar, bir küp, bir Tetrahedron, bir Dodekahedron, bir Oktahedron ve bir Ikosahedronun resimleridir. Altın Oran'ın Latince karşılığını ilk kullanan muhtemelen Leonardo da Vinci 'dir. Rönesans sanatçıları Altın Oran'ı tablolarında ve heykellerinde denge ve güzelliği elde etmek amacıyla sıklıkla kullanmışlardır. Örneğin Leonardo da Vinci, Son Yemek adlı tablosunda, İsa'nın ve havarilerin oturduğu masanın boyutlarından, arkadaki duvar ve pencerelere kadar Altın Oran'ı uygulamıştır. Güneş etrafındaki gezegenlerin yörüngelerinin eliptik yapısını keşfeden Johannes Kepler (1571-1630), Altın Oran'ı şu şekilde belirtmiştir: "Geometrinin iki büyük hazinesi vardır; biri Pythagoras'ın teoremi, diğeri, bir doğrunun Altın Oran'a göre bölünmesidir." Bu oranı göstermek için, Parthenon'un mimarı ve bu oranı resmen kullandığı bilinen ilk kişi olan Phidias'a ithafen, 1900'lerde Yunan alfabesindeki Phi harfini Amerika'lı matematikçi Mark Barr kullanmıştır. Aynı zamanda Yunan alfabesindekine karşılık gelen F harfi de, Fibonacci'nin ilk harfidir. Altın Oran, bir sayının insanlık, bilim ve sanat tarihinde oynadığı inanılmaz bir roldür. Phi, evren ve yaşamı anlama konusunda bizlere yeni kapılar açmaya devam etmektedir. 1970'lerde Roger Penrose, o güne kadar imkânsız olduğu düşünülen, "yüzeylerin beşli simetri ile katlanması"nı Altın Oran sayesinde bulmuştur.

Fibonacci Sayıları ve Altın Oran
Fibonacci sayıları (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765... şeklinde devam eder) ile Altın Oran arasında ilginç bir ilişki vardır. Dizideki ardışık iki sayının oranı, sayılar büyüdükçe Altın Oran'a yaklaşır. Fibonacci ardışıkları, Altın Oran ilişkisi yorumlamasıdır. Bundada oran ne olursa olsun her oranın değeri 1.618 dir, değişmez.

Detaylı bilgi için aşağıdaki linkleri takip edebilirsiniz:
Leonardo Fibonacci
Fibonacci dizisi
Altın oran

Değerlendirme

Yazım dilinin sadeliği ve anlaşılabilirliği Puan: 0,00 (0 oy)
Yazıdaki kodların kalitesi Puan: 5,00 (1 oy)
İhtiyaca cevap verme Puan: 0,00 (0 oy)
Tavsiye edilebilirlik Puan: 0,00 (0 oy)
Genel değerlendirme Puan: 0,00 (0 oy)
Puanlamalar 5 üzerindendir.
  • Site Yorumlarý
  • Facebook Yorumlarý Facebook Yorumlarý
Yeni yorum yaz Toplam: 5, Onay bekleyen: 0.
  1. bahar

    süpersiniz

  2. dursun çoban

    arkdaşım hocamız vize ödevi verdi fiboncci seri sayıların aşagıdaki gibidir 1,1,2,3,5,8,13,34,55,89 gibi gidiyor.ilk seri n terimi bulan algoritması yapılacak bir türlü bulamadım bana yarımcı olurmuz

  3. Devrim Altınkurt

    http://www.algoritmalar.com/Yazi/17/Fibonacci-Dizisi-ve-Altin-Oran-Hesabi--CSharp-.aspx

  4. doğukan

    mrb hocam bana fiboneccinin algoritması lazım ingilizce buldum ama pek bişey anlamadım.

    1. Assign sum=0, A=0, B=1, i=1
    2. Get the no. of terms upto which u want to generate the fibonacci no, i.e., n.
    3.Add A and B to get the next fibonacci number
    4. Assign the value of B to A i.e. A=B
    5. Assign the value of sum to B i.e. B=sum
    6. Write the value of su to get next fibonacci number in the series.
    7. increment i with 1 i.e. i=i+1 and repeat step 3,4,5,6 with the last value of i=n(n is the no. of terms which u wnt to generate fibonacci no. series.)
    8. Stop


    yardımcı olursanız sevinirim.tşler

  5. osman yılmaz

    hep c## birazda visual basic te yazılımı geteirin