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 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 :Algoritması :
F(n) = F(n-1) + F(n)
1. sayı ve 2.sayıları toplanır.Not : Bir yazılımın farklı algoritmalarla yazılabileceğini unutmayınız. Yani kendinizde farklı bir algoritma üretebilirsiniz.
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
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. } } }
// 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. // #includeint 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. // #includeint 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 55Umarı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.
Algoritmaları birden fazla yazılım dili ile çözmeniz çok hoş.
YanıtlaSilBeğenmenize sevindim.
Sil