Algoritma ve Programlama Dünyası — Uygulama 3

Turhan Can Kargın
Kodcular
Published in
2 min readJul 28, 2023

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 :)

Photo by Ludde Lorentz on Unsplash

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!

--

--