4.Ders : C Özyineleme (Recursion in C)

Hits: 210

image_pdfpdf indir

Bu derste, C programlamada özyinelemeli bir
fonksiyon yaratmayı öğreneceksiniz.

İçindekiler :
özyineleme
Özyineleme nasıl çalışır?
Örnek: Özyinelemeyi Kullanan Doğal Sayıların Toplamı
Özyinelemenin Avantajları ve Dezavantajları

Kendisini çağıran bir fonksiyon özyinelemeli fonksiyon olarak bilinir. Ve bu teknik özyineleme olarak bilinir.

Özyineleme nasıl çalışır?

void recurse()
{
    ... .. ...
    recurse();
    ... .. ...
}

int main()
{
    ... .. ...
    recurse();
    ... .. ...
}

Özyineleme, bunu önlemek için bir koşul sağlanana kadar devam eder.

Örnek: Özyinelemeyi Kullanan Doğal Sayıların Toplamı

#include <stdio.h>
int sum(int n);

int main()
{
    int number, result;

    printf("pozitif bir tamsayı girin: ");
    scanf("%d", &number);

    result = sum(number);

    printf("Toplam = %d", result);
    return 0;
}

int sum(int num)
{
    if (num!=0)
        return num + sum(num-1); // sum() function calls itself
    else
        return num;
}

Çıktısı :

pozitif bir tamsayı girin:3
Toplam = 6

Başlangıçta, sum() fonksiyonu argüman olarak iletilen sayı ile birlikte main() fonksiyonundan çağrılır.

Farz edelim ki num değeri başlangıçta 3’tür. Bir sonraki işlev çağrısı sırasında 2 , sum() fonksiyonuna iletilir. Bu işlem, num 0’a eşit olana kadar devam eder.

Num 0’a eşit olduğunda, if koşulu başarısız olur ve diğer kısım tamsayıların toplamını main () işlevine döndürerek yürütülür.

Özyinelemenin Avantajları ve Dezavantajları
Özyineleme, programı zarif ve daha okunaklı hale getirir. Ancak, projenizde performans daha önemli ise, özyineleme genellikle daha yavaş olduğu için döngüler kullanın.

Her özyinelemenin bir döngü olarak modellenebileceğini unutmayın.

Performansa ihtiyacınız var ise , döngüler kullanın, ancak kod bazen okunması zor ve çirkin görünebilir. Daha şık ve okunabilir koda ihtiyacınız var ise özyinelemeyi kullanın, ancak biraz performansdan ödün veriyorsunuz bunu da unutmayın.

Daha fazla bilgi edinmek için bu örnekleri inceleyin:

Özyineleme kullanarak Doğal Sayıların Toplamını Bulmak için C Programı

Özyineleme Kullanarak Sayının Faktörünü Bulmak için C Programı

Özyineleme kullanarak OBEB bulmak için C programı