Junior — Middle
Тавзеҳ диҳед дар бораи консепсияи даъватҳои рекурсивӣ дар барномасозӣ
sobes.tech AI
Ҷавоб аз AI
Давраи такрорӣ — ин вақте аст, ки функсия худро барои ҳалли вазифа даъват мекунад. Одатан, такроркорӣ барои тақсим кардани вазифаи мураккаб ба вазифаҳои оддитаре, ки аз ҳамин навъ ҳастанд, истифода мешавад.
Масалан: ҳисоб кардани факториали рақам n (n!) — зарб кардани ҳамаи рақамҳо аз 1 то n.
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
Ин ҷо, функсияи factorial худро бо аргументи камтар даъват мекунад, то ки ба ҳолати асосӣ (n == 0 ё 1) расад, пас оғоз мекунад ба баргардондани натиҷаҳо дар зери занҷираи даъватҳо.
Муҳим аст, ки функсияи рекурсивӣ ҳолати асосӣ дошта бошад, вагарна даъватҳо беохир хоҳанд буд ва ба пуршавии стек оварда мерасонанд.