PROG1 prednaska 5
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška úvodom upozorňuje, že rekurziu treba riešiť bez globálnych premenných, ktoré znižujú čitateľnosť programu a hrozí ich nechcené prepísanie. Rekurzia je jav, keď funkcia volá samu seba, a je užitočným nástrojom pri návrhu algoritmov. Každá rekurzívna funkcia musí obsahovať rekurzívne volanie aj ukončujúcu podmienku, čo prednášajúci ukazuje na funkcii odpočítavanie. Pomocnými výpismi demonštruje vnáranie volaní: volanie s väčším argumentom čaká, kým skončí vnorené volanie s menším argumentom, a príkazy za rekurzívnym volaním sa vykonajú až neskôr. Bez ukončujúcej podmienky sa funkcia zacyklí, až kým Python nedosiahne maximálnu hĺbku vnárania (predvolene 1000). Na záver sa prechádza k funkcii faktoriál, ktorá robí študentom najväčšie problémy.
- - Rekurzia je situácia, keď funkcia volá samu seba.
- - Rekurzívne úlohy sa majú riešiť bez globálnych premenných.
- - Rekurzívna funkcia obsahuje rekurzívne volanie a ukončujúcu podmienku.
- - Volanie funkcie čaká na dokončenie vnoreného volania, takže sa končia od najhlbšieho po najvyššie.
- - Python má predvolený limit hĺbky vnárania 1000, dá sa zvýšiť.
- - Chýbajúca ukončujúca podmienka vedie k nekonečnému vnáraniu.
- - Na cvičení sa rekurzia použije pri úlohe Hanojské veže.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky