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.