Video: Jabbar - Canımsın Sen 2024
Özyineleme , programlamayla ilgili sık sık duyduğunuz büyük, korkunç bir kelimedir, özellikle de üniversitede öğrettikleri sinir bozucu programlama türü. Açıklamak kolay bir konsept olmasına rağmen, özyinelemenin nasıl çalıştığını anlamaya gelince gerçekten akıl karıştırıcıdır. Çoğu insan bunu kabul edip devam et. Burada değil!
Özyineleme temelde kendisini çağıran bir işlevin işlemidür. Örneğin:
stack pointer , bilgisayar sonunda çöker. Ancak bu sadece bir illüstrasyon.
recursion () işlevi
x
değerini kabul eder. Eğer x sıfıra eşitse, işlevi başarıyla tamamlar. Aksi takdirde, işlev tekrar çağırılır, ancak x değeri azaltılır. Azaltma önek operatörü kullanılır, böylece x değeri önce azaltılır, böylece çağrı yapılır.
belirli sayıda. Yani recursion () değeri 10 ile çağrılırsa, o metnin on kez görüntülendiğini görürsünüz. Özyineleme ile ilgili delice kısım, fonksiyonun kendisini sarmal içinde sanki gibi sıkı ve sıkı sararak aramaya devam etmesidir. Önceki örnekte, x == 1 koşulu, işlev bitene kadar giderek geriye doğru çekilen kıvrımlı karmaşayı çözer. Aşağıdaki kod örnek recursion () işlevini kullanarak tam bir programı gösterir.
#include void yineleme (int x); int main () {özyineleme (10); return (0);} boşluk özyinelemesi (int x) {if (x == 0) dönüş; else {puts ("Boop!"); Yineleme (- x);}}
Yinelemenin ortak bir gösterimi faktöryel bir işlevdir.
faktöriyel
, bir değeri pozitif tamsayısının her biriyle çarpmanın sonucudur. Örneğin: 4! = 4 × 3 × 2 × 1 Bu faktöriyelin sonucu 24'tür. Bilgisayar, bir döngü uygulayarak veya özyinelemeli bir işlev yaratarak bu hesaplamayı da yapabilir.İşte böyle bir işlev:
int factorial (int x) {if (x == 1) dönüş (x); else return (x * factorial (x-1));}
factorial () fonksiyonu diğer özyinelemeli fonksiyonlarda olduğu gibi çıkış koşulu içerir: x == 1. Aksi takdirde, işlev bir kez daha
x
değerinden biriyle çağrılır. Ancak tüm eylem dönüş değerleri ile gerçekleşir.