Recursion Dersi 1 - Seri Hesaplaması

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu makale ile Recursion konusuna devam ederek, matematiksel seri işlemlerinin nasıl hesaplayacağını görüp, 3 adet seri çözümü yapacağız.
Sizin için hazırladığım 3 adet seri denklemini öncelikle inceleyerek her 3 yapının çözümünü yapacak olan methodların da biribirleriyle hemen hemen aynı olduğunu sizler de göreceksiniz.

Buraya tıklayarak daha önce faktöriyel hesaplaması ile giriş yaptığımız recursion konusuna şimdi ise 3 adet seri çözümünü inceleyerek devam edeceğiz.
Bir önceki makalem de üzerinde durduğum konu da tekrar duruyorum. Bir uygulama yapmadan önce tasarlayacağımız algoritma için problemimizi çözüme ulaştırmalıyız.
Tekrar hatırlatmak istiyorum ki recursive methodlar kendini tekrarlamalıdır. Eğer geri dönüş yapan bir method yazıyorsak ki öyle yapacağız mutlaka return anahtar kelimesi kendini tekrar çağırmalıdır.
Recursif methodumuzu ikiye ayıralım. 1. Bölüm şart, 2. Bölüm ise işi yapacak kısımlar olsun. Şimdi hesaplamak istediğimiz 3 adet seriyi inceleyelim ;

Yapacağımız 3 örnek için de seri kuralını şekilde ki gibi vermiş bulunmaktayım. Şimdi uygulamamızı yazmak üzere Visual Studio IDE'lerimizi açalım.

 Windows Form uygulaması yaratmak üzere ismini de recursionSeriHesaplama yaparak OK diyelim.

 Form dizaynımızı şekildeki gibi yapalım ve kod tarafına geçelim.

 3 adet serimizi hesaplamak üzere 3 ayrı method yazdık.
1.Methodu inceleyecek olursak parametre olarak gelen değer 1den küçük ise 0, büyük ise 1.serimizin kuralına göre 1/sayi denklemini hesaplayarak parametre ile gelen değeri bir azaltarak geri yollayacaktır.
Örnek olarak 3 sayısı için 1. method;

1/3 + hesaplaSeri1(2);
1/3 + 1/2 + hesaplaSeri(1);
1/3 + 1/2 + 1/1 şeklinde olacaktır.

3 butona da işlemi yapacak olan methodu textBox dan aldığı parametre ile çağıracaktır.

Ekran görüntümüz ise resimdeki gibi olacaktır.
Bu makale ile recursion konusunu ve recursive methodları tekrar etmiş olduk. Her ne kadar algoritma karmaşıklığı büyük olup, verimsiz bir hesaplama methodu olsa da kısa ve anlaşılabilir olması tercih konusu olmasında büyük öneme sahip.

H.Burak TUNGUT
Bilgisayar Mühendisliği Öğrencisi
www.buraktungut.com

Yorum Bırak

Facebook
Son Yorumlar