Algoritma ve Programlama Dünyası — Uygulama 3
Merhaba sevgili okurlar! Algoritma ve Programlama Dünyası serisine hoş geldiniz. Bu serinin önceki yazısında JAVA dilini kullanarak ‘Girilen bir sayıyı tersten yazdırma’ uygulaması yapmıştık. Bu yazımızda ise Python dilinde bir uygulama yapacağız. Uygulamamızın adı ‘Recursion yöntemi ile Fibonacci Terimini Hesaplama’.
Problem Tanımı
Bu uygulamada, klavyeden alınan bir terim (n) sayısının Fibonacci sayı serisinde karşılık gelen sayıyı bulacağız. Fibonacci sayı serisi, her sayının kendisinden önce gelen iki sayının toplamı olduğu bir sayı serisidir. Örneğin, serinin ilk 8 terimi şu şekildedir: 1, 1, 2, 3, 5, 8, 13, 21. Bu uygulamada, klavyeden girilen bir terim sayısına (n) karşılık gelen Fibonacci sayısını bulacağız. Örneğin, 4. terim 3 ve 5. terim 5'tir.
Algoritma ve Python Kodu
Bu problemi çözmek için bir recursive (özyinelemeli) fonksiyon kullanacağız. Recursive fonksiyonlar, belirli bir koşul sağlanana kadar kendilerini tekrar çağıran fonksiyonlardır. Bu durumda, fonksiyonumuz kendisini 1. veya 2. terime ulaşana kadar tekrar çağıracak. Bu terimlerin her ikisi de 1 olduğu için, bu koşul sağlandığında fonksiyon 1 döndürecektir.
Python dilinde bu algoritmayı şu şekilde kodlayabiliriz:
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
n = int(input("Bir terim sayısı girin: "))
print("Fibonacci serisindeki {}. terim: {}".format(n, fibonacci(n)))
ÇIKTI:
Bir terim sayısı girin: 5
Fibonacci serisindeki 5. terim: 5
Bu kodda, fibonacci
adlı bir recursive fonksiyon tanımladık. Bu fonksiyon, gelen n
parametresinin 1 ya da 2 olup olmadığını kontrol eder. Eğer n
1 ya da 2 ise, fonksiyon 1 döndürür. Eğer n
1 ya da 2 değilse, fonksiyon kendisini n - 1
ve n - 2
parametreleriyle tekrar çağırır ve bu çağrıların sonuçlarını toplar.
Pseudocode ve Algoritma Akış Diyagramı
Bu uygulamanın pseudocode’u ve algoritma akış diyagramı şu şekildedir:
Pseudocode:
Fonksiyon fibonacci(n)
Eğer n == 1 veya n == 2 ise
Döndür 1
Değilse
Döndür fibonacci(n - 1) + fibonacci(n - 2)
n = kullanıcıdan girdi al
Yazdır "Fibonacci serisindeki {}. terim: {}".format(n, fibonacci(n))
Algoritma Akış Diyagramı:
Sonuç
Bu uygulama, Fibonacci sayı serisinde belirli bir terime karşılık gelen sayıyı bulmak için bir recursive fonksiyon kullanır. Bu fonksiyon, belirli bir koşul sağlanana kadar kendisini tekrar çağırır ve sonuç olarak belirli bir terime karşılık gelen Fibonacci sayısını döndürür.
Eğer bu yazıyı beğendiyseniz aşağıdaki alkışa istediğiniz kadar tıklayarak yazılarıma destek olabilirsiniz :)
Herhangi bir sorunuz olursa veya benimle iletişim kurmak isterseniz, tüm sosyal medya hesaplarım aşağıdaki linkte yer alıyor.
Ayrıca diğer blog yazılarımı aşağıda yer alan websitem üzerinden takip edebilirsiniz.
Bir sonraki yazıda görüşmek üzere!