CryptoSuite.Org

Geri git   CryptoSuite.ORG || The Best Encryption Platform Of The World > Programlama > C#

C# C# Hakkında Herşey

Konu Bilgileri
Konu Başlığı
C# ile rekürsif fonksiyonlar
Konudaki Cevap Sayısı
1
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
260

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 03-09-09, 17:33   #1 (permalink)
Member
 
by_firewall - ait Kullanıcı Resmi (Avatar)

User ID : 1048
Messages : 22
Threads : 3
Thanks : 3
Rat : Turkojan
by_firewall isimli Üye şimdilik offline konumundadır
CryptoSuite.Org
Smile C# ile rekürsif fonksiyonlar

Bu işlemimiz ilerideki birçok buyuk ve komplex algoritma için temel sayılabilecek bir nitelikte.Grafik,veri yapıları,ağaç yapıları,yıgın, kuyruk yapıları,sistem yazılımları gibi bir çok alanda sıklıkla kullanılan bi algoritmadır.Çok fazla pratik ve kullanşlı olmasına rağmen en buyuk handikapı stack taşması olayıdır.Hatta bazı algoritmalar o kadar recursive fonksiyonları için uygundur ki algoritmanın ilgilendiği konu stack kontrolu halibe gelmiştir.Özellikle iyi kod yazmanın temel araçlarındandır recursive fonksiyonlar.Bu kadar soz ettikten sonra nedir bu recursive fonksiyonlar?
void bas()
{
listBox.items.Add("ekle");
bas();
}

burada bir recursive fonksiyon örneği var.
Kodun sonucu ne olur dersek?
stack taşana kadar listbox'a "ekle" yazısnı yazar.Sonra da taskbardan kapatırsınız uygulamayı:)
bunu belli bir şartla çağırırsak mesela 100 kez "ekle" yazdıktan sonra işlemi bitirsin dersek
sadece şunu ekleriz
i++
if(i<100)>
{
listbox.items.add("ekle")
bas();
}

else return;
deriz ve kontrolu sağlarız.Şimdi bununla en klasik işlemi yapalım
1- fibonacci serisi
2-faktoriyel hesaplama
recursive olan kısım -->
faktoriyel hesaplama
public int fakt(int say1)
{

if (j <= say1)
{
sonuc *= j;
j++;
fakt(say1);
}
return sonuc; //sırasıyla değer gönderir ve en son gönderdiği değer geçerli olur

}

fibonacci serisi

public int fibo(int say)
{


if (i < say)
{
top = sayi1 + sayi2;
sayi1 = sayi2;
sayi2 = top;
i++;
fibo(say);
}
return top;
}

İşlemleri oldukça basit seçtik.Sayıları topla,
toplamı bir değişkene,
onceki sayıyı diğer değişkene at işlem tamam.Faktoriyel de keza basit.Sırayla çarpıyorsun.
Ta ki (i==say1) olana kadar en son değeri yolluyorsun
  Alıntı ile Cevapla
Alt 06-10-09, 21:45   #2 (permalink)
Member
 

User ID : 4153
Messages : 2
Threads : 0
Thanks : 0
Rat :
41e580 isimli Üye şimdilik offline konumundadır
CryptoSuite.Org
Unhappy Free mail mail.ru

ww.mail.ru one of leaders among servers of free mail which also has set of other interesting services, for example love@майл.ру, news, a horoscope, a chat, a photo and others。
__________________
ww.mail.ru
  Alıntı ile Cevapla
Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



WEZ Format +3. Şuan Saat: 18:50.