Prednáška 3 | Základy algoritmizácie a programovania (2021/2022)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.