Junior — Middle
Тавзеҳ диҳед, ки истифодаи функсияҳои рекурсив дар барномасозӣ чӣ маъно дорад ва онҳо чӣ гуна кор мекунанд.
sobes.tech AI
Ҷавоб аз AI
Функсияи рекурсивӣ — ин функсияест, ки худро барои ҳалли вазифа даъват мекунад. Дар барномасозӣ, рекурсия барои тақсим кардани вазифаи мураккаб ба вазифаҳои хурдтар ва оддӣ аз ҳамин навъ истифода мешавад.
Принсипи кор:
- Функсия худро бо аргументи тағирёфта даъват мекунад, то ҳалли онро ба ҳолати асосӣ наздиктар кунад.
- Ҳолати асосӣ шарте аст, ки дар он рекурсия қатъ мешавад, то аз даъватҳои беохир пешгирӣ шавад.
Масалан дар Go — ҳисоб кардани факториали як адад:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1 // ҳолати асосӣ
}
return n * factorial(n-1) // даъвати рекурсивӣ
}
func main() {
fmt.Println(factorial(5)) // 120
}
Рекурсия барои кор бо дарахтҳо, графҳо, тақсим кардани вазифаҳо, хеле қулай аст, аммо эҳтиёт кардан лозим, ки аз пуршавии стек пешгирӣ шавад.