Prednáška 3 | Základy algoritmizácie a programovania (2021/2022)
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 predstavuje koncept rekurzie prostredníctvom Robota Karla, keďže pri práci s ním nie je dovolené používať premenné. Ako ilustračný príklad slúži generovanie Fibonacciho postupnosti, kde každé ďalšie číslo vzniká ako súčet dvoch predchádzajúcich. Robot postupne kladie značky do riadku a pomocou pomocných funkcií ako PutFibonacciNumber, MoveBack a CopyBeepers kopíruje počty značiek z predchádzajúcich pozícií. Kľúčovou časťou je funkcia CopyBeepers, ktorá volá samu seba, pričom zakaždým zodvihne jednu značku, skontroluje podmienkou if, či zostávajú ďalšie, a ak áno, rekurzívne pokračuje. Zdôrazňuje sa nutnosť jasne definovanej ukončovacej podmienky rekurzie, aby volania funkcie neboli nekonečné.
- - Posledná prednáška venovaná Robotovi Karlovi pred prechodom na jazyk C od 5. týždňa
- - Rekurzia ako spôsob riešenia problému definovaný pomocou samej seba, nutný pri zákaze premenných
- - Fibonacciho postupnosť ako demonštračný príklad (každé číslo = súčet dvoch predchádzajúcich)
- - Funkcia PutFibonacciNumber využíva MoveBack a dvojité CopyBeepers na zostavenie súčtu
- - CopyBeepers rekurzívne zodvíha a kladie značky, kým podmienka BeepersPresent nie je splnená
- - Každé rekurzívne volanie funkcie je samostatné a zaberá miesto v pamäti
- - Kritický je jasne definovaný ukončovací stav rekurzie, inak hrozí nekonečné volanie
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky