Sobes.tech
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) расад, пас оғоз мекунад ба баргардондани натиҷаҳо дар зери занҷираи даъватҳо.

Муҳим аст, ки функсияи рекурсивӣ ҳолати асосӣ дошта бошад, вагарна даъватҳо беохир хоҳанд буд ва ба пуршавии стек оварда мерасонанд.