Merhaba, C# Recursive Metot Nasıl Kullanılır? yazım ile genellikle okullarda anlatılan ve sınavlarda sorulan bir konu olan recursive yani kendini çağıran metot konusunu anlatmak istedim. Bir bakıma döngü amacı ile kullanılan bu işlemi şahsen ben hiç kullanmadım. Geçenlerde bir tanıdığım bu konuda yardım istemişti ve bilmediğimi o zaman fark etmiştim. Biraz araştırma yapınca tabi ki öğrendim ve bu konu ile ilgili yazı yazmak istedim.
C# Recursive Metot Nasıl Kullanılır?
Recursive metot yani kendini çağıran metot tam çevirisi için öz yinelemeli metot bir şart sağlanana kadar kendisini çağıran metotlardır. Bu konuyu daha önce hiç anlatmamıştım. Kısa bir konu ama okullarda anlatılan bir konudur. Sadece okullarda anlatılan bir konu olmasının dışında genellikle faktöriyel ve fibonacci gibi işlemleri yaparken sık kullanılan bir işlemdir.
Şimdi, az önce verdiğim örneklerin kodlarını görelim. Benim matematiksel işlemler adında bir projem vardı github’da bu konuları da oraya atacağım.
Faktoriyel Hesaplama
Formumuza üç label, iki textbox ve bir button ekliyoruz. Kodlar aşağıdaki gibidir.
using System; using System.Windows.Forms; namespace Matematiksel_Islemler_Projesi { public partial class faktoriyel : Form { public faktoriyel() { InitializeComponent(); } private void faktoriyel_Load(object sender, EventArgs e) { } int Faktoriyel_Hesaplama(int sayi) { if (sayi == 0) return 1; else return sayi * Faktoriyel_Hesaplama(sayi - 1); } private void button1_Click(object sender, EventArgs e) { try { label2.Text = Faktoriyel_Hesaplama(Convert.ToInt32(textBox1.Text)).ToString(); } catch { MessageBox.Show("Sayı Giriniz."); } } } }
Fibonacci Hesaplama
Formumuza üç label, bir button, iki textbox ekliyoruz. Kodlar aşağıdaki gibidir.
using System; using System.Windows.Forms; namespace Matematiksel_Islemler_Projesi { public partial class fibonacci : Form { public fibonacci() { InitializeComponent(); } private void fibonacci_Load(object sender, EventArgs e) { label3.Text = "Kaçıncı sıradaki fibonacci değerini görmek istiyorsunuz?"; } int Fibonacci_Hesapla(int sayi) { if (sayi < 1) return 0; else if (sayi == 1) return 1; else return Fibonacci_Hesapla(sayi - 1) + Fibonacci_Hesapla(sayi - 2); } private void button1_Click(object sender, EventArgs e) { textBox2.Text = ""; try { textBox2.Text += Fibonacci_Hesapla(Convert.ToInt32(textBox1.Text)).ToString() + Environment.NewLine; } catch { MessageBox.Show("Sayı Giriniz"); } } } }
Recursive metot kullanımı bu örneklerle görebilirsiniz.
C# Recursive Metot Nasıl Kullanılır? yazımda bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere.
Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz. C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız. Matematiksel işlemler için özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Ayrıca bu yazının PDF’ine buraya ve ya buraya tıklayarak ulaşabilirsiniz. Discord’a katılmayı unutmayın.
Sağlıcakla ve kodla kalın….