21 Şubat 2016 Pazar

Algoritma : Fibonacci dizilimi - Java, C#, Swift, C , C++

Fibonacci
  Merhabalar sevgili okurlarım bu makalemde sizlere 5 farklı yazılım diliyle konsola Fibonacci sayılarını yazdıracağız.

  Kullanacağımız yazılım dileri :

  Java, C#, Swift, C, C++

  İlk önce Fibonacci dizilimini tanıyalım sonra algoritmasını bulalım ve kodları yazarak satır satır açıklayalım.

İsterseniz biraz Fibonacci sayılarını tanıyalım :

Fibonacci dizisi, her sayının kendinden öncekiyle toplanması sonucu oluşan bir sayı dizisidir.
Daha iyi anlaşılabilmesi için sizlere şöyle bir görsel hazırladım :

fibonacci-sayıları

Fibonacci dizisi ile ilgili daha ayrıntılı bilgi almak için Vikipedi sayfası buraya tıklayarak ziyaret edebilirsiniz.

Fibonacci dizisini formülle göstermek istersek :
"n" inci Fibonacci sayısı = F(n) olursa :
F(n) =  F(n-1) + F(n)
Algoritması :
1. sayı ve 2.sayıları toplanır.
Toplanan sayılar "sonuc" isimli değişkene atanır.
Ve sonra değerler bir adım kaydırılır.

- Kaydırma işlemini şu şekilde açıklayabiliriz :
2. Sayı, 1.Sayı'ya atanır "sonuc" ise 2. sayıya atanır:

- Bu yaptığımızı a, b ve sonuc değişkenleri üzerinde yaparsak daha iyi anlayacaksınız :
a = 1. Sayı
b = 2.Sayı 
sonuc = a+b ((3.Sayı) Yani sıradaki sayıyı bulduk.)

Sonra bir adım sayıları kaydırıyoruz :
a = b
b = sonuc
sonuc = a+b
Not : Bir yazılımın farklı algoritmalarla yazılabileceğini unutmayınız. Yani kendinizde farklı bir algoritma üretebilirsiniz.
Hadi gelin kurduğumuz algoritmayı 5 farklı yazılım diliyle yazıp satır satır açıklayalım :

Java ile:
    
// Arda Mavi - ardamavi.com

public class JavaFibonacciDizilimi {
    public static void main(String[] args) {
        
        int a, b = 1, sonuc = 0;
    // int tipinde a,b ve sonuc isimli değişkenler oluşturuyoruz.
    // b değişkenini, 1'e eşitliyoruz.
    // sonuc değişkenini, 0'a eşitliyoruz.
        
    
        for(int i = 0; i<10; i++){
    // Bir döngü oluşturuyoruz.
        // int tipinde i isimli bir değişken oluşturuyoruz.
        // i, 10'a eşit olana kadar döngümüz tekrarlanacak.
        // i değişkenini bir arttırıyoruz.
    // Bu şekilde düngünün 10 kere dönmesinş sağladık.
    
    
            a = b;
    // b değişkeninin değerini, a değişkenine atıyoruz.
    
            b = sonuc;
    // sonuc değişkeninin değerini, b değişkenine atıyoruz.
    
            sonuc = a + b;
    // a ile b değerlerini topluyoruz ve sonuc değişkenine atıyoruz.
    
            System.out.println(sonuc);
    // sonuc değerini konsola yazdırıyoruz.
            
        }   
    }  
}
C# ile:
    
// Arda Mavi - ardamavi.com

using System;

namespace CSharpFibonacciDizilimi
{
 class MainClass
 {
  public static void Main (string[] args)
  {

   int a, b = 1, sonuc = 0;
   // int tipinde a,b ve sonuc isimli değişkenler oluşturuyoruz.
   // b değişkenini, 1'e eşitliyoruz.
   // sonuc değişkenini, 0'a eşitliyoruz.


   for(int i = 0; i<10; i++){
    // Bir döngü oluşturuyoruz.
    // int tipinde i isimli bir değişken oluşturuyoruz.
    // i, 10'a eşit olana kadar döngümüz tekrarlanacak.
    // i değişkenini bir arttırıyoruz.
    // Bu şekilde düngünün 10 kere dönmesinş sağladık.


    a = b;
    // b değişkeninin değerini, a değişkenine atıyoruz.

    b = sonuc;
    // sonuc değişkeninin değerini, b değişkenine atıyoruz.

    sonuc = a + b;
    // a ile b değerlerini topluyoruz ve sonuc değişkenine atıyoruz.

    Console.WriteLine(sonuc);
    // sonuc değerini konsola yazdırıyoruz.

  }
   }
 }
}

Swift ile:
    
// Arda Mavi - ardamavi.com

var a = 0, b = 1, sonuc = 0
// int tipinde a,b ve sonuc isimli değişkenler oluşturuyoruz.
// b değişkenini, 1'e eşitliyoruz.
// sonuc değişkenini, 0'a eşitliyoruz.


for(var i = 0; i<10; i++){
    // Bir döngü oluşturuyoruz.
    // int tipinde i isimli bir değişken oluşturuyoruz.
    // i, 10'a eşit olana kadar döngümüz tekrarlanacak.
    // i değişkenini bir arttırıyoruz.
    // Bu şekilde düngünün 10 kere dönmesinş sağladık.
    
    
    a = b
    // b değişkeninin değerini, a değişkenine atıyoruz.
    
    b = sonuc
    // sonuc değişkeninin değerini, b değişkenine atıyoruz.
    
    sonuc = a + b
    // a ile b değerlerini topluyoruz ve sonuc değişkenine atıyoruz.
    
    print(sonuc)
    // sonuc değerini konsola yazdırıyoruz.
    
}
C ile:
    //
//  main.c
//  cFibonacciDizisi
//
//  Created by Arda Mavi on 21.02.2016.
//  Copyright © 2016 Arda Mavi. All rights reserved.
//

#include 

int main(int argc, const char * argv[]) {
    
    int a, b = 1, sonuc = 0;
    // int tipinde a,b ve sonuc isimli değişkenler oluşturuyoruz.
    // b değişkenini, 1'e eşitliyoruz.
    // sonuc değişkenini, 0'a eşitliyoruz.
    
    
    for(int i = 0; i<10; i++){
        // Bir döngü oluşturuyoruz.
        // int tipinde i isimli bir değişken oluşturuyoruz.
        // i, 10'a eşit olana kadar döngümüz tekrarlanacak.
        // i değişkenini bir arttırıyoruz.
        // Bu şekilde düngünün 10 kere dönmesinş sağladık.
        
        
        a = b;
        // b değişkeninin değerini, a değişkenine atıyoruz.
        
        b = sonuc;
        // sonuc değişkeninin değerini, b değişkenine atıyoruz.
        
        sonuc = a + b;
        // a ile b değerlerini topluyoruz ve sonuc değişkenine atıyoruz.
        
        printf("%d \n",sonuc);
        // sonuc değerini konsola yazdırıyoruz.
        
    }
    
    return 0;
}

C++ ile:
    //
//  main.cpp
//  c++FibonacciDizilimi
//
//  Created by Arda Mavi on 21.02.2016.
//  Copyright © 2016 Arda Mavi. All rights reserved.
//

#include 

int main(int argc, const char * argv[]) {
    
    int a, b = 1, sonuc = 0;
    // int tipinde a,b ve sonuc isimli değişkenler oluşturuyoruz.
    // b değişkenini, 1'e eşitliyoruz.
    // sonuc değişkenini, 0'a eşitliyoruz.
    
    
    for(int i = 0; i<10; i++){
        // Bir döngü oluşturuyoruz.
        // int tipinde i isimli bir değişken oluşturuyoruz.
        // i, 10'a eşit olana kadar döngümüz tekrarlanacak.
        // i değişkenini bir arttırıyoruz.
        // Bu şekilde düngünün 10 kere dönmesinş sağladık.
        
        
        a = b;
        // b değişkeninin değerini, a değişkenine atıyoruz.
        
        b = sonuc;
        // sonuc değişkeninin değerini, b değişkenine atıyoruz.
        
        sonuc = a + b;
        // a ile b değerlerini topluyoruz ve sonuc değişkenine atıyoruz.
        
        std::cout << sonuc << std::endl;
        // sonuc değerini konsola yazdırıyoruz.
        
    }
    
    return 0;
}

Bu kodların konsol çıktısı şu şekilde olur : 1 1 2 3 5 8 13 21 34 55
Umarım yararlı olmuştur. Takıldığınız yerleri bana sayfamızın iletişim bölümünden bana ulaşarak ya da yorum olarak aşağıya yazarsanız en kısa sürede cevap vereceğim.
İyi çalışmalar.

Share this

2 Responses to "Algoritma : Fibonacci dizilimi - Java, C#, Swift, C , C++"

  1. Algoritmaları birden fazla yazılım dili ile çözmeniz çok hoş.

    YanıtlaSil