Module: (Python) Alt programlar. özyineleme


Problem

1/12

özyineleme. Bu nedir?

Theory Click to read/hide

Yineleme

Bir prosedür veya işlev, içindeki başka bir prosedüre çağrı içerebilir. Dahil olmak üzere, alt program kendisini arayabilir. Bu durumda, bilgisayar umursamıyor. Ayrıca, her zaman olduğu gibi, yukarıdan aşağıya tanıştığı komutları tutarlı bir şekilde yürütür.

Matematiği hatırlarsanız, orada matematiksel tümevarım ilkesi ile tanışabilirsiniz. Aşağıdaki gibidir:
bazı ifadeler her doğal n için doğrudur, eğer
    1. n = 1 ve
için geçerlidir     2. Herhangi bir keyfi doğal n = k için ifadenin geçerliliğinden bunun, n = k + 1 için doğru olduğu sonucu çıkar.

Programlamada bu tekniğe yineleme
denir.  
Özyineleme verilenlere dayalı olarak, kümenin kendisi açısından bir nesne kümesini tanımlamanın bir yoludur. basit temel durumlar.

Tekrarlı kendini doğrudan veya diğer prosedürler ve işlevler aracılığıyla çağıran bir prosedürdür (işlev).
 
Örnek
def Rec(a):
    eğer (a>0): Rec(a-1)
    baskı(a)

Şematik olarak, özyineleme işi bir akış şeması ile temsil edilebilir



Rec() prosedürü parametre 3 ile yürütülür.Ardından, parametre 3 ile prosedür içinde, parametre 2 ile prosedür çağrılır ve bu, parametre 0 ile prosedür çağrılıncaya kadar devam eder.0 parametresi ile prosedür çağrıldığında, özyinelemeli çağrı artık gerçekleşmeyecek ve 0 parametreli prosedür 0 sayısını yazdıracak ve çıkacaktır. Daha sonra kontrol 1 parametresi ile prosedüre geri aktarılır, o da 1 sayısını yazdırarak işini bitirir ve bu böyle devam eder. parametre 3 ile prosedürden önce. 

Çağrılan tüm prosedürler, işlerini tamamlayana kadar hafızada saklanır. Eşzamanlı prosedürlerin sayısı yineleme derinliği olarak adlandırılır.
 

Problem

Ayrıştırılmış prosedürü kullanarak, gerekli satırları ana programa ekleyin.
Programın neden böyle bir yanıt verdiğini anlayın.