‘Reqursion’ Etiket Arşivi

Nedir bu Reqursive(Özyinelemeli fonksiyon) , ne işe yarar, nerede kullanabiliriz ?

// 15 Mayıs 2009 // Yorum Yok » // Delphi, Programlama

Reqursive fonksiyon kendi kendisini çağıran fonksiyonlara verilen genel addır. Alt alta hiyerarşik yapılarda yada içinden çıkılması zor bazı matematiksel hesaplamalarda çok kullanışlı bir yapıdır.Örneğin en bilinen örneği faktoriyel hesabıdır.Bilindiği üzere faktöriyel hesabı birbirini takip eden sayıların çarpımları ile yapılmaktadır ve ünlem (!) işareti ile ifade edilir. Örneğin 3 faktöriyel (3!) = 1 * 2 * 3 = 6 dır.
5! = 1 * 2 * 3 * 4 * 5 = 120 dir. Gelin bu faktöriyel hesabını yapabilen bir fonksiyonun Delphi’de ne kadar kolay kodlanabildiğine hep beraber göz atalım.

function Factoriel(Value : Smallint) : Longint;
begin
  if Value < = 1
  then Result := 1
  else Result := Value * Factoriel(Value - 1);
end;

İlginç bir kullanım öyle değil mi ? Fonksiyonun çalışma prensibine bir göz atalım. Diyelim ki Factoriel(1) biçiminde çağırdınız o zaman fonksiyon 1 değerini döndürüyor ve fonksiyondan çıkıyor. Diyelim ki Factoriel(5) biçiminde çağırdınız o zaman fonksiyonumuz şu hali alıyor:
(more…)